@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/workflow/CommentSystem/CommentSystem.types.ts","../src/components/workflow/CommentSystem/CommentSystem.variants.ts","../src/components/workflow/CommentSystem/CommentSystem.tsx"],"names":[],"mappings":";;;;;;;;;;AAkGO,IAAM,gBAAA,GAA+B;AAAA,EAC1C,EAAE,KAAA,EAAO,WAAA,EAAM,KAAA,EAAO,QAAA,EAAU,WAAW,UAAA,EAAW;AAAA,EACtD,EAAE,KAAA,EAAO,cAAA,EAAM,KAAA,EAAO,MAAA,EAAQ,WAAW,OAAA,EAAQ;AAAA,EACjD,EAAE,KAAA,EAAO,WAAA,EAAM,KAAA,EAAO,MAAA,EAAQ,WAAW,OAAA,EAAQ;AAAA,EACjD,EAAE,KAAA,EAAO,WAAA,EAAM,KAAA,EAAO,UAAA,EAAY,WAAW,MAAA,EAAO;AAAA,EACpD,EAAE,KAAA,EAAO,WAAA,EAAM,KAAA,EAAO,WAAA,EAAa,WAAW,UAAA,EAAW;AAAA,EACzD,EAAE,KAAA,EAAO,WAAA,EAAM,KAAA,EAAO,SAAA,EAAW,WAAW,MAAA;AAC9C;ACpGO,IAAM,qBAAA,GAAwB,GAAA;AAAA,EACnC,6CAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,EAAA;AAAA,QACT,QAAA,EAAU,EAAA;AAAA,QACV,MAAA,EAAQ,6BAAA;AAAA,QACR,OAAA,EAAS;AAAA,OACX;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,qBAAA;AAAA,QACN,IAAA,EAAM,qBAAA;AAAA,QACN,QAAA,EAAU;AAAA;AACZ,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,MAAA,EAAQ;AAAA;AACV;AAEJ;AAKO,IAAM,mBAAA,GAAsB,GAAA;AAAA,EACjC,sCAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,+BAAA;AAAA,QACN,IAAA,EAAM,mCAAA;AAAA,QACN,QAAA,EAAU;AAAA,OACZ;AAAA,MACA,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,EAAA;AAAA,QACN,KAAA,EAAO;AAAA,OACT;AAAA,MACA,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,qCAAA;AAAA,QACN,KAAA,EAAO;AAAA,OACT;AAAA,MACA,SAAA,EAAW;AAAA,QACT,IAAA,EAAM,YAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB;AAAA,QACE,MAAA,EAAQ,MAAA;AAAA,QACR,KAAA,EAAO,IAAA;AAAA,QACP,SAAA,EAAW;AAAA,OACb;AAAA,MACA;AAAA,QACE,MAAA,EAAQ,MAAA;AAAA,QACR,KAAA,EAAO,KAAA;AAAA,QACP,SAAA,EAAW;AAAA;AACb,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,MAAA,EAAQ,MAAA;AAAA,MACR,KAAA,EAAO,KAAA;AAAA,MACP,QAAA,EAAU,KAAA;AAAA,MACV,SAAA,EAAW;AAAA;AACb;AAEJ;AAKO,IAAM,qBAAA,GAAwB,GAAA;AAAA,EACnC,yBAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,EAAA;AAAA,QACN,IAAA,EAAM,EAAA;AAAA,QACN,QAAA,EAAU;AAAA;AACZ,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,MAAA,EAAQ;AAAA;AACV;AAEJ;AAKO,IAAM,sBAAA,GAAyB,GAAA;AAAA,EACpC,SAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,MAAA;AAAA,QACN,IAAA,EAAM,EAAA;AAAA,QACN,QAAA,EAAU;AAAA;AACZ,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,MAAA,EAAQ;AAAA;AACV;AAEJ;AAKO,IAAM,sBAAA,GAAyB,GAAA;AAAA,EACpC,iCAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,iCAAA;AAAA,QACN,IAAA,EAAM,MAAA;AAAA,QACN,QAAA,EAAU;AAAA;AACZ,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,MAAA,EAAQ;AAAA;AACV;AAEJ;AAKO,IAAM,sBAAA,GAAyB,GAAA;AAAA,EACpC,UAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,qBAAA;AAAA,QACN,IAAA,EAAM,qBAAA;AAAA,QACN,QAAA,EAAU;AAAA;AACZ,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,MAAA,EAAQ;AAAA;AACV;AAEJ;AAKO,IAAM,yBAAA,GAA4B,GAAA;AAAA,EACvC,6DAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,EAAA;AAAA,QACN,IAAA,EAAM,QAAA;AAAA,QACN,QAAA,EAAU;AAAA;AACZ,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,MAAA,EAAQ;AAAA;AACV;AAEJ;AAKO,IAAM,sBAAA,GAAyB,GAAA;AAAA,EACpC,kFAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,KAAA,EAAO;AAAA,QACL,OAAA,EAAS,4BAAA;AAAA,QACT,MAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,KAAA,EAAO;AAAA;AACT;AAEJ;AAKO,IAAM,uBAAA,GAA0B,GAAA;AAAA,EACrC,yGAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,8CAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,UAAA,EAAY;AAAA;AACd;AAEJ;AAKO,IAAM,6BAAA,GAAgC,GAAA;AAAA,EAC3C,sEAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,SAAA,EAAW;AAAA,QACT,IAAA,EAAM,gCAAA;AAAA,QACN,KAAA,EAAO;AAAA,OACT;AAAA,MACA,YAAA,EAAc;AAAA,QACZ,IAAA,EAAM,gCAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,SAAA,EAAW,KAAA;AAAA,MACX,YAAA,EAAc;AAAA;AAChB;AAEJ;AAKO,IAAM,0BAAA,GAA6B,GAAA;AAAA,EACxC,mFAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,QAAA,EAAU;AAAA,QACR,KAAA,EAAO,kBAAA;AAAA,QACP,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,QAAA,EAAU;AAAA;AACZ;AAEJ;AAKO,IAAM,6BAAA,GAAgC,GAAA;AAAA,EAC3C,yFAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,kCAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,UAAA,EAAY;AAAA;AACd;AAEJ;AAKO,IAAM,yBAAA,GAA4B,GAAA;AAAA,EACvC,2DAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,EAAA;AAAA,QACT,OAAA,EAAS;AAAA;AACX,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ;AAKO,IAAM,6BAAA,GAAgC,GAAA;AAAA,EAC3C,qGAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,OAAA,EAAS,4BAAA;AAAA,QACT,MAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,MAAA,EAAQ;AAAA;AACV;AAEJ;ACnPA,SAAS,YAAY,IAAA,EAAsB;AACzC,EAAA,OAAO,KACJ,KAAA,CAAM,GAAG,EACT,GAAA,CAAI,CAAC,SAAS,IAAA,CAAK,CAAC,CAAC,CAAA,CACrB,KAAK,EAAE,CAAA,CACP,aAAY,CACZ,KAAA,CAAM,GAAG,CAAC,CAAA;AACf;AAKA,SAAS,mBAAmB,IAAA,EAAoB;AAC9C,EAAA,MAAM,GAAA,uBAAU,IAAA,EAAK;AACrB,EAAA,MAAM,MAAA,GAAS,GAAA,CAAI,OAAA,EAAQ,GAAI,KAAK,OAAA,EAAQ;AAC5C,EAAA,MAAM,QAAA,GAAW,IAAA,CAAK,KAAA,CAAM,MAAA,GAAS,GAAI,CAAA;AACzC,EAAA,MAAM,QAAA,GAAW,IAAA,CAAK,KAAA,CAAM,QAAA,GAAW,EAAE,CAAA;AACzC,EAAA,MAAM,SAAA,GAAY,IAAA,CAAK,KAAA,CAAM,QAAA,GAAW,EAAE,CAAA;AAC1C,EAAA,MAAM,QAAA,GAAW,IAAA,CAAK,KAAA,CAAM,SAAA,GAAY,EAAE,CAAA;AAE1C,EAAA,IAAI,QAAA,GAAW,IAAI,OAAO,OAAA;AAC1B,EAAA,IAAI,WAAW,EAAA,EAAI,OAAO,CAAA,EAAG,MAAA,CAAO,QAAQ,CAAC,CAAA,UAAA,CAAA;AAC7C,EAAA,IAAI,YAAY,EAAA,EAAI,OAAO,CAAA,EAAG,MAAA,CAAO,SAAS,CAAC,CAAA,UAAA,CAAA;AAC/C,EAAA,IAAI,WAAW,CAAA,EAAG,OAAO,CAAA,EAAG,MAAA,CAAO,QAAQ,CAAC,CAAA,UAAA,CAAA;AAE5C,EAAA,OAAO,KAAK,kBAAA,EAAmB;AACjC;AAKA,SAAS,YAAA,CACP,OAAA,EACA,gBAAA,EACA,cAAA,EACW;AACX,EAAA,IAAI,CAAC,SAAS,OAAO,IAAA;AAGrB,EAAA,MAAM,cAAA,GAAiB,SAAA;AACvB,EAAA,MAAM,QAAqB,EAAC;AAC5B,EAAA,IAAI,SAAA,GAAY,CAAA;AAChB,EAAA,IAAI,KAAA;AAEJ,EAAA,OAAA,CAAQ,KAAA,GAAQ,cAAA,CAAe,IAAA,CAAK,OAAO,OAAO,IAAA,EAAM;AAEtD,IAAA,IAAI,KAAA,CAAM,QAAQ,SAAA,EAAW;AAC3B,MAAA,KAAA,CAAM,KAAK,OAAA,CAAQ,KAAA,CAAM,SAAA,EAAW,KAAA,CAAM,KAAK,CAAC,CAAA;AAAA,IAClD;AAEA,IAAA,MAAM,WAAA,GAAc,MAAM,CAAC,CAAA;AAC3B,IAAA,MAAM,OAAO,gBAAA,EAAkB,IAAA;AAAA,MAC7B,CAAC,CAAA,KAAM,CAAA,CAAE,IAAA,CAAK,WAAA,EAAY,CAAE,UAAA,CAAW,MAAA,EAAQ,EAAE,CAAA,KAAM,WAAA,EAAa,WAAA;AAAY,KAClF;AAEA,IAAA,KAAA,CAAM,IAAA;AAAA,sBACJ,IAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UAEC,WAAW,sBAAA,EAAuB;AAAA,UAClC,IAAA,EAAK,QAAA;AAAA,UACL,QAAA,EAAU,CAAA;AAAA,UACV,SAAS,MAAM;AAAyC,UAAE,CAAA;AAAA,UAC1D,SAAA,EAAW,CAAC,CAAA,KAAM;AAChB,YAAA,IAAA,CAAK,EAAE,GAAA,KAAQ,OAAA,IAAW,CAAA,CAAE,GAAA,KAAQ,QAAQ,IAAA,EAAM;AAElD,UACF,CAAA;AAAA,UACD,QAAA,EAAA;AAAA,YAAA,GAAA;AAAA,YACG;AAAA;AAAA,SAAA;AAAA,QAXG,KAAA,CAAM;AAAA;AAYb,KACF;AAEA,IAAA,SAAA,GAAY,KAAA,CAAM,KAAA,GAAQ,KAAA,CAAM,CAAC,CAAA,CAAE,MAAA;AAAA,EACrC;AAGA,EAAA,IAAI,SAAA,GAAY,QAAQ,MAAA,EAAQ;AAC9B,IAAA,KAAA,CAAM,IAAA,CAAK,OAAA,CAAQ,KAAA,CAAM,SAAS,CAAC,CAAA;AAAA,EACrC;AAEA,EAAA,OAAO,KAAA,CAAM,MAAA,GAAS,CAAA,GAAI,KAAA,GAAQ,OAAA;AACpC;AAKA,SAAS,YAAA,CAAa;AAAA,EACpB,WAAA,GAAc,6BAAA;AAAA,EACd,aAAA,GAAgB,IAAA;AAAA,EAChB,gBAAA,GAAmB,KAAA;AAAA,EACnB,mBAAmB,EAAC;AAAA,EACpB,QAAA;AAAA,EACA,cAAA,GAAiB,EAAA;AAAA,EACjB,WAAA,GAAc,QAAA;AAAA,EACd,WAAA,GAAc,UAAA;AAAA,EACd,SAAA,GAAY,KAAA;AAAA,EACZ,YAAA,GAAe,KAAA;AAAA,EACf,UAAA,GAAa,KAAA;AAAA,EACb,QAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAsB;AACpB,EAAA,MAAM,UAAU,KAAA,EAAM;AACtB,EAAA,MAAM,WAAA,GAAc,OAA4B,IAAI,CAAA;AACpD,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,cAAc,CAAA;AACrD,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,KAAK,CAAA;AAChD,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,SAAS,KAAK,CAAA;AACtD,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAI,SAAS,EAAE,CAAA;AACrD,EAAA,MAAM,CAAC,oBAAA,EAAsB,uBAAuB,CAAA,GAAI,SAAS,CAAC,CAAA;AAElE,EAAA,MAAM,aAAA,GAAgB,QAAQ,MAAM;AAClC,IAAA,IAAI,CAAC,aAAA,EAAe,OAAO,gBAAA,CAAiB,KAAA,CAAM,GAAG,CAAC,CAAA;AACtD,IAAA,OAAO,iBACJ,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,KAAK,WAAA,EAAY,CAAE,QAAA,CAAS,aAAA,CAAc,aAAa,CAAC,CAAA,CACxE,KAAA,CAAM,GAAG,CAAC,CAAA;AAAA,EACf,CAAA,EAAG,CAAC,gBAAA,EAAkB,aAAa,CAAC,CAAA;AAEpC,EAAA,MAAM,YAAA,GAAe,YAAY,MAAM;AACrC,IAAA,IAAI,CAAC,OAAA,CAAQ,IAAA,EAAK,IAAK,YAAA,EAAc;AAGrC,IAAA,MAAM,cAAA,GAAiB,SAAA;AACvB,IAAA,MAAM,WAAqB,EAAC;AAC5B,IAAA,IAAI,KAAA;AAEJ,IAAA,OAAA,CAAQ,KAAA,GAAQ,cAAA,CAAe,IAAA,CAAK,OAAO,OAAO,IAAA,EAAM;AACtD,MAAA,MAAM,SAAA,GAAY,KAAA,CAAM,CAAC,CAAA,IAAK,EAAA;AAC9B,MAAA,MAAM,OAAO,gBAAA,CAAiB,IAAA;AAAA,QAC5B,CAAC,CAAA,KAAM,CAAA,CAAE,IAAA,CAAK,WAAA,EAAY,CAAE,UAAA,CAAW,MAAA,EAAQ,EAAE,CAAA,KAAM,SAAA,CAAU,WAAA;AAAY,OAC/E;AACA,MAAA,IAAI,QAAQ,CAAC,QAAA,CAAS,QAAA,CAAS,IAAA,CAAK,EAAE,CAAA,EAAG;AACvC,QAAA,QAAA,CAAS,IAAA,CAAK,KAAK,EAAE,CAAA;AAAA,MACvB;AAAA,IACF;AAEA,IAAA,QAAA,GAAW;AAAA,MACT,OAAA,EAAS,QAAQ,IAAA,EAAK;AAAA,MACtB,QAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,IAAI,CAAC,SAAA,EAAW;AACd,MAAA,UAAA,CAAW,EAAE,CAAA;AAAA,IACf;AAAA,EACF,CAAA,EAAG,CAAC,OAAA,EAAS,YAAA,EAAc,WAAW,QAAA,EAAU,gBAAA,EAAkB,QAAQ,CAAC,CAAA;AAE3E,EAAA,MAAM,aAAA,GAAgB,CAAC,CAAA,KAA0C;AAC/D,IAAA,IAAI,YAAA,EAAc;AAChB,MAAA,IAAI,CAAA,CAAE,QAAQ,WAAA,EAAa;AACzB,QAAA,CAAA,CAAE,cAAA,EAAe;AACjB,QAAA,uBAAA;AAAA,UAAwB,CAAC,SACvB,IAAA,CAAK,GAAA,CAAI,OAAO,CAAA,EAAG,aAAA,CAAc,SAAS,CAAC;AAAA,SAC7C;AAAA,MACF,CAAA,MAAA,IAAW,CAAA,CAAE,GAAA,KAAQ,SAAA,EAAW;AAC9B,QAAA,CAAA,CAAE,cAAA,EAAe;AACjB,QAAA,uBAAA,CAAwB,CAAC,IAAA,KAAS,IAAA,CAAK,IAAI,IAAA,GAAO,CAAA,EAAG,CAAC,CAAC,CAAA;AAAA,MACzD,WAAW,CAAA,CAAE,GAAA,KAAQ,OAAA,IAAW,CAAC,EAAE,QAAA,EAAU;AAC3C,QAAA,CAAA,CAAE,cAAA,EAAe;AACjB,QAAA,MAAM,YAAA,GAAe,cAAc,oBAAoB,CAAA;AACvD,QAAA,IAAI,YAAA,EAAc;AAChB,UAAA,aAAA,CAAc,YAAY,CAAA;AAAA,QAC5B;AAAA,MACF,CAAA,MAAA,IAAW,CAAA,CAAE,GAAA,KAAQ,QAAA,EAAU;AAC7B,QAAA,eAAA,CAAgB,KAAK,CAAA;AAAA,MACvB;AAAA,IACF,WAAW,CAAA,CAAE,GAAA,KAAQ,YAAY,CAAA,CAAE,OAAA,IAAW,EAAE,OAAA,CAAA,EAAU;AACxD,MAAA,CAAA,CAAE,cAAA,EAAe;AACjB,MAAA,YAAA,EAAa;AAAA,IACf;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,YAAA,GAAe,CAAC,KAAA,KAAkB;AACtC,IAAA,UAAA,CAAW,KAAK,CAAA;AAEhB,IAAA,IAAI,aAAA,EAAe;AAEjB,MAAA,MAAM,SAAA,GAAY,WAAA,CAAY,OAAA,EAAS,cAAA,IAAkB,CAAA;AACzD,MAAA,MAAM,gBAAA,GAAmB,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,SAAS,CAAA;AACjD,MAAA,MAAM,OAAA,GAAU,SAAA,CAAU,IAAA,CAAK,gBAAgB,CAAA;AAE/C,MAAA,IAAI,OAAA,EAAS;AACX,QAAA,eAAA,CAAgB,IAAI,CAAA;AACpB,QAAA,gBAAA,CAAiB,OAAA,CAAQ,CAAC,CAAA,IAAK,EAAE,CAAA;AACjC,QAAA,uBAAA,CAAwB,CAAC,CAAA;AAAA,MAC3B,CAAA,MAAO;AACL,QAAA,eAAA,CAAgB,KAAK,CAAA;AACrB,QAAA,gBAAA,CAAiB,EAAE,CAAA;AAAA,MACrB;AAAA,IACF;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,aAAA,GAAgB,CAAC,IAAA,KAAsB;AAC3C,IAAA,MAAM,SAAA,GAAY,WAAA,CAAY,OAAA,EAAS,cAAA,IAAkB,CAAA;AACzD,IAAA,MAAM,gBAAA,GAAmB,OAAA,CAAQ,KAAA,CAAM,CAAA,EAAG,SAAS,CAAA;AACnD,IAAA,MAAM,eAAA,GAAkB,OAAA,CAAQ,KAAA,CAAM,SAAS,CAAA;AAC/C,IAAA,MAAM,OAAA,GAAU,SAAA,CAAU,IAAA,CAAK,gBAAgB,CAAA;AAE/C,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,MAAM,aAAA,GAAgB,gBAAA,CAAiB,KAAA,CAAM,CAAA,EAAG,QAAQ,KAAK,CAAA;AAC7D,MAAA,MAAM,UAAU,CAAA,CAAA,EAAI,IAAA,CAAK,KAAK,UAAA,CAAW,MAAA,EAAQ,EAAE,CAAC,CAAA,CAAA,CAAA;AACpD,MAAA,UAAA,CAAW,aAAA,GAAgB,UAAU,eAAe,CAAA;AACpD,MAAA,eAAA,CAAgB,KAAK,CAAA;AACrB,MAAA,gBAAA,CAAiB,EAAE,CAAA;AACnB,MAAA,SAAA,GAAY,EAAE,MAAA,EAAQ,IAAA,CAAK,EAAA,EAAI,CAAA;AAG/B,MAAA,UAAA,CAAW,MAAM;AACf,QAAA,WAAA,CAAY,SAAS,KAAA,EAAM;AAC3B,QAAA,MAAM,YAAA,GAAe,aAAA,CAAc,MAAA,GAAS,OAAA,CAAQ,MAAA;AACpD,QAAA,WAAA,CAAY,OAAA,EAAS,iBAAA,CAAkB,YAAA,EAAc,YAAY,CAAA;AAAA,MACnE,GAAG,CAAC,CAAA;AAAA,IACN;AAAA,EACF,CAAA;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,6BAAA,CAA8B,EAAE,SAAA,EAAW,YAAA,EAAc,CAAA;AAAA,QACzD;AAAA,OACF;AAAA,MACA,WAAA,EAAU,eAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,UAAA,EACb,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,GAAA,EAAK,WAAA;AAAA,cACL,kBAAA,EAAkB,GAAG,OAAO,CAAA,KAAA,CAAA;AAAA,cAC5B,YAAA,EAAY,YAAY,sBAAA,GAAsB,oBAAA;AAAA,cAC9C,SAAA,EAAU,gFAAA;AAAA,cACV,QAAA,EAAU,YAAA;AAAA,cACV,EAAA,EAAI,OAAA;AAAA,cACJ,WAAA;AAAA,cACA,KAAA,EAAO,OAAA;AAAA,cACP,QAAQ,MAAM;AAAE,gBAAA,YAAA,CAAa,KAAK,CAAA;AAAA,cAAG,CAAA;AAAA,cACrC,QAAA,EAAU,CAAC,CAAA,KAAM;AAAE,gBAAA,YAAA,CAAa,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,cAAG,CAAA;AAAA,cACjD,SAAS,MAAM;AAAE,gBAAA,YAAA,CAAa,IAAI,CAAA;AAAA,cAAG,CAAA;AAAA,cACrC,SAAA,EAAW;AAAA;AAAA,WACb;AAAA,UAGC,YAAA,IAAgB,aAAA,CAAc,MAAA,GAAS,CAAA,oBACtC,GAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,0BAAA,CAA2B,EAAE,QAAA,EAAU,SAAS,CAAA;AAAA,cAC3D,WAAA,EAAU,6BAAA;AAAA,cACV,IAAA,EAAK,SAAA;AAAA,cAEJ,QAAA,EAAA,aAAA,CAAc,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,qBACxB,IAAA;AAAA,gBAAC,QAAA;AAAA,gBAAA;AAAA,kBAEC,WAAW,6BAAA,CAA8B;AAAA,oBACvC,YAAY,KAAA,KAAU;AAAA,mBACvB,CAAA;AAAA,kBACD,iBAAe,KAAA,KAAU,oBAAA;AAAA,kBACzB,IAAA,EAAK,QAAA;AAAA,kBACL,IAAA,EAAK,QAAA;AAAA,kBACL,SAAS,MAAM;AAAE,oBAAA,aAAA,CAAc,IAAI,CAAA;AAAA,kBAAG,CAAA;AAAA,kBAEtC,QAAA,EAAA;AAAA,oCAAA,IAAA,CAAC,MAAA,EAAA,EAAO,MAAK,IAAA,EACV,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAK,MAAA,uBACH,WAAA,EAAA,EAAY,GAAA,EAAK,KAAK,IAAA,EAAM,GAAA,EAAK,IAAA,CAAK,MAAA,EAAQ,CAAA,GAC7C,IAAA;AAAA,sCACJ,GAAA,CAAC,cAAA,EAAA,EAAgB,QAAA,EAAA,WAAA,CAAY,IAAA,CAAK,IAAI,CAAA,EAAE;AAAA,qBAAA,EAC1C,CAAA;AAAA,oCACA,GAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,IAAA,CAAK,IAAA,EAAK,CAAA;AAAA,oBAChB,KAAK,IAAA,oBACJ,GAAA,CAAC,UAAK,SAAA,EAAU,+BAAA,EACb,eAAK,IAAA,EACR;AAAA;AAAA,iBAAA;AAAA,gBAnBG,IAAA,CAAK;AAAA,eAsBb;AAAA;AAAA;AACH,SAAA,EAEJ,CAAA;AAAA,wBAEA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gDAAA,EACb,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yBAAA,EACZ,QAAA,EAAA;AAAA,YAAA,aAAA,oBACC,GAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,YAAA,EAAW,qBAAA;AAAA,gBACX,QAAA,EAAU,YAAA;AAAA,gBACV,IAAA,EAAK,IAAA;AAAA,gBACL,IAAA,EAAK,QAAA;AAAA,gBACL,OAAA,EAAQ,OAAA;AAAA,gBACR,SAAS,MAAM;AACb,kBAAA,MAAM,aAAa,OAAA,GAAU,GAAA;AAC7B,kBAAA,UAAA,CAAW,UAAU,CAAA;AACrB,kBAAA,YAAA,CAAa,UAAU,CAAA;AACvB,kBAAA,WAAA,CAAY,SAAS,KAAA,EAAM;AAAA,gBAC7B,CAAA;AAAA,gBAEA,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,qBAAA,EAAsB,QAAA,EAAA,GAAA,EAAC;AAAA;AAAA,aACzC;AAAA,YAED,gBAAA,oBACC,GAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,YAAA,EAAW,gBAAA;AAAA,gBACX,QAAA,EAAU,YAAA;AAAA,gBACV,IAAA,EAAK,IAAA;AAAA,gBACL,IAAA,EAAK,QAAA;AAAA,gBACL,OAAA,EAAQ,OAAA;AAAA,gBAER,QAAA,kBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,SAAA,EAAU,SAAA,EAAU;AAAA;AAAA,aACjC;AAAA,4BAEF,GAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,YAAA,EAAW,iBAAA;AAAA,gBACX,QAAA,EAAU,YAAA;AAAA,gBACV,IAAA,EAAK,IAAA;AAAA,gBACL,IAAA,EAAK,QAAA;AAAA,gBACL,OAAA,EAAQ,OAAA;AAAA,gBAER,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAU,SAAA,EAAU;AAAA;AAAA;AAC7B,WAAA,EACF,CAAA;AAAA,0BAEA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACZ,QAAA,EAAA;AAAA,YAAA,UAAA,oBACC,GAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,QAAA,EAAU,YAAA;AAAA,gBACV,IAAA,EAAK,IAAA;AAAA,gBACL,IAAA,EAAK,QAAA;AAAA,gBACL,OAAA,EAAQ,OAAA;AAAA,gBACR,OAAA,EAAS,QAAA;AAAA,gBAER,QAAA,EAAA;AAAA;AAAA,aACH;AAAA,4BAEF,IAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,QAAA,EAAU,CAAC,OAAA,CAAQ,IAAA,EAAK,IAAK,YAAA;AAAA,gBAC7B,IAAA,EAAK,IAAA;AAAA,gBACL,IAAA,EAAK,QAAA;AAAA,gBACL,OAAA,EAAS,YAAA;AAAA,gBAET,QAAA,EAAA;AAAA,kCAAA,GAAA,CAAC,IAAA,EAAA,EAAK,WAAU,cAAA,EAAe,CAAA;AAAA,kBAC9B;AAAA;AAAA;AAAA;AACH,WAAA,EACF;AAAA,SAAA,EACF,CAAA;AAAA,wBAEA,GAAA,CAAC,UAAK,SAAA,EAAU,SAAA,EAAU,IAAI,CAAA,EAAG,OAAO,SAAS,QAAA,EAAA,mEAAA,EAEjD;AAAA;AAAA;AAAA,GACF;AAEJ;AAKA,SAAS,gBAAA,CAAiB;AAAA,EACxB,SAAA;AAAA,EACA,YAAY,EAAC;AAAA,EACb,kBAAA,GAAqB,gBAAA;AAAA,EACrB,QAAA,GAAW,KAAA;AAAA,EACX;AACF,CAAA,EAMG;AACD,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,KAAK,CAAA;AAElD,EAAA,MAAM,WAAA,GAAc,CAAC,KAAA,KAAkB;AACrC,IAAA,OAAA,GAAU,EAAE,SAAA,EAAW,QAAA,EAAU,KAAA,EAAO,CAAA;AACxC,IAAA,aAAA,CAAc,KAAK,CAAA;AAAA,EACrB,CAAA;AAEA,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,mCAAA,EAAoC,aAAU,mBAAA,EAC1D,QAAA,EAAA;AAAA,IAAA,SAAA,CAAU,GAAA,CAAI,CAAC,QAAA,qBACd,IAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QAEC,WAAW,uBAAA,CAAwB;AAAA,UACjC,YAAY,QAAA,CAAS;AAAA,SACtB,CAAA;AAAA,QACD,QAAA,EAAU,QAAA;AAAA,QACV,KAAA,EAAO,CAAA,EAAG,MAAA,CAAO,QAAA,CAAS,KAAK,CAAC,CAAA,CAAA,EAAI,QAAA,CAAS,KAAA,KAAU,CAAA,GAAI,QAAA,GAAW,SAAS,CAAA,CAAA;AAAA,QAC/E,IAAA,EAAK,QAAA;AAAA,QACL,SAAS,MAAM;AAAE,UAAA,WAAA,CAAY,SAAS,KAAK,CAAA;AAAA,QAAG,CAAA;AAAA,QAE9C,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,MAAA,EAAA,EAAM,mBAAS,KAAA,EAAM,CAAA;AAAA,0BACtB,GAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,QAAA,CAAS,KAAA,EAAM;AAAA;AAAA,OAAA;AAAA,MAVjB,QAAA,CAAS;AAAA,KAYjB,CAAA;AAAA,IAEA,CAAC,QAAA,oBACA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,UAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,0MAAA;AAAA,UACV,KAAA,EAAM,wBAAA;AAAA,UACN,IAAA,EAAK,QAAA;AAAA,UACL,SAAS,MAAM;AAAE,YAAA,aAAA,CAAc,CAAC,UAAU,CAAA;AAAA,UAAG,CAAA;AAAA,UAE7C,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAU,SAAA,EAAU;AAAA;AAAA,OAC7B;AAAA,MAEC,UAAA,oBACC,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,6FAAA;AAAA,UACV,IAAA,EAAK,SAAA;AAAA,UAEJ,QAAA,EAAA,kBAAA,CAAmB,GAAA,CAAI,CAAC,QAAA,qBACvB,GAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cAEC,SAAA,EAAU,uDAAA;AAAA,cACV,IAAA,EAAK,QAAA;AAAA,cACL,OAAO,QAAA,CAAS,KAAA;AAAA,cAChB,IAAA,EAAK,QAAA;AAAA,cACL,SAAS,MAAM;AAAE,gBAAA,WAAA,CAAY,SAAS,KAAK,CAAA;AAAA,cAAG,CAAA;AAAA,cAE7C,QAAA,EAAA,QAAA,CAAS;AAAA,aAAA;AAAA,YAPL,QAAA,CAAS;AAAA,WASjB;AAAA;AAAA;AACH,KAAA,EAEJ;AAAA,GAAA,EAEJ,CAAA;AAEJ;AAKA,SAAS,WAAA,CAAY;AAAA,EACnB,OAAA;AAAA,EACA,aAAA;AAAA,EACA,WAAA;AAAA,EACA,KAAA,GAAQ,CAAA;AAAA,EACR,QAAA,GAAW,CAAA;AAAA,EACX,MAAA,GAAS,MAAA;AAAA,EACT,YAAA,GAAe,IAAA;AAAA,EACf,cAAA,GAAiB,IAAA;AAAA,EACjB,YAAA,GAAe,IAAA;AAAA,EACf,aAAA,GAAgB,IAAA;AAAA,EAChB,aAAA,GAAgB,IAAA;AAAA,EAChB,SAAA,GAAY,gBAAA;AAAA,EACZ,mBAAmB,EAAC;AAAA,EACpB,QAAA,GAAW,KAAA;AAAA,EACX,OAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAqB;AACnB,EAAA,MAAM,YAAY,KAAA,EAAM;AACxB,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,KAAK,CAAA;AAClD,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,KAAK,CAAA;AAChD,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAS,KAAK,CAAA;AAEpD,EAAA,MAAM,KAAA,GAAQ,WAAA,EAAa,EAAA,KAAO,OAAA,CAAQ,MAAA,CAAO,EAAA;AACjD,EAAA,MAAM,QAAA,GAAW,YAAA,IAAgB,KAAA,GAAQ,QAAA,IAAY,CAAC,QAAA;AACtD,EAAA,MAAM,UAAU,YAAA,IAAgB,KAAA,IAAS,CAAC,QAAA,IAAY,CAAC,OAAA,CAAQ,SAAA;AAC/D,EAAA,MAAM,YAAY,aAAA,IAAiB,KAAA,IAAS,CAAC,QAAA,IAAY,CAAC,OAAA,CAAQ,SAAA;AAElE,EAAA,MAAM,WAAA,GAAc,CAAC,OAAA,KAAkC;AACrD,IAAA,OAAA,GAAU,EAAE,GAAG,OAAA,EAAS,QAAA,EAAU,OAAA,CAAQ,IAAI,CAAA;AAC9C,IAAA,aAAA,CAAc,KAAK,CAAA;AAAA,EACrB,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa,CAAC,OAAA,KAAkC;AACpD,IAAA,MAAA,GAAS,EAAE,EAAA,EAAI,OAAA,CAAQ,IAAI,OAAA,EAAS,OAAA,CAAQ,SAAS,CAAA;AACrD,IAAA,YAAA,CAAa,KAAK,CAAA;AAAA,EACpB,CAAA;AAEA,EAAA,MAAM,eAAe,MAAM;AACzB,IAAA,MAAM,eAAe,aAAA,GACjB,aAAA,CAAc,OAAO,CAAA,GACrB,MAAA,CAAO,QAAQ,oDAAiD,CAAA;AAEpE,IAAA,IAAI,YAAA,EAAc;AAChB,MAAA,QAAA,GAAW,EAAE,EAAA,EAAI,OAAA,CAAQ,EAAA,EAAI,CAAA;AAAA,IAC/B;AAAA,EACF,CAAA;AAEA,EAAA,IAAI,QAAQ,SAAA,EAAW;AACrB,IAAA,uBACE,GAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,cAAA,EAAY,IAAA;AAAA,QACZ,YAAA,EAAW,2BAAA;AAAA,QACX,SAAA,EAAW,GAAG,mBAAA,CAAoB,EAAE,QAAQ,SAAA,EAAW,IAAA,EAAM,CAAA,EAAG,SAAS,CAAA;AAAA,QACzE,WAAA,EAAU,cAAA;AAAA,QACT,GAAG,KAAA;AAAA,QAEJ,QAAA,kBAAA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,sCAAA,EAAuC,QAAA,EAAA,qCAAA,EAEpD;AAAA;AAAA,KACF;AAAA,EAEJ;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,oBAAoB,EAAE,MAAA,EAAQ,OAAO,QAAA,EAAU,OAAA,CAAQ,UAAU,CAAA;AAAA,QACjE;AAAA,OACF;AAAA,MACA,kBAAA,EAAkB,GAAG,SAAS,CAAA,QAAA,CAAA;AAAA,MAC9B,YAAA,EAAY,CAAA,iBAAA,EAAiB,OAAA,CAAQ,MAAA,CAAO,IAAI,CAAA,CAAA;AAAA,MAChD,WAAA,EAAU,cAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAGH,QAAA,EAAA;AAAA,QAAA,MAAA,KAAW,UAAA,oBACV,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,6BAAA,CAA8B,EAAE,MAAA,EAAQ,WAAW,CAAA;AAAA,YAC9D,WAAA,EAAU;AAAA;AAAA,SACZ;AAAA,wBAIF,IAAA,CAAC,SAAI,SAAA,EAAW,qBAAA,CAAsB,EAAE,MAAA,EAAQ,CAAA,EAAG,WAAA,EAAU,gBAAA,EAC1D,QAAA,EAAA;AAAA,UAAA,MAAA,KAAW,MAAA,oBACV,IAAA,CAAC,MAAA,EAAA,EAAO,IAAA,EAAK,IAAA,EACV,QAAA,EAAA;AAAA,YAAA,OAAA,CAAQ,MAAA,CAAO,MAAA,mBACd,GAAA,CAAC,WAAA,EAAA,EAAY,GAAA,EAAK,OAAA,CAAQ,MAAA,CAAO,IAAA,EAAM,GAAA,EAAK,OAAA,CAAQ,MAAA,CAAO,MAAA,EAAQ,CAAA,GACjE,IAAA;AAAA,gCACH,cAAA,EAAA,EAAgB,QAAA,EAAA,WAAA,CAAY,OAAA,CAAQ,MAAA,CAAO,IAAI,CAAA,EAAE;AAAA,WAAA,EACpD,CAAA;AAAA,0BAGF,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gCAAA,EACb,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,qCAAA,EACb,QAAA,EAAA,OAAA,CAAQ,OAAO,IAAA,EAClB,CAAA;AAAA,gCACC,MAAA,EAAA,EAAK,SAAA,EAAU,iCACb,QAAA,EAAA,kBAAA,CAAmB,OAAA,CAAQ,SAAS,CAAA,EACvC,CAAA;AAAA,YACC,QAAQ,QAAA,oBACP,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,iCAAgC,QAAA,EAAA,WAAA,EAAS,CAAA;AAAA,YAE1D,QAAQ,QAAA,oBACP,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,oCAAmC,QAAA,EAAA,QAAA,EAAM;AAAA,WAAA,EAE7D,CAAA;AAAA,UAAA,CAEE,OAAA,IAAW,SAAA,qBACX,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,UAAA,EACb,QAAA,EAAA;AAAA,4BAAA,GAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,eAAA,EAAe,WAAA;AAAA,gBACf,eAAA,EAAc,MAAA;AAAA,gBACd,YAAA,EAAW,kBAAA;AAAA,gBACX,IAAA,EAAK,IAAA;AAAA,gBACL,OAAA,EAAQ,OAAA;AAAA,gBACR,SAAS,MAAM;AAAE,kBAAA,cAAA,CAAe,CAAC,WAAW,CAAA;AAAA,gBAAG,CAAA;AAAA,gBAE/C,QAAA,kBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,SAAA,EAAU,SAAA,EAAU;AAAA;AAAA,aACtC;AAAA,YAEC,WAAA,oBACC,IAAA;AAAA,cAAC,KAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAU,yFAAA;AAAA,gBACV,IAAA,EAAK,MAAA;AAAA,gBAEJ,QAAA,EAAA;AAAA,kBAAA,OAAA,oBACC,IAAA;AAAA,oBAAC,QAAA;AAAA,oBAAA;AAAA,sBACC,SAAA,EAAU,+EAAA;AAAA,sBACV,IAAA,EAAK,UAAA;AAAA,sBACL,IAAA,EAAK,QAAA;AAAA,sBACL,SAAS,MAAM;AACb,wBAAA,YAAA,CAAa,IAAI,CAAA;AACjB,wBAAA,cAAA,CAAe,KAAK,CAAA;AAAA,sBACtB,CAAA;AAAA,sBAEA,QAAA,EAAA;AAAA,wCAAA,GAAA,CAAC,KAAA,EAAA,EAAM,WAAU,aAAA,EAAc,CAAA;AAAA,wBAAE;AAAA;AAAA;AAAA,mBAEnC;AAAA,kBAED,SAAA,oBACC,IAAA;AAAA,oBAAC,QAAA;AAAA,oBAAA;AAAA,sBACC,SAAA,EAAU,gGAAA;AAAA,sBACV,IAAA,EAAK,UAAA;AAAA,sBACL,IAAA,EAAK,QAAA;AAAA,sBACL,SAAS,MAAM;AACb,wBAAA,YAAA,EAAa;AACb,wBAAA,cAAA,CAAe,KAAK,CAAA;AAAA,sBACtB,CAAA;AAAA,sBAEA,QAAA,EAAA;AAAA,wCAAA,GAAA,CAAC,MAAA,EAAA,EAAO,WAAU,aAAA,EAAc,CAAA;AAAA,wBAAE;AAAA;AAAA;AAAA;AAEpC;AAAA;AAAA;AAEJ,WAAA,EAEJ;AAAA,SAAA,EAEJ,CAAA;AAAA,QAGC,SAAA,mBACC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,MAAA,EACb,QAAA,kBAAA,GAAA;AAAA,UAAC,YAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAS,IAAA;AAAA,YACT,UAAA,EAAU,IAAA;AAAA,YACV,aAAA;AAAA,YACA,WAAA,EAAY,UAAA;AAAA,YACZ,gBAAgB,OAAA,CAAQ,OAAA;AAAA,YACxB,gBAAA;AAAA,YACA,WAAA,EAAY,yBAAA;AAAA,YACZ,WAAA,EAAY,QAAA;AAAA,YACZ,UAAU,MAAM;AAAE,cAAA,YAAA,CAAa,KAAK,CAAA;AAAA,YAAG,CAAA;AAAA,YACvC,QAAA,EAAU;AAAA;AAAA,WAEd,CAAA,mBAEA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,sBAAA,CAAuB,EAAE,MAAA,EAAQ,CAAA;AAAA,YAC5C,WAAA,EAAU,iBAAA;AAAA,YACV,EAAA,EAAI,GAAG,SAAS,CAAA,QAAA,CAAA;AAAA,YAEhB,QAAA,kBAAA,GAAA,CAAC,OAAE,SAAA,EAAU,qBAAA,EACV,uBAAa,OAAA,CAAQ,OAAA,EAAS,gBAAgB,CAAA,EACjD;AAAA;AAAA,SACF;AAAA,QAID,QAAQ,WAAA,IAAe,OAAA,CAAQ,WAAA,CAAY,MAAA,GAAS,qBACnD,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,2BAAA,EAA4B,aAAU,qBAAA,EAClD,QAAA,EAAA,OAAA,CAAQ,WAAA,CAAY,GAAA,CAAI,CAAC,UAAA,qBACxB,IAAA;AAAA,UAAC,GAAA;AAAA,UAAA;AAAA,YAEC,SAAA,EAAU,qFAAA;AAAA,YACV,MAAM,UAAA,CAAW,GAAA;AAAA,YACjB,GAAA,EAAI,qBAAA;AAAA,YACJ,MAAA,EAAO,QAAA;AAAA,YAEP,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,SAAA,EAAA,EAAU,WAAU,SAAA,EAAU,CAAA;AAAA,cAC9B,UAAA,CAAW;AAAA;AAAA,WAAA;AAAA,UAPP,UAAA,CAAW;AAAA,SASnB,CAAA,EACH,CAAA;AAAA,QAID,cAAA,oBACC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,MAAA,EACb,QAAA,kBAAA,GAAA;AAAA,UAAC,gBAAA;AAAA,UAAA;AAAA,YACC,kBAAA,EAAoB,SAAA;AAAA,YACpB,WAAW,OAAA,CAAQ,EAAA;AAAA,YACnB,WAAW,OAAA,CAAQ,SAAA;AAAA,YACnB,QAAA;AAAA,YACA;AAAA;AAAA,SACF,EACF,CAAA;AAAA,wBAIF,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,sBAAA,CAAuB,EAAE,QAAQ,CAAA,EAAG,WAAA,EAAU,iBAAA,EAC3D,QAAA,EAAA,QAAA,oBACC,IAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,IAAA;AAAA,YACL,OAAA,EAAQ,OAAA;AAAA,YACR,SAAS,MAAM;AAAE,cAAA,aAAA,CAAc,CAAC,UAAU,CAAA;AAAA,YAAG,CAAA;AAAA,YAE7C,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,eAAA,EAAA,EAAgB,WAAU,cAAA,EAAe,CAAA;AAAA,cAAE;AAAA;AAAA;AAAA,SAE9C,EAEJ,CAAA;AAAA,QAGC,UAAA,oBACC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,MAAA,EACb,QAAA,kBAAA,GAAA;AAAA,UAAC,YAAA;AAAA,UAAA;AAAA,YACC,UAAA,EAAU,IAAA;AAAA,YACV,aAAA;AAAA,YACA,gBAAA;AAAA,YACA,UAAU,OAAA,CAAQ,EAAA;AAAA,YAClB,WAAA,EAAa,CAAA,YAAA,EAAe,OAAA,CAAQ,MAAA,CAAO,IAAI,CAAA,GAAA,CAAA;AAAA,YAC/C,UAAU,MAAM;AAAE,cAAA,aAAA,CAAc,KAAK,CAAA;AAAA,YAAG,CAAA;AAAA,YACxC,QAAA,EAAU;AAAA;AAAA,SACZ,EACF,CAAA;AAAA,QAID,OAAA,CAAQ,OAAA,IAAW,OAAA,CAAQ,OAAA,CAAQ,SAAS,CAAA,oBAC3C,IAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,EAAA;AAAA,cACT,sBAAA,CAAuB,EAAE,MAAA,EAAQ,CAAA;AAAA,cACjC;AAAA,aACF;AAAA,YACA,WAAA,EAAU,iBAAA;AAAA,YAET,QAAA,EAAA;AAAA,cAAA,MAAA,KAAW,MAAA,wBACT,KAAA,EAAA,EAAI,SAAA,EAAW,0BAA0B,EAAE,MAAA,EAAQ,CAAA,EAAG,CAAA;AAAA,cAExD,OAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,CAAC,KAAA,qBACpB,GAAA;AAAA,gBAAC,WAAA;AAAA,gBAAA;AAAA,kBAEC,aAAA;AAAA,kBACA,YAAA;AAAA,kBACA,aAAA;AAAA,kBACA,cAAA;AAAA,kBACA,YAAA;AAAA,kBACA,OAAA,EAAS,KAAA;AAAA,kBACT,aAAA;AAAA,kBACA,WAAA;AAAA,kBACA,OAAO,KAAA,GAAQ,CAAA;AAAA,kBACf,MAAA;AAAA,kBACA,QAAA;AAAA,kBACA,gBAAA;AAAA,kBACA,SAAA;AAAA,kBACA,QAAA;AAAA,kBACA,QAAA;AAAA,kBACA,MAAA;AAAA,kBACA,OAAA;AAAA,kBACA;AAAA,iBAAA;AAAA,gBAlBK,KAAA,CAAM;AAAA,eAoBd;AAAA;AAAA;AAAA;AACH;AAAA;AAAA,GAEJ;AAEJ;AAwBA,SAAS,aAAA,CAAc;AAAA,EACrB,QAAA;AAAA,EACA,OAAA,GAAU,SAAA;AAAA,EACV,MAAA,GAAS,MAAA;AAAA,EACT,aAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA,GAAe,IAAA;AAAA,EACf,cAAA,GAAiB,IAAA;AAAA,EACjB,YAAA,GAAe,IAAA;AAAA,EACf,aAAA,GAAgB,IAAA;AAAA,EAChB,aAAA,GAAgB,IAAA;AAAA,EAChB,gBAAA,GAAmB,KAAA;AAAA,EACnB,QAAA,GAAW,CAAA;AAAA,EACX,mBAAmB,EAAC;AAAA,EACpB,SAAA,GAAY,gBAAA;AAAA,EACZ,WAAA,GAAc,6BAAA;AAAA,EACd,QAAA,GAAW,KAAA;AAAA,EACX,SAAA,GAAY,KAAA;AAAA,EACZ,KAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAc,SAAA,GAAY,2BAAA;AAAA,EAC1B,GAAG;AACL,CAAA,EAAuB;AACrB,EAAA,MAAM,WAAW,KAAA,EAAM;AAEvB,EAAA,MAAM,WAAA,GAAc,CAAC,OAAA,KAAkC;AACrD,IAAA,QAAA,GAAW,OAAO,CAAA;AAAA,EACpB,CAAA;AAEA,EAAA,MAAM,WAAA,GAAc,SAAS,MAAA,GAAS,CAAA;AACtC,EAAA,MAAM,SAAA,GAAY,CAAC,QAAA,IAAY,WAAA;AAG/B,EAAA,IAAI,SAAA,EAAW;AACb,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,cAAA,EAAY,IAAA;AAAA,QACZ,WAAA,EAAU,MAAA;AAAA,QACV,YAAA,EAAY,SAAA;AAAA,QACZ,SAAA,EAAW,GAAG,qBAAA,CAAsB,EAAE,SAAS,MAAA,EAAQ,GAAG,SAAS,CAAA;AAAA,QACnE,WAAA,EAAU,gBAAA;AAAA,QACT,GAAG,KAAA;AAAA,QAEJ,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,qBAAA,EACZ,QAAA,EAAA,CAAC,CAAA,EAAG,CAAA,EAAG,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,qBACd,IAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YAEC,SAAA,EAAU,6CAAA;AAAA,YAEV,QAAA,EAAA;AAAA,8BAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yBAAA,EACb,QAAA,EAAA;AAAA,gCAAA,GAAA,CAAC,KAAA,EAAA,EAAI,WAAU,+BAAA,EAAgC,CAAA;AAAA,gCAC/C,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,WAAA,EACb,QAAA,EAAA;AAAA,kCAAA,GAAA,CAAC,KAAA,EAAA,EAAI,WAAU,2BAAA,EAA4B,CAAA;AAAA,kCAC3C,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,2BAAA,EAA4B;AAAA,iBAAA,EAC7C;AAAA,eAAA,EACF,CAAA;AAAA,8BACA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EACb,QAAA,EAAA;AAAA,gCAAA,GAAA,CAAC,KAAA,EAAA,EAAI,WAAU,6BAAA,EAA8B,CAAA;AAAA,gCAC7C,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,4BAAA,EAA6B;AAAA,eAAA,EAC9C;AAAA;AAAA,WAAA;AAAA,UAbK;AAAA,SAeR,CAAA,EACH;AAAA;AAAA,KACF;AAAA,EAEJ;AAGA,EAAA,IAAI,KAAA,EAAO;AACT,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,YAAA,EAAU,IAAA;AAAA,QACV,YAAA,EAAY,SAAA;AAAA,QACZ,SAAA,EAAW,GAAG,qBAAA,CAAsB,EAAE,SAAS,MAAA,EAAQ,GAAG,SAAS,CAAA;AAAA,QACnE,WAAA,EAAU,gBAAA;AAAA,QACT,GAAG,KAAA;AAAA,QAEJ,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,0EAAA,EACb,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,CAAA,EAAA,EAAE,WAAU,kCAAA,EAAmC,CAAA;AAAA,0BAChD,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,+BAAA,EAAiC,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,0BACpD,GAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAU,MAAA;AAAA,cACV,IAAA,EAAK,IAAA;AAAA,cACL,OAAA,EAAQ,SAAA;AAAA,cACR,OAAA,EAAS,MAAM,UAAA,GAAa,EAAE,CAAA;AAAA,cAC/B,QAAA,EAAA;AAAA;AAAA;AAED,SAAA,EACF;AAAA;AAAA,KACF;AAAA,EAEJ;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAY,SAAA;AAAA,MACZ,SAAA,EAAW,GAAG,qBAAA,CAAsB,EAAE,SAAS,MAAA,EAAQ,GAAG,SAAS,CAAA;AAAA,MACnE,WAAA,EAAU,gBAAA;AAAA,MACV,cAAA,EAAc,OAAA;AAAA,MACd,EAAA,EAAI,QAAA;AAAA,MACH,GAAG,KAAA;AAAA,MAGH,QAAA,EAAA;AAAA,QAAA,SAAA,oBACC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,MAAA,EAAO,aAAU,sBAAA,EAC9B,QAAA,kBAAA,GAAA;AAAA,UAAC,YAAA;AAAA,UAAA;AAAA,YACC,gBAAA;AAAA,YACA,aAAA;AAAA,YACA,gBAAA;AAAA,YACA,WAAA;AAAA,YACA,SAAA;AAAA,YACA;AAAA;AAAA,SACF,EACF,CAAA;AAAA,QAID,WAAA,mBACC,GAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,qBAAA,EAAsB,MAAK,MAAA,EACvC,QAAA,EAAA,QAAA,CAAS,GAAA,CAAI,CAAC,OAAA,qBACb,GAAA;AAAA,UAAC,WAAA;AAAA,UAAA;AAAA,YAEC,aAAA;AAAA,YACA,YAAA;AAAA,YACA,aAAA;AAAA,YACA,cAAA;AAAA,YACA,YAAA;AAAA,YACA,OAAA;AAAA,YACA,aAAA;AAAA,YACA,WAAA;AAAA,YACA,QAAQ,MAAA,IAAU,MAAA;AAAA,YAClB,QAAA;AAAA,YACA,gBAAA;AAAA,YACA,SAAA;AAAA,YACA,QAAA;AAAA,YACA,QAAA;AAAA,YACA,MAAA;AAAA,YACA,OAAA;AAAA,YACA,OAAA,EAAS;AAAA,WAAA;AAAA,UAjBJ,OAAA,CAAQ;AAAA,SAmBhB,GACH,CAAA,mBAEA,IAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,WAAW,yBAAA,CAA0B;AAAA,cACnC,OAAA,EAAS,OAAA,KAAY,SAAA,GAAY,SAAA,GAAY;AAAA,aAC9C,CAAA;AAAA,YACD,WAAA,EAAU,sBAAA;AAAA,YAEV,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,aAAA,EAAA,EAAc,WAAU,oCAAA,EAAqC,CAAA;AAAA,8BAC9D,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,oCAAA,EAAqC,QAAA,EAAA,6BAAA,EAElD,CAAA;AAAA,cACC,CAAC,QAAA,IAAY,WAAA,wBACX,GAAA,EAAA,EAAE,SAAA,EAAU,sCAAqC,QAAA,EAAA,6BAAA,EAElD;AAAA;AAAA;AAAA,SAEJ;AAAA,QAID,UAAA,IAAc,WAAA,oBACb,GAAA,CAAC,KAAA,EAAA,EAAI,WAAU,kBAAA,EACb,QAAA,kBAAA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,IAAA;AAAA,YACL,OAAA,EAAQ,SAAA;AAAA,YACR,SAAS,MAAM;AACb,cAAA,UAAA,CAAW,EAAE,QAAQ,QAAA,CAAS,QAAA,CAAS,SAAS,CAAC,CAAA,EAAG,IAAI,CAAA;AAAA,YAC1D,CAAA;AAAA,YACD,QAAA,EAAA;AAAA;AAAA,SAED,EACF;AAAA;AAAA;AAAA,GAEJ;AAEJ","file":"chunk-JKYB5QAP.js","sourcesContent":["import type { commentSystemVariants } from \"./CommentSystem.variants\"\nimport type { VariantProps } from \"class-variance-authority\"\n\n/**\n * User data structure for comment system\n */\nexport interface CommentUser {\n /** Avatar URL (optional) */\n avatar?: string\n /** Email address (optional) */\n email?: string\n /** Unique identifier */\n id: string\n /** Display name */\n name: string\n /** Role or title (optional) */\n role?: string\n}\n\n/**\n * Attachment data structure\n */\nexport interface CommentAttachment {\n /** Unique identifier */\n id: string\n /** File name */\n name: string\n /** File size in bytes (optional) */\n size?: number\n /** Thumbnail URL for images (optional) */\n thumbnail?: string\n /** Type of attachment */\n type: \"file\" | \"image\" | \"link\"\n /** File URL */\n url: string\n}\n\n/**\n * Reaction on a comment\n */\nexport interface CommentReaction {\n /** Number of users who reacted */\n count: number\n /** Emoji character */\n emoji: string\n /** Whether current user has reacted */\n hasReacted?: boolean\n /** IDs of users who reacted */\n users: string[]\n}\n\n/**\n * Available reaction configuration\n */\nexport interface Reaction {\n /** Emoji character */\n emoji: string\n /** Display label */\n label: string\n /** Shortcode identifier */\n shortcode: string\n}\n\n/**\n * Comment data structure\n */\nexport interface Comment {\n /** Attachments on this comment (optional) */\n attachments?: CommentAttachment[]\n /** Author of the comment */\n author: CommentUser\n /** Comment content (supports basic markdown) */\n content: string\n /** When the comment was created */\n createdAt: Date\n /** Unique identifier */\n id: string\n /** Whether the comment has been deleted (soft delete) */\n isDeleted?: boolean\n /** Whether the comment has been edited */\n isEdited?: boolean\n /** Whether the comment is pinned */\n isPinned?: boolean\n /** User IDs mentioned in this comment (optional) */\n mentions?: string[]\n /** Parent comment ID for replies (optional) */\n parentId?: string\n /** Reactions on this comment (optional) */\n reactions?: CommentReaction[]\n /** Nested replies (optional) */\n replies?: Comment[]\n /** When the comment was last updated (optional) */\n updatedAt?: Date\n}\n\n/**\n * Default reactions available in the system\n */\nexport const defaultReactions: Reaction[] = [\n { emoji: \"👍\", label: \"Curtir\", shortcode: \"thumbsup\" },\n { emoji: \"❤️\", label: \"Amei\", shortcode: \"heart\" },\n { emoji: \"😄\", label: \"Haha\", shortcode: \"smile\" },\n { emoji: \"🎉\", label: \"Celebrar\", shortcode: \"tada\" },\n { emoji: \"🤔\", label: \"Pensativo\", shortcode: \"thinking\" },\n { emoji: \"👀\", label: \"Olhando\", shortcode: \"eyes\" },\n]\n\n/**\n * Payload for onSubmit event\n */\nexport interface CommentSubmitPayload {\n /** Attachments (when allowAttachments is true) */\n attachments?: CommentAttachment[]\n /** Comment content */\n content: string\n /** User IDs mentioned in the comment */\n mentions: string[]\n /** Parent comment ID if replying */\n parentId?: string\n}\n\n/**\n * Payload for onEdit event\n */\nexport interface CommentEditPayload {\n /** New content */\n content: string\n /** ID of the comment being edited */\n id: string\n}\n\n/**\n * Payload for onDelete event\n */\nexport interface CommentDeletePayload {\n /** ID of the comment being deleted */\n id: string\n}\n\n/**\n * Payload for onReact event\n */\nexport interface CommentReactPayload {\n /** ID of the comment being reacted to */\n commentId: string\n /** Reaction emoji or shortcode */\n reaction: string\n}\n\n/**\n * Payload for onMention event\n */\nexport interface CommentMentionPayload {\n /** ID of the user being mentioned */\n userId: string\n}\n\n/**\n * Payload for onLoadMore event\n */\nexport interface CommentLoadMorePayload {\n /** Load comments before this ID (for pagination) */\n before?: string\n}\n\n/**\n * Props for CommentSystem component\n */\nexport interface CommentSystemProps\n extends Omit<React.ComponentProps<\"div\">, \"children\" | \"onSubmit\">,\n VariantProps<typeof commentSystemVariants> {\n /** Allow file attachments @default false */\n allowAttachments?: boolean\n /** Allow deleting own comments @default true */\n allowDeleting?: boolean\n /** Allow editing own comments @default true */\n allowEditing?: boolean\n /** Allow @mentions @default true */\n allowMentions?: boolean\n /** Allow reactions on comments @default true */\n allowReactions?: boolean\n /** Allow replies to comments @default true */\n allowReplies?: boolean\n /** Array of comments to display */\n comments: Comment[]\n /** Optional confirmation handler before deleting a comment */\n confirmDelete?: (comment: Comment) => boolean\n /** Currently logged in user (required for posting) */\n currentUser?: CommentUser\n /** Error state message */\n error?: string\n /** Loading state */\n isLoading?: boolean\n /** Maximum thread depth @default 3 */\n maxDepth?: number\n /** Users available for @mention */\n mentionableUsers?: CommentUser[]\n /** Called when a comment is deleted */\n onDelete?: (payload: CommentDeletePayload) => void\n /** Called when a comment is edited */\n onEdit?: (payload: CommentEditPayload) => void\n /** Called when more comments should be loaded */\n onLoadMore?: (payload: CommentLoadMorePayload) => void\n /** Called when a user is mentioned */\n onMention?: (payload: CommentMentionPayload) => void\n /** Called when a reaction is added/removed */\n onReact?: (payload: CommentReactPayload) => void\n /** Called when a new comment is submitted */\n onSubmit?: (payload: CommentSubmitPayload) => void\n /** Placeholder text for input */\n placeholder?: string\n /** Available reactions */\n reactions?: Reaction[]\n /** Read-only mode (no input, no actions) @default false */\n readOnly?: boolean\n}\n\n/**\n * Props for CommentItem component\n */\nexport interface CommentItemProps\n extends Omit<React.ComponentProps<\"article\">, \"children\"> {\n /** Allow deleting */\n allowDeleting?: boolean\n /** Allow editing */\n allowEditing?: boolean\n /** Allow mentions */\n allowMentions?: boolean\n /** Allow reactions */\n allowReactions?: boolean\n /** Allow replies */\n allowReplies?: boolean\n /** The comment to display */\n comment: Comment\n /** Optional confirmation handler before deleting a comment */\n confirmDelete?: (comment: Comment) => boolean\n /** Current user for permission checks */\n currentUser?: CommentUser\n /** Current depth in thread */\n depth?: number\n /** Layout style */\n layout?: \"chat\" | \"list\" | \"timeline\"\n /** Maximum thread depth */\n maxDepth?: number\n /** Mentionable users */\n mentionableUsers?: CommentUser[]\n /** Called when comment is deleted */\n onDelete?: (payload: CommentDeletePayload) => void\n /** Called when comment is edited */\n onEdit?: (payload: CommentEditPayload) => void\n /** Called when reaction is added/removed */\n onReact?: (payload: CommentReactPayload) => void\n /** Called when reply is submitted */\n onReply?: (payload: CommentSubmitPayload) => void\n /** Available reactions */\n reactions?: Reaction[]\n /** Read-only mode */\n readOnly?: boolean\n}\n\n/**\n * Props for CommentInput component\n */\nexport interface CommentInputProps\n extends Omit<React.ComponentProps<\"div\">, \"children\" | \"onSubmit\"> {\n /** Allow attachments */\n allowAttachments?: boolean\n /** Allow mentions */\n allowMentions?: boolean\n /** Cancel button label (for editing/replying) */\n cancelLabel?: string\n /** Initial content (for editing) */\n initialContent?: string\n /** Whether in edit mode */\n isEditing?: boolean\n /** Whether currently submitting */\n isSubmitting?: boolean\n /** Mentionable users */\n mentionableUsers?: CommentUser[]\n /** Called when cancel is clicked */\n onCancel?: () => void\n /** Called when a mention is triggered */\n onMention?: (payload: CommentMentionPayload) => void\n /** Called when form is submitted */\n onSubmit?: (payload: CommentSubmitPayload) => void\n /** Parent comment ID if replying */\n parentId?: string\n /** Placeholder text */\n placeholder?: string\n /** Show cancel button */\n showCancel?: boolean\n /** Submit button label */\n submitLabel?: string\n}\n","import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * CommentSystem container variants\n */\nexport const commentSystemVariants = cva(\n \"relative w-full transition-all duration-300\",\n {\n variants: {\n variant: {\n default: \"\",\n threaded: \"\",\n inline: \"border rounded-lg shadow-sm\",\n compact: \"\",\n },\n layout: {\n list: \"flex flex-col gap-4\",\n chat: \"flex flex-col gap-2\",\n timeline: \"flex flex-col\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n layout: \"list\",\n },\n }\n)\n\n/**\n * CommentItem variants\n */\nexport const commentItemVariants = cva(\n \"relative transition-all duration-200\",\n {\n variants: {\n layout: {\n list: \"rounded-lg border bg-card p-4\",\n chat: \"rounded-2xl px-4 py-2 max-w-[85%]\",\n timeline: \"relative pl-8 pb-6 border-l-2 border-muted-foreground/20 ml-4\",\n },\n isOwn: {\n true: \"\",\n false: \"\",\n },\n isPinned: {\n true: \"ring-1 ring-primary/30 bg-primary/5\",\n false: \"\",\n },\n isDeleted: {\n true: \"opacity-60\",\n false: \"\",\n },\n },\n compoundVariants: [\n {\n layout: \"chat\",\n isOwn: true,\n className: \"ml-auto bg-primary text-primary-foreground\",\n },\n {\n layout: \"chat\",\n isOwn: false,\n className: \"mr-auto bg-muted\",\n },\n ],\n defaultVariants: {\n layout: \"list\",\n isOwn: false,\n isPinned: false,\n isDeleted: false,\n },\n }\n)\n\n/**\n * Comment header variants (author info and timestamp)\n */\nexport const commentHeaderVariants = cva(\n \"flex items-center gap-3\",\n {\n variants: {\n layout: {\n list: \"\",\n chat: \"\",\n timeline: \"\",\n },\n },\n defaultVariants: {\n layout: \"list\",\n },\n }\n)\n\n/**\n * Comment content variants\n */\nexport const commentContentVariants = cva(\n \"text-sm\",\n {\n variants: {\n layout: {\n list: \"mt-2\",\n chat: \"\",\n timeline: \"mt-2\",\n },\n },\n defaultVariants: {\n layout: \"list\",\n },\n }\n)\n\n/**\n * Comment actions (reply, edit, delete, react)\n */\nexport const commentActionsVariants = cva(\n \"flex items-center gap-2 text-xs\",\n {\n variants: {\n layout: {\n list: \"mt-3 pt-3 border-t border-muted\",\n chat: \"mt-1\",\n timeline: \"mt-2\",\n },\n },\n defaultVariants: {\n layout: \"list\",\n },\n }\n)\n\n/**\n * Reply thread container variants\n */\nexport const commentRepliesVariants = cva(\n \"relative\",\n {\n variants: {\n layout: {\n list: \"pl-8 mt-4 space-y-4\",\n chat: \"pl-6 mt-2 space-y-2\",\n timeline: \"pl-4 mt-2 space-y-2\",\n },\n },\n defaultVariants: {\n layout: \"list\",\n },\n }\n)\n\n/**\n * Thread line connector\n */\nexport const commentThreadLineVariants = cva(\n \"absolute left-4 top-0 bottom-0 w-0.5 bg-muted-foreground/20\",\n {\n variants: {\n layout: {\n list: \"\",\n chat: \"left-3\",\n timeline: \"left-0\",\n },\n },\n defaultVariants: {\n layout: \"list\",\n },\n }\n)\n\n/**\n * Mention highlight in content\n */\nexport const commentMentionVariants = cva(\n \"inline-flex items-center rounded px-1 font-medium cursor-pointer hover:underline\",\n {\n variants: {\n style: {\n default: \"bg-primary/10 text-primary\",\n subtle: \"text-primary\",\n },\n },\n defaultVariants: {\n style: \"default\",\n },\n }\n)\n\n/**\n * Reaction badge variants\n */\nexport const commentReactionVariants = cva(\n \"inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-xs cursor-pointer transition-colors\",\n {\n variants: {\n hasReacted: {\n true: \"bg-primary/10 border-primary/30 text-primary\",\n false: \"bg-muted border-transparent text-muted-foreground hover:bg-muted-foreground/10\",\n },\n },\n defaultVariants: {\n hasReacted: false,\n },\n }\n)\n\n/**\n * Comment input container\n */\nexport const commentInputContainerVariants = cva(\n \"relative rounded-md border bg-background transition-all duration-200\",\n {\n variants: {\n isFocused: {\n true: \"ring-2 ring-ring ring-offset-2\",\n false: \"\",\n },\n isSubmitting: {\n true: \"opacity-70 pointer-events-none\",\n false: \"\",\n },\n },\n defaultVariants: {\n isFocused: false,\n isSubmitting: false,\n },\n }\n)\n\n/**\n * Mention suggestions popover\n */\nexport const mentionSuggestionsVariants = cva(\n \"absolute z-50 min-w-52 overflow-hidden rounded-md border bg-popover p-1 shadow-md\",\n {\n variants: {\n position: {\n above: \"bottom-full mb-1\",\n below: \"top-full mt-1\",\n },\n },\n defaultVariants: {\n position: \"below\",\n },\n }\n)\n\n/**\n * Mention suggestion item\n */\nexport const mentionSuggestionItemVariants = cva(\n \"flex items-center gap-2 rounded-sm px-2 py-1.5 text-sm cursor-pointer transition-colors\",\n {\n variants: {\n isSelected: {\n true: \"bg-accent text-accent-foreground\",\n false: \"hover:bg-accent hover:text-accent-foreground\",\n },\n },\n defaultVariants: {\n isSelected: false,\n },\n }\n)\n\n/**\n * Empty state variants\n */\nexport const commentEmptyStateVariants = cva(\n \"flex flex-col items-center justify-center text-center p-8\",\n {\n variants: {\n variant: {\n default: \"\",\n compact: \"p-4\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\n/**\n * Timeline marker for timeline layout\n */\nexport const commentTimelineMarkerVariants = cva(\n \"absolute -left-2 top-0 flex h-4 w-4 items-center justify-center rounded-full border-2 bg-background\",\n {\n variants: {\n status: {\n default: \"border-muted-foreground/50\",\n active: \"border-primary bg-primary\",\n },\n },\n defaultVariants: {\n status: \"default\",\n },\n }\n)\n\n// Export variant prop types\nexport type CommentSystemVariantProps = VariantProps<typeof commentSystemVariants>\nexport type CommentItemVariantProps = VariantProps<typeof commentItemVariants>\nexport type CommentReactionVariantProps = VariantProps<typeof commentReactionVariants>\nexport type CommentInputContainerVariantProps = VariantProps<typeof commentInputContainerVariants>\nexport type MentionSuggestionsVariantProps = VariantProps<typeof mentionSuggestionsVariants>\nexport type MentionSuggestionItemVariantProps = VariantProps<typeof mentionSuggestionItemVariants>\n","import type {\n Comment,\n CommentAttachment,\n CommentDeletePayload,\n CommentEditPayload,\n CommentInputProps,\n CommentItemProps,\n CommentMentionPayload,\n CommentReaction,\n CommentReactPayload,\n CommentSubmitPayload,\n CommentSystemProps,\n CommentUser,\n Reaction,\n} from \"./CommentSystem.types\"\nimport type { KeyboardEvent, ReactNode } from \"react\"\n\nimport {\n CornerDownRight,\n Edit2,\n MessageCircle,\n MoreHorizontal,\n Paperclip,\n Send,\n Smile,\n Trash2,\n X,\n} from \"lucide-react\"\nimport { useCallback, useId, useMemo, useRef, useState } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Textarea } from \"../../forms/Textarea\"\nimport { Avatar, AvatarFallback, AvatarImage } from \"../../primitives/Avatar\"\nimport { Button } from \"../../primitives/Button\"\nimport { defaultReactions } from \"./CommentSystem.types\"\nimport {\n commentActionsVariants,\n commentContentVariants,\n commentEmptyStateVariants,\n commentHeaderVariants,\n commentInputContainerVariants,\n commentItemVariants,\n commentMentionVariants,\n commentReactionVariants,\n commentRepliesVariants,\n commentSystemVariants,\n commentThreadLineVariants,\n commentTimelineMarkerVariants,\n mentionSuggestionItemVariants,\n mentionSuggestionsVariants,\n} from \"./CommentSystem.variants\"\n\n/**\n * Get initials from a name\n */\nfunction getInitials(name: string): string {\n return name\n .split(\" \")\n .map((part) => part[0])\n .join(\"\")\n .toUpperCase()\n .slice(0, 2)\n}\n\n/**\n * Format relative time\n */\nfunction formatRelativeTime(date: Date): string {\n const now = new Date()\n const diffMs = now.getTime() - date.getTime()\n const diffSecs = Math.floor(diffMs / 1000)\n const diffMins = Math.floor(diffSecs / 60)\n const diffHours = Math.floor(diffMins / 60)\n const diffDays = Math.floor(diffHours / 24)\n\n if (diffSecs < 60) return \"agora\"\n if (diffMins < 60) return `${String(diffMins)}m atrás`\n if (diffHours < 24) return `${String(diffHours)}h atrás`\n if (diffDays < 7) return `${String(diffDays)}d atrás`\n\n return date.toLocaleDateString()\n}\n\n/**\n * Parse content and highlight mentions\n */\nfunction parseContent(\n content: string,\n mentionableUsers?: CommentUser[],\n onMentionClick?: (userId: string) => void\n): ReactNode {\n if (!content) return null\n\n // Pattern to match @mentions\n const mentionPattern = /@(\\w+)/g\n const parts: ReactNode[] = []\n let lastIndex = 0\n let match\n\n while ((match = mentionPattern.exec(content)) !== null) {\n // Add text before the mention\n if (match.index > lastIndex) {\n parts.push(content.slice(lastIndex, match.index))\n }\n\n const mentionName = match[1]\n const user = mentionableUsers?.find(\n (u) => u.name.toLowerCase().replaceAll(/\\s+/g, \"\") === mentionName?.toLowerCase()\n )\n\n parts.push(\n <span\n key={match.index}\n className={commentMentionVariants()}\n role=\"button\"\n tabIndex={0}\n onClick={() => { if (user) { onMentionClick?.(user.id); } }}\n onKeyDown={(e) => {\n if ((e.key === \"Enter\" || e.key === \" \") && user) {\n onMentionClick?.(user.id);\n }\n }}\n >\n @{mentionName}\n </span>\n )\n\n lastIndex = match.index + match[0].length\n }\n\n // Add remaining text\n if (lastIndex < content.length) {\n parts.push(content.slice(lastIndex))\n }\n\n return parts.length > 0 ? parts : content\n}\n\n/**\n * CommentInput component for writing new comments or editing\n */\nfunction CommentInput({\n placeholder = \"Escreva um comentário...\",\n allowMentions = true,\n allowAttachments = false,\n mentionableUsers = [],\n parentId,\n initialContent = \"\",\n submitLabel = \"Enviar\",\n cancelLabel = \"Cancelar\",\n isEditing = false,\n isSubmitting = false,\n showCancel = false,\n onSubmit,\n onCancel,\n onMention,\n className,\n ...props\n}: CommentInputProps) {\n const inputId = useId()\n const textareaRef = useRef<HTMLTextAreaElement>(null)\n const [content, setContent] = useState(initialContent)\n const [isFocused, setIsFocused] = useState(false)\n const [showMentions, setShowMentions] = useState(false)\n const [mentionSearch, setMentionSearch] = useState(\"\")\n const [selectedMentionIndex, setSelectedMentionIndex] = useState(0)\n\n const filteredUsers = useMemo(() => {\n if (!mentionSearch) return mentionableUsers.slice(0, 5)\n return mentionableUsers\n .filter((u) => u.name.toLowerCase().includes(mentionSearch.toLowerCase()))\n .slice(0, 5)\n }, [mentionableUsers, mentionSearch])\n\n const handleSubmit = useCallback(() => {\n if (!content.trim() || isSubmitting) return\n\n // Extract mentions from content\n const mentionPattern = /@(\\w+)/g\n const mentions: string[] = []\n let match\n\n while ((match = mentionPattern.exec(content)) !== null) {\n const matchName = match[1] ?? \"\"\n const user = mentionableUsers.find(\n (u) => u.name.toLowerCase().replaceAll(/\\s+/g, \"\") === matchName.toLowerCase()\n )\n if (user && !mentions.includes(user.id)) {\n mentions.push(user.id)\n }\n }\n\n onSubmit?.({\n content: content.trim(),\n parentId,\n mentions,\n })\n\n if (!isEditing) {\n setContent(\"\")\n }\n }, [content, isSubmitting, isEditing, parentId, mentionableUsers, onSubmit])\n\n const handleKeyDown = (e: KeyboardEvent<HTMLTextAreaElement>) => {\n if (showMentions) {\n if (e.key === \"ArrowDown\") {\n e.preventDefault()\n setSelectedMentionIndex((prev) =>\n Math.min(prev + 1, filteredUsers.length - 1)\n )\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault()\n setSelectedMentionIndex((prev) => Math.max(prev - 1, 0))\n } else if (e.key === \"Enter\" && !e.shiftKey) {\n e.preventDefault()\n const selectedUser = filteredUsers[selectedMentionIndex]\n if (selectedUser) {\n insertMention(selectedUser)\n }\n } else if (e.key === \"Escape\") {\n setShowMentions(false)\n }\n } else if (e.key === \"Enter\" && (e.ctrlKey || e.metaKey)) {\n e.preventDefault()\n handleSubmit()\n }\n }\n\n const handleChange = (value: string) => {\n setContent(value)\n\n if (allowMentions) {\n // Check for @ trigger\n const cursorPos = textareaRef.current?.selectionStart ?? 0\n const textBeforeCursor = value.slice(0, cursorPos)\n const atMatch = /@(\\w*)$/.exec(textBeforeCursor)\n\n if (atMatch) {\n setShowMentions(true)\n setMentionSearch(atMatch[1] ?? \"\")\n setSelectedMentionIndex(0)\n } else {\n setShowMentions(false)\n setMentionSearch(\"\")\n }\n }\n }\n\n const insertMention = (user: CommentUser) => {\n const cursorPos = textareaRef.current?.selectionStart ?? 0\n const textBeforeCursor = content.slice(0, cursorPos)\n const textAfterCursor = content.slice(cursorPos)\n const atMatch = /@(\\w*)$/.exec(textBeforeCursor)\n\n if (atMatch) {\n const newTextBefore = textBeforeCursor.slice(0, atMatch.index)\n const mention = `@${user.name.replaceAll(/\\s+/g, \"\")} `\n setContent(newTextBefore + mention + textAfterCursor)\n setShowMentions(false)\n setMentionSearch(\"\")\n onMention?.({ userId: user.id })\n\n // Focus back on textarea\n setTimeout(() => {\n textareaRef.current?.focus()\n const newCursorPos = newTextBefore.length + mention.length\n textareaRef.current?.setSelectionRange(newCursorPos, newCursorPos)\n }, 0)\n }\n }\n\n return (\n <div\n className={cn(\n commentInputContainerVariants({ isFocused, isSubmitting }),\n className\n )}\n data-slot=\"comment-input\"\n {...props}\n >\n <div className=\"relative\">\n <Textarea\n ref={textareaRef}\n aria-describedby={`${inputId}-help`}\n aria-label={isEditing ? \"Editar comentário\" : \"Novo comentário\"}\n className=\"min-h-20 resize-none border-0 focus-visible:ring-0 focus-visible:ring-offset-0\"\n disabled={isSubmitting}\n id={inputId}\n placeholder={placeholder}\n value={content}\n onBlur={() => { setIsFocused(false); }}\n onChange={(e) => { handleChange(e.target.value); }}\n onFocus={() => { setIsFocused(true); }}\n onKeyDown={handleKeyDown}\n />\n\n {/* Mention suggestions */}\n {showMentions && filteredUsers.length > 0 && (\n <div\n className={mentionSuggestionsVariants({ position: \"below\" })}\n data-slot=\"comment-mention-suggestions\"\n role=\"listbox\"\n >\n {filteredUsers.map((user, index) => (\n <button\n key={user.id}\n className={mentionSuggestionItemVariants({\n isSelected: index === selectedMentionIndex,\n })}\n aria-selected={index === selectedMentionIndex}\n role=\"option\"\n type=\"button\"\n onClick={() => { insertMention(user); }}\n >\n <Avatar size=\"xs\">\n {user.avatar ? (\n <AvatarImage alt={user.name} src={user.avatar} />\n ) : null}\n <AvatarFallback>{getInitials(user.name)}</AvatarFallback>\n </Avatar>\n <span>{user.name}</span>\n {user.role && (\n <span className=\"text-muted-foreground text-xs\">\n {user.role}\n </span>\n )}\n </button>\n ))}\n </div>\n )}\n </div>\n\n <div className=\"flex items-center justify-between border-t p-2\">\n <div className=\"flex items-center gap-1\">\n {allowMentions && (\n <Button\n aria-label=\"Mencionar alguém\"\n disabled={isSubmitting}\n size=\"sm\"\n type=\"button\"\n variant=\"ghost\"\n onClick={() => {\n const newContent = content + \"@\"\n setContent(newContent)\n handleChange(newContent)\n textareaRef.current?.focus()\n }}\n >\n <span className=\"text-sm font-medium\">@</span>\n </Button>\n )}\n {allowAttachments && (\n <Button\n aria-label=\"Anexar arquivo\"\n disabled={isSubmitting}\n size=\"sm\"\n type=\"button\"\n variant=\"ghost\"\n >\n <Paperclip className=\"h-4 w-4\" />\n </Button>\n )}\n <Button\n aria-label=\"Adicionar emoji\"\n disabled={isSubmitting}\n size=\"sm\"\n type=\"button\"\n variant=\"ghost\"\n >\n <Smile className=\"h-4 w-4\" />\n </Button>\n </div>\n\n <div className=\"flex items-center gap-2\">\n {showCancel && (\n <Button\n disabled={isSubmitting}\n size=\"sm\"\n type=\"button\"\n variant=\"ghost\"\n onClick={onCancel}\n >\n {cancelLabel}\n </Button>\n )}\n <Button\n disabled={!content.trim() || isSubmitting}\n size=\"sm\"\n type=\"button\"\n onClick={handleSubmit}\n >\n <Send className=\"mr-1 h-4 w-4\" />\n {submitLabel}\n </Button>\n </div>\n </div>\n\n <span className=\"sr-only\" id={`${inputId}-help`}>\n Pressione Ctrl+Enter para enviar. Use @ para mencionar alguém.\n </span>\n </div>\n )\n}\n\n/**\n * CommentReactions component displays and manages reactions\n */\nfunction CommentReactions({\n commentId,\n reactions = [],\n availableReactions = defaultReactions,\n readOnly = false,\n onReact,\n}: {\n availableReactions?: Reaction[]\n commentId: string\n onReact?: (payload: CommentReactPayload) => void\n reactions?: { count: number; emoji: string; hasReacted?: boolean; users: string[] }[]\n readOnly?: boolean\n}) {\n const [showPicker, setShowPicker] = useState(false)\n\n const handleReact = (emoji: string) => {\n onReact?.({ commentId, reaction: emoji })\n setShowPicker(false)\n }\n\n return (\n <div className=\"flex flex-wrap items-center gap-1\" data-slot=\"comment-reactions\">\n {reactions.map((reaction) => (\n <button\n key={reaction.emoji}\n className={commentReactionVariants({\n hasReacted: reaction.hasReacted,\n })}\n disabled={readOnly}\n title={`${String(reaction.count)} ${reaction.count === 1 ? \"pessoa\" : \"pessoas\"}`}\n type=\"button\"\n onClick={() => { handleReact(reaction.emoji); }}\n >\n <span>{reaction.emoji}</span>\n <span>{reaction.count}</span>\n </button>\n ))}\n\n {!readOnly && (\n <div className=\"relative\">\n <button\n className=\"inline-flex h-6 w-6 items-center justify-center rounded-full border border-dashed border-muted-foreground/30 text-muted-foreground transition-colors hover:border-muted-foreground hover:text-foreground\"\n title=\"Adicionar reação\"\n type=\"button\"\n onClick={() => { setShowPicker(!showPicker); }}\n >\n <Smile className=\"h-3 w-3\" />\n </button>\n\n {showPicker && (\n <div\n className=\"absolute bottom-full left-0 z-50 mb-1 flex gap-1 rounded-lg border bg-popover p-2 shadow-lg\"\n role=\"listbox\"\n >\n {availableReactions.map((reaction) => (\n <button\n key={reaction.shortcode}\n className=\"rounded p-1 text-lg transition-colors hover:bg-accent\"\n role=\"option\"\n title={reaction.label}\n type=\"button\"\n onClick={() => { handleReact(reaction.emoji); }}\n >\n {reaction.emoji}\n </button>\n ))}\n </div>\n )}\n </div>\n )}\n </div>\n )\n}\n\n/**\n * CommentItem component renders a single comment\n */\nfunction CommentItem({\n comment,\n confirmDelete,\n currentUser,\n depth = 0,\n maxDepth = 3,\n layout = \"list\",\n allowReplies = true,\n allowReactions = true,\n allowEditing = true,\n allowDeleting = true,\n allowMentions = true,\n reactions = defaultReactions,\n mentionableUsers = [],\n readOnly = false,\n onReply,\n onEdit,\n onDelete,\n onReact,\n className,\n ...props\n}: CommentItemProps) {\n const commentId = useId()\n const [isReplying, setIsReplying] = useState(false)\n const [isEditing, setIsEditing] = useState(false)\n const [showActions, setShowActions] = useState(false)\n\n const isOwn = currentUser?.id === comment.author.id\n const canReply = allowReplies && depth < maxDepth && !readOnly\n const canEdit = allowEditing && isOwn && !readOnly && !comment.isDeleted\n const canDelete = allowDeleting && isOwn && !readOnly && !comment.isDeleted\n\n const handleReply = (payload: CommentSubmitPayload) => {\n onReply?.({ ...payload, parentId: comment.id })\n setIsReplying(false)\n }\n\n const handleEdit = (payload: CommentSubmitPayload) => {\n onEdit?.({ id: comment.id, content: payload.content })\n setIsEditing(false)\n }\n\n const handleDelete = () => {\n const shouldDelete = confirmDelete\n ? confirmDelete(comment)\n : window.confirm(\"Tem certeza que deseja excluir este comentário?\")\n\n if (shouldDelete) {\n onDelete?.({ id: comment.id })\n }\n }\n\n if (comment.isDeleted) {\n return (\n <article\n data-deleted\n aria-label=\"Comentário excluído\"\n className={cn(commentItemVariants({ layout, isDeleted: true }), className)}\n data-slot=\"comment-item\"\n {...props}\n >\n <p className=\"text-sm italic text-muted-foreground\">\n Este comentário foi excluído.\n </p>\n </article>\n )\n }\n\n return (\n <article\n className={cn(\n commentItemVariants({ layout, isOwn, isPinned: comment.isPinned }),\n className\n )}\n aria-describedby={`${commentId}-content`}\n aria-label={`Comentário de ${comment.author.name}`}\n data-slot=\"comment-item\"\n {...props}\n >\n {/* Timeline marker */}\n {layout === \"timeline\" && (\n <div\n className={commentTimelineMarkerVariants({ status: \"default\" })}\n data-slot=\"comment-timeline-marker\"\n />\n )}\n\n {/* Header */}\n <div className={commentHeaderVariants({ layout })} data-slot=\"comment-header\">\n {layout !== \"chat\" && (\n <Avatar size=\"sm\">\n {comment.author.avatar ? (\n <AvatarImage alt={comment.author.name} src={comment.author.avatar} />\n ) : null}\n <AvatarFallback>{getInitials(comment.author.name)}</AvatarFallback>\n </Avatar>\n )}\n\n <div className=\"flex flex-1 items-center gap-2\">\n <span className=\"text-sm font-medium text-foreground\">\n {comment.author.name}\n </span>\n <span className=\"text-xs text-muted-foreground\">\n {formatRelativeTime(comment.createdAt)}\n </span>\n {comment.isEdited && (\n <span className=\"text-xs text-muted-foreground\">(editado)</span>\n )}\n {comment.isPinned && (\n <span className=\"text-xs font-medium text-primary\">Fixado</span>\n )}\n </div>\n\n {(canEdit || canDelete) && (\n <div className=\"relative\">\n <Button\n aria-expanded={showActions}\n aria-haspopup=\"true\"\n aria-label=\"Mais ações\"\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => { setShowActions(!showActions); }}\n >\n <MoreHorizontal className=\"h-4 w-4\" />\n </Button>\n\n {showActions && (\n <div\n className=\"absolute right-0 top-full z-10 mt-1 min-w-28 rounded-md border bg-popover p-1 shadow-md\"\n role=\"menu\"\n >\n {canEdit && (\n <button\n className=\"flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-accent\"\n role=\"menuitem\"\n type=\"button\"\n onClick={() => {\n setIsEditing(true)\n setShowActions(false)\n }}\n >\n <Edit2 className=\"h-3.5 w-3.5\" />\n Editar\n </button>\n )}\n {canDelete && (\n <button\n className=\"flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm text-destructive hover:bg-accent\"\n role=\"menuitem\"\n type=\"button\"\n onClick={() => {\n handleDelete()\n setShowActions(false)\n }}\n >\n <Trash2 className=\"h-3.5 w-3.5\" />\n Excluir\n </button>\n )}\n </div>\n )}\n </div>\n )}\n </div>\n\n {/* Content */}\n {isEditing ? (\n <div className=\"mt-2\">\n <CommentInput\n isEditing\n showCancel\n allowMentions={allowMentions}\n cancelLabel=\"Cancelar\"\n initialContent={comment.content}\n mentionableUsers={mentionableUsers}\n placeholder=\"Editar comentário...\"\n submitLabel=\"Salvar\"\n onCancel={() => { setIsEditing(false); }}\n onSubmit={handleEdit}\n />\n </div>\n ) : (\n <div\n className={commentContentVariants({ layout })}\n data-slot=\"comment-content\"\n id={`${commentId}-content`}\n >\n <p className=\"whitespace-pre-wrap\">\n {parseContent(comment.content, mentionableUsers)}\n </p>\n </div>\n )}\n\n {/* Attachments */}\n {comment.attachments && comment.attachments.length > 0 && (\n <div className=\"mt-2 flex flex-wrap gap-2\" data-slot=\"comment-attachments\">\n {comment.attachments.map((attachment) => (\n <a\n key={attachment.id}\n className=\"flex items-center gap-1 rounded border bg-muted/50 px-2 py-1 text-xs hover:bg-muted\"\n href={attachment.url}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n <Paperclip className=\"h-3 w-3\" />\n {attachment.name}\n </a>\n ))}\n </div>\n )}\n\n {/* Reactions */}\n {allowReactions && (\n <div className=\"mt-2\">\n <CommentReactions\n availableReactions={reactions}\n commentId={comment.id}\n reactions={comment.reactions}\n readOnly={readOnly}\n onReact={onReact}\n />\n </div>\n )}\n\n {/* Actions */}\n <div className={commentActionsVariants({ layout })} data-slot=\"comment-actions\">\n {canReply && (\n <Button\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => { setIsReplying(!isReplying); }}\n >\n <CornerDownRight className=\"mr-1 h-3 w-3\" />\n Responder\n </Button>\n )}\n </div>\n\n {/* Reply input */}\n {isReplying && (\n <div className=\"mt-3\">\n <CommentInput\n showCancel\n allowMentions={allowMentions}\n mentionableUsers={mentionableUsers}\n parentId={comment.id}\n placeholder={`Responder a ${comment.author.name}...`}\n onCancel={() => { setIsReplying(false); }}\n onSubmit={handleReply}\n />\n </div>\n )}\n\n {/* Replies */}\n {comment.replies && comment.replies.length > 0 && (\n <div\n className={cn(\n commentRepliesVariants({ layout }),\n \"relative\"\n )}\n data-slot=\"comment-replies\"\n >\n {layout === \"list\" && (\n <div className={commentThreadLineVariants({ layout })} />\n )}\n {comment.replies.map((reply) => (\n <CommentItem\n key={reply.id}\n allowDeleting={allowDeleting}\n allowEditing={allowEditing}\n allowMentions={allowMentions}\n allowReactions={allowReactions}\n allowReplies={allowReplies}\n comment={reply}\n confirmDelete={confirmDelete}\n currentUser={currentUser}\n depth={depth + 1}\n layout={layout}\n maxDepth={maxDepth}\n mentionableUsers={mentionableUsers}\n reactions={reactions}\n readOnly={readOnly}\n onDelete={onDelete}\n onEdit={onEdit}\n onReact={onReact}\n onReply={onReply}\n />\n ))}\n </div>\n )}\n </article>\n )\n}\n\n/**\n * CommentSystem displays and manages a complete comment system\n * with threading, mentions, reactions, and moderation support.\n *\n * @example\n * ```tsx\n * const comments = [\n * {\n * id: '1',\n * content: 'Great work!',\n * author: { id: '1', name: 'John Doe' },\n * createdAt: new Date()\n * }\n * ]\n *\n * <CommentSystem\n * comments={comments}\n * currentUser={{ id: '2', name: 'Jane Doe' }}\n * onSubmit={({ content }) => console.log('New comment:', content)}\n * />\n * ```\n */\nfunction CommentSystem({\n comments,\n variant = \"default\",\n layout = \"list\",\n confirmDelete,\n currentUser,\n allowReplies = true,\n allowReactions = true,\n allowEditing = true,\n allowDeleting = true,\n allowMentions = true,\n allowAttachments = false,\n maxDepth = 3,\n mentionableUsers = [],\n reactions = defaultReactions,\n placeholder = \"Escreva um comentário...\",\n readOnly = false,\n isLoading = false,\n error,\n onSubmit,\n onEdit,\n onDelete,\n onReact,\n onMention,\n onLoadMore,\n className,\n \"aria-label\": ariaLabel = \"Sistema de comentários\",\n ...props\n}: CommentSystemProps) {\n const systemId = useId()\n\n const handleReply = (payload: CommentSubmitPayload) => {\n onSubmit?.(payload)\n }\n\n const hasComments = comments.length > 0\n const showInput = !readOnly && currentUser\n\n // Loading state\n if (isLoading) {\n return (\n <div\n data-loading\n aria-busy=\"true\"\n aria-label={ariaLabel}\n className={cn(commentSystemVariants({ variant, layout }), className)}\n data-slot=\"comment-system\"\n {...props}\n >\n <div className=\"flex flex-col gap-4\">\n {[1, 2, 3].map((i) => (\n <div\n key={i}\n className=\"animate-pulse rounded-lg border bg-card p-4\"\n >\n <div className=\"flex items-center gap-3\">\n <div className=\"h-8 w-8 rounded-full bg-muted\" />\n <div className=\"space-y-2\">\n <div className=\"h-4 w-24 rounded bg-muted\" />\n <div className=\"h-3 w-16 rounded bg-muted\" />\n </div>\n </div>\n <div className=\"mt-3 space-y-2\">\n <div className=\"h-4 w-full rounded bg-muted\" />\n <div className=\"h-4 w-3/4 rounded bg-muted\" />\n </div>\n </div>\n ))}\n </div>\n </div>\n )\n }\n\n // Error state\n if (error) {\n return (\n <div\n data-error\n aria-label={ariaLabel}\n className={cn(commentSystemVariants({ variant, layout }), className)}\n data-slot=\"comment-system\"\n {...props}\n >\n <div className=\"rounded-lg border border-destructive/50 bg-destructive/5 p-4 text-center\">\n <X className=\"mx-auto h-8 w-8 text-destructive\" />\n <p className=\"mt-2 text-sm text-destructive\">{error}</p>\n <Button\n className=\"mt-3\"\n size=\"sm\"\n variant=\"outline\"\n onClick={() => onLoadMore?.({})}\n >\n Tentar novamente\n </Button>\n </div>\n </div>\n )\n }\n\n return (\n <div\n aria-label={ariaLabel}\n className={cn(commentSystemVariants({ variant, layout }), className)}\n data-slot=\"comment-system\"\n data-variant={variant}\n id={systemId}\n {...props}\n >\n {/* Input for new comments */}\n {showInput && (\n <div className=\"mb-4\" data-slot=\"comment-system-input\">\n <CommentInput\n allowAttachments={allowAttachments}\n allowMentions={allowMentions}\n mentionableUsers={mentionableUsers}\n placeholder={placeholder}\n onMention={onMention}\n onSubmit={onSubmit}\n />\n </div>\n )}\n\n {/* Comments list */}\n {hasComments ? (\n <div data-slot=\"comment-system-list\" role=\"feed\">\n {comments.map((comment) => (\n <CommentItem\n key={comment.id}\n allowDeleting={allowDeleting}\n allowEditing={allowEditing}\n allowMentions={allowMentions}\n allowReactions={allowReactions}\n allowReplies={allowReplies}\n comment={comment}\n confirmDelete={confirmDelete}\n currentUser={currentUser}\n layout={layout ?? \"list\"}\n maxDepth={maxDepth}\n mentionableUsers={mentionableUsers}\n reactions={reactions}\n readOnly={readOnly}\n onDelete={onDelete}\n onEdit={onEdit}\n onReact={onReact}\n onReply={handleReply}\n />\n ))}\n </div>\n ) : (\n <div\n className={commentEmptyStateVariants({\n variant: variant === \"compact\" ? \"compact\" : \"default\",\n })}\n data-slot=\"comment-system-empty\"\n >\n <MessageCircle className=\"h-12 w-12 text-muted-foreground/50\" />\n <p className=\"mt-2 text-sm text-muted-foreground\">\n Nenhum comentário ainda.\n </p>\n {!readOnly && currentUser && (\n <p className=\"mt-1 text-xs text-muted-foreground\">\n Seja o primeiro a comentar!\n </p>\n )}\n </div>\n )}\n\n {/* Load more button */}\n {onLoadMore && hasComments && (\n <div className=\"mt-4 text-center\">\n <Button\n size=\"sm\"\n variant=\"outline\"\n onClick={() => {\n onLoadMore({ before: comments[comments.length - 1]?.id })\n }}\n >\n Carregar mais comentários\n </Button>\n </div>\n )}\n </div>\n )\n}\n\nexport {\n commentActionsVariants,\n commentContentVariants,\n commentEmptyStateVariants,\n commentHeaderVariants,\n CommentInput,\n commentInputContainerVariants,\n CommentItem,\n commentItemVariants,\n commentMentionVariants,\n CommentReactions,\n commentReactionVariants,\n commentRepliesVariants,\n CommentSystem,\n commentSystemVariants,\n commentThreadLineVariants,\n commentTimelineMarkerVariants,\n defaultReactions,\n mentionSuggestionItemVariants,\n mentionSuggestionsVariants,\n}\n\nexport type {\n Comment,\n CommentAttachment,\n CommentDeletePayload,\n CommentEditPayload,\n CommentInputProps,\n CommentItemProps,\n CommentMentionPayload,\n CommentReaction,\n CommentReactPayload,\n CommentSubmitPayload,\n CommentSystemProps,\n CommentUser,\n Reaction,\n}\n"]}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { Label } from './chunk-SCGKQ5RE.js';
|
|
2
|
+
import { cn } from './chunk-HRNDJU7D.js';
|
|
3
|
+
import { Slot } from '@radix-ui/react-slot';
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import { FormProvider, Controller, useFormContext, useFormState } from 'react-hook-form';
|
|
6
|
+
import { cva } from 'class-variance-authority';
|
|
7
|
+
import { jsx } from 'react/jsx-runtime';
|
|
8
|
+
|
|
9
|
+
var formItemVariants = cva("grid gap-2", {
|
|
10
|
+
variants: {
|
|
11
|
+
spacing: {
|
|
12
|
+
default: "gap-2",
|
|
13
|
+
tight: "gap-1",
|
|
14
|
+
loose: "gap-3"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
defaultVariants: {
|
|
18
|
+
spacing: "default"
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
var formLabelVariants = cva(
|
|
22
|
+
"text-[length:var(--form-label-size)] font-[var(--form-label-weight)] text-[color:var(--form-label-fg)] leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
|
|
23
|
+
{
|
|
24
|
+
variants: {
|
|
25
|
+
error: {
|
|
26
|
+
true: "text-[color:var(--form-error-fg)]",
|
|
27
|
+
false: ""
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
defaultVariants: {
|
|
31
|
+
error: false
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
var formDescriptionVariants = cva("text-muted-foreground text-sm", {
|
|
36
|
+
variants: {
|
|
37
|
+
size: {
|
|
38
|
+
default: "text-sm",
|
|
39
|
+
small: "text-xs"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
defaultVariants: {
|
|
43
|
+
size: "default"
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
var formMessageVariants = cva("text-sm font-medium", {
|
|
47
|
+
variants: {
|
|
48
|
+
state: {
|
|
49
|
+
error: "text-destructive",
|
|
50
|
+
success: "text-success",
|
|
51
|
+
info: "text-muted-foreground"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
defaultVariants: {
|
|
55
|
+
state: "error"
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
var Form = FormProvider;
|
|
59
|
+
var FormFieldContext = React.createContext(
|
|
60
|
+
{}
|
|
61
|
+
);
|
|
62
|
+
function FormField({ ...props }) {
|
|
63
|
+
return /* @__PURE__ */ jsx(FormFieldContext, { value: { name: props.name }, children: /* @__PURE__ */ jsx(Controller, { ...props }) });
|
|
64
|
+
}
|
|
65
|
+
var useFormField = () => {
|
|
66
|
+
const fieldContext = React.use(FormFieldContext);
|
|
67
|
+
const itemContext = React.use(FormItemContext);
|
|
68
|
+
const { getFieldState } = useFormContext();
|
|
69
|
+
const formState = useFormState({ name: fieldContext.name });
|
|
70
|
+
const fieldState = getFieldState(fieldContext.name, formState);
|
|
71
|
+
const { id } = itemContext;
|
|
72
|
+
return {
|
|
73
|
+
id,
|
|
74
|
+
name: fieldContext.name,
|
|
75
|
+
formItemId: `${id}-form-item`,
|
|
76
|
+
formDescriptionId: `${id}-form-item-description`,
|
|
77
|
+
formMessageId: `${id}-form-item-message`,
|
|
78
|
+
...fieldState
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
var FormItemContext = React.createContext(
|
|
82
|
+
{}
|
|
83
|
+
);
|
|
84
|
+
function FormItem({ className, spacing, ...props }) {
|
|
85
|
+
const id = React.useId();
|
|
86
|
+
return /* @__PURE__ */ jsx(FormItemContext, { value: { id }, children: /* @__PURE__ */ jsx(
|
|
87
|
+
"div",
|
|
88
|
+
{
|
|
89
|
+
className: cn(formItemVariants({ spacing }), className),
|
|
90
|
+
"data-slot": "form-item",
|
|
91
|
+
...props
|
|
92
|
+
}
|
|
93
|
+
) });
|
|
94
|
+
}
|
|
95
|
+
function FormLabel({ className, ...props }) {
|
|
96
|
+
const { error, formItemId } = useFormField();
|
|
97
|
+
return /* @__PURE__ */ jsx(
|
|
98
|
+
Label,
|
|
99
|
+
{
|
|
100
|
+
className: cn(formLabelVariants({ error: !!error }), className),
|
|
101
|
+
"data-error": !!error,
|
|
102
|
+
"data-slot": "form-label",
|
|
103
|
+
htmlFor: formItemId,
|
|
104
|
+
...props
|
|
105
|
+
}
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
function FormControl({ ...props }) {
|
|
109
|
+
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
|
|
110
|
+
return /* @__PURE__ */ jsx(
|
|
111
|
+
Slot,
|
|
112
|
+
{
|
|
113
|
+
"aria-describedby": !error ? formDescriptionId : `${formDescriptionId} ${formMessageId}`,
|
|
114
|
+
"aria-invalid": !!error,
|
|
115
|
+
"data-slot": "form-control",
|
|
116
|
+
id: formItemId,
|
|
117
|
+
...props
|
|
118
|
+
}
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
function FormDescription({ className, size, ...props }) {
|
|
122
|
+
const { formDescriptionId } = useFormField();
|
|
123
|
+
return /* @__PURE__ */ jsx(
|
|
124
|
+
"p",
|
|
125
|
+
{
|
|
126
|
+
className: cn(formDescriptionVariants({ size }), className),
|
|
127
|
+
"data-slot": "form-description",
|
|
128
|
+
id: formDescriptionId,
|
|
129
|
+
...props
|
|
130
|
+
}
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
function FormMessage({
|
|
134
|
+
className,
|
|
135
|
+
state,
|
|
136
|
+
children,
|
|
137
|
+
...props
|
|
138
|
+
}) {
|
|
139
|
+
const { error, formMessageId } = useFormField();
|
|
140
|
+
const body = error ? error.message ?? "" : children;
|
|
141
|
+
if (!body) {
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
return /* @__PURE__ */ jsx(
|
|
145
|
+
"p",
|
|
146
|
+
{
|
|
147
|
+
className: cn(formMessageVariants({ state }), className),
|
|
148
|
+
"data-slot": "form-message",
|
|
149
|
+
id: formMessageId,
|
|
150
|
+
role: "alert",
|
|
151
|
+
...props,
|
|
152
|
+
children: body
|
|
153
|
+
}
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
export { Form, FormControl, FormDescription, FormField, FormFieldContext, FormItem, FormItemContext, FormLabel, FormMessage, formDescriptionVariants, formItemVariants, formLabelVariants, formMessageVariants, useFormField };
|
|
158
|
+
//# sourceMappingURL=chunk-JMZ4CO6R.js.map
|
|
159
|
+
//# sourceMappingURL=chunk-JMZ4CO6R.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/forms/Form/Form.variants.ts","../src/components/forms/Form/Form.tsx"],"names":[],"mappings":"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","file":"chunk-JMZ4CO6R.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * FormItem variant styles using CVA\n *\n * Controls spacing and layout for form field containers.\n */\nexport const formItemVariants = cva(\"grid gap-2\", {\n variants: {\n spacing: {\n default: \"gap-2\",\n tight: \"gap-1\",\n loose: \"gap-3\",\n },\n },\n defaultVariants: {\n spacing: \"default\",\n },\n})\n\n/**\n * FormLabel variant styles using CVA\n *\n * Handles label styling with error state support.\n */\nexport const formLabelVariants = cva(\n \"text-[length:var(--form-label-size)] font-[var(--form-label-weight)] text-[color:var(--form-label-fg)] leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n {\n variants: {\n error: {\n true: \"text-[color:var(--form-error-fg)]\",\n false: \"\",\n },\n },\n defaultVariants: {\n error: false,\n },\n }\n)\n\n/**\n * FormDescription variant styles using CVA\n *\n * Provides consistent styling for field helper text.\n */\nexport const formDescriptionVariants = cva(\"text-muted-foreground text-sm\", {\n variants: {\n size: {\n default: \"text-sm\",\n small: \"text-xs\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n})\n\n/**\n * FormMessage variant styles using CVA\n *\n * Styles validation messages with different states (error, success).\n */\nexport const formMessageVariants = cva(\"text-sm font-medium\", {\n variants: {\n state: {\n error: \"text-destructive\",\n success: \"text-success\",\n info: \"text-muted-foreground\",\n },\n },\n defaultVariants: {\n state: \"error\",\n },\n})\n\n// Export variant prop types\nexport type FormItemVariantProps = VariantProps<typeof formItemVariants>\nexport type FormLabelVariantProps = VariantProps<typeof formLabelVariants>\nexport type FormDescriptionVariantProps = VariantProps<\n typeof formDescriptionVariants\n>\nexport type FormMessageVariantProps = VariantProps<typeof formMessageVariants>\n","\"use client\"\n\nimport type {\n FormControlProps,\n FormDescriptionProps,\n FormFieldContextValue,\n FormItemContextValue,\n FormItemProps,\n FormLabelProps,\n FormMessageProps,\n} from \"./Form.types\"\n\nimport { Slot } from \"@radix-ui/react-slot\"\nimport * as React from \"react\"\nimport {\n Controller,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n FormProvider,\n useFormContext,\n useFormState,\n} from \"react-hook-form\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Label } from \"../../primitives/Label\"\nimport {\n formDescriptionVariants,\n formItemVariants,\n formLabelVariants,\n formMessageVariants,\n} from \"./Form.variants\"\n\nconst Form = FormProvider\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n)\n\nfunction FormField<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({ ...props }: ControllerProps<TFieldValues, TName>) {\n return (\n <FormFieldContext value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.use(FormFieldContext)\n const itemContext = React.use(FormItemContext)\n const { getFieldState } = useFormContext()\n const formState = useFormState({ name: fieldContext.name })\n const fieldState = getFieldState(fieldContext.name, formState)\n\n const { id } = itemContext\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue\n)\n\nfunction FormItem({ className, spacing, ...props }: FormItemProps) {\n const id = React.useId()\n\n return (\n <FormItemContext value={{ id }}>\n <div\n className={cn(formItemVariants({ spacing }), className)}\n data-slot=\"form-item\"\n {...props}\n />\n </FormItemContext>\n )\n}\n\nfunction FormLabel({ className, ...props }: FormLabelProps) {\n const { error, formItemId } = useFormField()\n\n return (\n <Label\n className={cn(formLabelVariants({ error: !!error }), className)}\n data-error={!!error}\n data-slot=\"form-label\"\n htmlFor={formItemId}\n {...props}\n />\n )\n}\n\nfunction FormControl({ ...props }: FormControlProps) {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <Slot\n aria-describedby={\n !error\n ? formDescriptionId\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n data-slot=\"form-control\"\n id={formItemId}\n {...props}\n />\n )\n}\n\nfunction FormDescription({ className, size, ...props }: FormDescriptionProps) {\n const { formDescriptionId } = useFormField()\n\n return (\n <p\n className={cn(formDescriptionVariants({ size }), className)}\n data-slot=\"form-description\"\n id={formDescriptionId}\n {...props}\n />\n )\n}\n\nfunction FormMessage({\n className,\n state,\n children,\n ...props\n}: FormMessageProps) {\n const { error, formMessageId } = useFormField()\n const body = error ? (error.message ?? \"\") : children\n\n if (!body) {\n return null\n }\n\n return (\n <p\n className={cn(formMessageVariants({ state }), className)}\n data-slot=\"form-message\"\n id={formMessageId}\n role=\"alert\"\n {...props}\n >\n {body}\n </p>\n )\n}\n\nexport {\n Form,\n FormControl,\n FormDescription,\n FormField,\n FormFieldContext,\n FormItem,\n FormItemContext,\n FormLabel,\n FormMessage,\n useFormField,\n}\n"]}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { TextInput } from './chunk-PWCMCMDN.js';
|
|
2
|
+
import { cn } from './chunk-HRNDJU7D.js';
|
|
3
|
+
import { SearchIcon, XIcon } from 'lucide-react';
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import { cva } from 'class-variance-authority';
|
|
6
|
+
import { jsx } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var searchIconVariants = cva(
|
|
9
|
+
"flex items-center justify-center text-muted-foreground/80",
|
|
10
|
+
{
|
|
11
|
+
variants: {
|
|
12
|
+
size: {
|
|
13
|
+
xs: "[&_svg]:size-3",
|
|
14
|
+
sm: "[&_svg]:size-3.5",
|
|
15
|
+
md: "[&_svg]:size-4",
|
|
16
|
+
lg: "[&_svg]:size-4.5",
|
|
17
|
+
xl: "[&_svg]:size-5"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
defaultVariants: {
|
|
21
|
+
size: "md"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
);
|
|
25
|
+
var searchClearButtonVariants = cva(
|
|
26
|
+
[
|
|
27
|
+
"flex items-center justify-center",
|
|
28
|
+
"text-muted-foreground hover:text-foreground",
|
|
29
|
+
"transition-colors rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-ring"
|
|
30
|
+
],
|
|
31
|
+
{
|
|
32
|
+
variants: {
|
|
33
|
+
size: {
|
|
34
|
+
xs: "size-4 [&_svg]:size-3",
|
|
35
|
+
sm: "size-5 [&_svg]:size-3.5",
|
|
36
|
+
md: "size-6 [&_svg]:size-4",
|
|
37
|
+
lg: "size-7 [&_svg]:size-4.5",
|
|
38
|
+
xl: "size-8 [&_svg]:size-5"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
defaultVariants: {
|
|
42
|
+
size: "md"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
function SearchInput({
|
|
47
|
+
className,
|
|
48
|
+
size = "md",
|
|
49
|
+
variant = "default",
|
|
50
|
+
showClearButton = true,
|
|
51
|
+
onClear,
|
|
52
|
+
searchIcon,
|
|
53
|
+
clearIcon,
|
|
54
|
+
disabled,
|
|
55
|
+
value,
|
|
56
|
+
defaultValue,
|
|
57
|
+
onChange,
|
|
58
|
+
...props
|
|
59
|
+
}) {
|
|
60
|
+
const [internalValue, setInternalValue] = React.useState(defaultValue ?? "");
|
|
61
|
+
const isControlled = value !== void 0;
|
|
62
|
+
const currentValue = isControlled ? value : internalValue;
|
|
63
|
+
const hasValue = currentValue !== "";
|
|
64
|
+
const handleChange = React.useCallback(
|
|
65
|
+
(e) => {
|
|
66
|
+
if (!isControlled) {
|
|
67
|
+
setInternalValue(e.target.value);
|
|
68
|
+
}
|
|
69
|
+
onChange?.(e);
|
|
70
|
+
},
|
|
71
|
+
[isControlled, onChange]
|
|
72
|
+
);
|
|
73
|
+
const handleClear = React.useCallback(() => {
|
|
74
|
+
if (!isControlled) {
|
|
75
|
+
setInternalValue("");
|
|
76
|
+
}
|
|
77
|
+
onClear?.();
|
|
78
|
+
}, [isControlled, onClear]);
|
|
79
|
+
const showClear = showClearButton && hasValue;
|
|
80
|
+
const leading = /* @__PURE__ */ jsx("span", { className: cn(searchIconVariants({ size })), "data-slot": "search-icon", children: searchIcon ?? /* @__PURE__ */ jsx(SearchIcon, { "aria-hidden": "true" }) });
|
|
81
|
+
const trailing = showClear ? /* @__PURE__ */ jsx(
|
|
82
|
+
"button",
|
|
83
|
+
{
|
|
84
|
+
"aria-label": "Clear search",
|
|
85
|
+
className: cn(searchClearButtonVariants({ size })),
|
|
86
|
+
"data-slot": "clear-button",
|
|
87
|
+
disabled,
|
|
88
|
+
tabIndex: -1,
|
|
89
|
+
type: "button",
|
|
90
|
+
onClick: handleClear,
|
|
91
|
+
children: clearIcon ?? /* @__PURE__ */ jsx(XIcon, { "aria-hidden": "true" })
|
|
92
|
+
}
|
|
93
|
+
) : void 0;
|
|
94
|
+
return /* @__PURE__ */ jsx(
|
|
95
|
+
TextInput,
|
|
96
|
+
{
|
|
97
|
+
className: cn(
|
|
98
|
+
// Hide native search clear button (WebKit)
|
|
99
|
+
"[&::-webkit-search-cancel-button]:hidden [&::-webkit-search-decoration]:hidden",
|
|
100
|
+
className
|
|
101
|
+
),
|
|
102
|
+
"data-slot": "search-input",
|
|
103
|
+
disabled,
|
|
104
|
+
leadingIcon: leading,
|
|
105
|
+
size,
|
|
106
|
+
trailingIcon: trailing,
|
|
107
|
+
trailingIconInteractive: true,
|
|
108
|
+
type: "search",
|
|
109
|
+
value: currentValue,
|
|
110
|
+
variant,
|
|
111
|
+
onChange: handleChange,
|
|
112
|
+
...props
|
|
113
|
+
}
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export { SearchInput, searchClearButtonVariants, searchIconVariants };
|
|
118
|
+
//# sourceMappingURL=chunk-JPA2VQRW.js.map
|
|
119
|
+
//# sourceMappingURL=chunk-JPA2VQRW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/forms/SearchInput/SearchInput.variants.ts","../src/components/forms/SearchInput/SearchInput.tsx"],"names":[],"mappings":";;;;;;;AAKO,IAAM,kBAAA,GAAqB,GAAA;AAAA,EAChC,2DAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,gBAAA;AAAA,QACJ,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI,gBAAA;AAAA,QACJ,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ;AAKO,IAAM,yBAAA,GAA4B,GAAA;AAAA,EACvC;AAAA,IACE,kCAAA;AAAA,IACA,6CAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,uBAAA;AAAA,QACJ,EAAA,EAAI,yBAAA;AAAA,QACJ,EAAA,EAAI,uBAAA;AAAA,QACJ,EAAA,EAAI,yBAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ;AC1BA,SAAS,WAAA,CAAY;AAAA,EACnB,SAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,OAAA,GAAU,SAAA;AAAA,EACV,eAAA,GAAkB,IAAA;AAAA,EAClB,OAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAqB;AACnB,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAU,KAAA,CAAA,QAAA,CAAS,gBAAgB,EAAE,CAAA;AAG3E,EAAA,MAAM,eAAe,KAAA,KAAU,MAAA;AAC/B,EAAA,MAAM,YAAA,GAAe,eAAe,KAAA,GAAQ,aAAA;AAC5C,EAAA,MAAM,WAAW,YAAA,KAAiB,EAAA;AAElC,EAAA,MAAM,YAAA,GAAqB,KAAA,CAAA,WAAA;AAAA,IACzB,CAAC,CAAA,KAA2C;AAC1C,MAAA,IAAI,CAAC,YAAA,EAAc;AACjB,QAAA,gBAAA,CAAiB,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,MACjC;AACA,MAAA,QAAA,GAAW,CAAC,CAAA;AAAA,IACd,CAAA;AAAA,IACA,CAAC,cAAc,QAAQ;AAAA,GACzB;AAEA,EAAA,MAAM,WAAA,GAAoB,kBAAY,MAAM;AAC1C,IAAA,IAAI,CAAC,YAAA,EAAc;AACjB,MAAA,gBAAA,CAAiB,EAAE,CAAA;AAAA,IACrB;AACA,IAAA,OAAA,IAAU;AAAA,EACZ,CAAA,EAAG,CAAC,YAAA,EAAc,OAAO,CAAC,CAAA;AAE1B,EAAA,MAAM,YAAY,eAAA,IAAmB,QAAA;AAErC,EAAA,MAAM,0BACJ,GAAA,CAAC,MAAA,EAAA,EAAK,WAAW,EAAA,CAAG,kBAAA,CAAmB,EAAE,IAAA,EAAM,CAAC,CAAA,EAAG,aAAU,aAAA,EAC1D,QAAA,EAAA,UAAA,wBAAe,UAAA,EAAA,EAAW,aAAA,EAAY,QAAO,CAAA,EAChD,CAAA;AAGF,EAAA,MAAM,WAAW,SAAA,mBACf,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAW,cAAA;AAAA,MACX,WAAW,EAAA,CAAG,yBAAA,CAA0B,EAAE,IAAA,EAAM,CAAC,CAAA;AAAA,MACjD,WAAA,EAAU,cAAA;AAAA,MACV,QAAA;AAAA,MACA,QAAA,EAAU,EAAA;AAAA,MACV,IAAA,EAAK,QAAA;AAAA,MACL,OAAA,EAAS,WAAA;AAAA,MAER,QAAA,EAAA,SAAA,oBAAa,GAAA,CAAC,KAAA,EAAA,EAAM,aAAA,EAAY,MAAA,EAAO;AAAA;AAAA,GAC1C,GACE,MAAA;AAEJ,EAAA,uBACE,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA;AAAA,QAET,gFAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAU,cAAA;AAAA,MACV,QAAA;AAAA,MACA,WAAA,EAAa,OAAA;AAAA,MACb,IAAA;AAAA,MACA,YAAA,EAAc,QAAA;AAAA,MACd,uBAAA,EAAyB,IAAA;AAAA,MACzB,IAAA,EAAK,QAAA;AAAA,MACL,KAAA,EAAO,YAAA;AAAA,MACP,OAAA;AAAA,MACA,QAAA,EAAU,YAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-JPA2VQRW.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * Search icon visual variants\n */\nexport const searchIconVariants = cva(\n \"flex items-center justify-center text-muted-foreground/80\",\n {\n variants: {\n size: {\n xs: \"[&_svg]:size-3\",\n sm: \"[&_svg]:size-3.5\",\n md: \"[&_svg]:size-4\",\n lg: \"[&_svg]:size-4.5\",\n xl: \"[&_svg]:size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n/**\n * Clear button visual variants\n */\nexport const searchClearButtonVariants = cva(\n [\n \"flex items-center justify-center\",\n \"text-muted-foreground hover:text-foreground\",\n \"transition-colors rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-ring\",\n ],\n {\n variants: {\n size: {\n xs: \"size-4 [&_svg]:size-3\",\n sm: \"size-5 [&_svg]:size-3.5\",\n md: \"size-6 [&_svg]:size-4\",\n lg: \"size-7 [&_svg]:size-4.5\",\n xl: \"size-8 [&_svg]:size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n\nexport type SearchIconVariantProps = VariantProps<typeof searchIconVariants>\nexport type SearchClearButtonVariantProps = VariantProps<typeof searchClearButtonVariants>\n","\"use client\"\n\nimport type { SearchInputProps } from \"./SearchInput.types\"\n\nimport { SearchIcon, XIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { TextInput } from \"../TextInput\"\nimport { searchClearButtonVariants, searchIconVariants } from \"./SearchInput.variants\"\n\n/**\n * SearchInput component with search icon and optional clear button.\n * Now uses TextInput internally for consistency.\n *\n * @example\n * ```tsx\n * <SearchInput placeholder=\"Search...\" />\n * ```\n */\nfunction SearchInput({\n className,\n size = \"md\",\n variant = \"default\",\n showClearButton = true,\n onClear,\n searchIcon,\n clearIcon,\n disabled,\n value,\n defaultValue,\n onChange,\n ...props\n}: SearchInputProps) {\n const [internalValue, setInternalValue] = React.useState(defaultValue ?? \"\")\n\n // Determine if component is controlled\n const isControlled = value !== undefined\n const currentValue = isControlled ? value : internalValue\n const hasValue = currentValue !== \"\"\n\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setInternalValue(e.target.value)\n }\n onChange?.(e)\n },\n [isControlled, onChange]\n )\n\n const handleClear = React.useCallback(() => {\n if (!isControlled) {\n setInternalValue(\"\")\n }\n onClear?.()\n }, [isControlled, onClear])\n\n const showClear = showClearButton && hasValue\n\n const leading = (\n <span className={cn(searchIconVariants({ size }))} data-slot=\"search-icon\">\n {searchIcon ?? <SearchIcon aria-hidden=\"true\" />}\n </span>\n )\n\n const trailing = showClear ? (\n <button\n aria-label=\"Clear search\"\n className={cn(searchClearButtonVariants({ size }))}\n data-slot=\"clear-button\"\n disabled={disabled}\n tabIndex={-1}\n type=\"button\"\n onClick={handleClear}\n >\n {clearIcon ?? <XIcon aria-hidden=\"true\" />}\n </button>\n ) : undefined\n\n return (\n <TextInput\n className={cn(\n // Hide native search clear button (WebKit)\n \"[&::-webkit-search-cancel-button]:hidden [&::-webkit-search-decoration]:hidden\",\n className\n )}\n data-slot=\"search-input\"\n disabled={disabled}\n leadingIcon={leading}\n size={size}\n trailingIcon={trailing}\n trailingIconInteractive={true}\n type=\"search\"\n value={currentValue}\n variant={variant}\n onChange={handleChange}\n {...props}\n />\n )\n}\n\nexport { SearchInput }"]}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { cn } from './chunk-HRNDJU7D.js';
|
|
2
|
+
import { cva } from 'class-variance-authority';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
var spacerVariants = cva("shrink-0", {
|
|
6
|
+
variants: {
|
|
7
|
+
size: {
|
|
8
|
+
xs: "",
|
|
9
|
+
sm: "",
|
|
10
|
+
md: "",
|
|
11
|
+
lg: "",
|
|
12
|
+
xl: "",
|
|
13
|
+
"2xl": ""
|
|
14
|
+
},
|
|
15
|
+
axis: {
|
|
16
|
+
vertical: "w-full",
|
|
17
|
+
horizontal: "h-full",
|
|
18
|
+
both: ""
|
|
19
|
+
},
|
|
20
|
+
flex: {
|
|
21
|
+
none: "",
|
|
22
|
+
grow: "flex-grow",
|
|
23
|
+
shrink: "flex-shrink"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
compoundVariants: [
|
|
27
|
+
// Vertical sizes
|
|
28
|
+
{ axis: "vertical", size: "xs", class: "h-[var(--spacer-size-xs)]" },
|
|
29
|
+
{ axis: "vertical", size: "sm", class: "h-[var(--spacer-size-sm)]" },
|
|
30
|
+
{ axis: "vertical", size: "md", class: "h-[var(--spacer-size-md)]" },
|
|
31
|
+
{ axis: "vertical", size: "lg", class: "h-[var(--spacer-size-lg)]" },
|
|
32
|
+
{ axis: "vertical", size: "xl", class: "h-[var(--spacer-size-xl)]" },
|
|
33
|
+
{ axis: "vertical", size: "2xl", class: "h-[var(--spacer-size-2xl)]" },
|
|
34
|
+
// Horizontal sizes
|
|
35
|
+
{ axis: "horizontal", size: "xs", class: "w-[var(--spacer-size-xs)]" },
|
|
36
|
+
{ axis: "horizontal", size: "sm", class: "w-[var(--spacer-size-sm)]" },
|
|
37
|
+
{ axis: "horizontal", size: "md", class: "w-[var(--spacer-size-md)]" },
|
|
38
|
+
{ axis: "horizontal", size: "lg", class: "w-[var(--spacer-size-lg)]" },
|
|
39
|
+
{ axis: "horizontal", size: "xl", class: "w-[var(--spacer-size-xl)]" },
|
|
40
|
+
{ axis: "horizontal", size: "2xl", class: "w-[var(--spacer-size-2xl)]" },
|
|
41
|
+
// Both sizes
|
|
42
|
+
{ axis: "both", size: "xs", class: "size-[var(--spacer-size-xs)]" },
|
|
43
|
+
{ axis: "both", size: "sm", class: "size-[var(--spacer-size-sm)]" },
|
|
44
|
+
{ axis: "both", size: "md", class: "size-[var(--spacer-size-md)]" },
|
|
45
|
+
{ axis: "both", size: "lg", class: "size-[var(--spacer-size-lg)]" },
|
|
46
|
+
{ axis: "both", size: "xl", class: "size-[var(--spacer-size-xl)]" },
|
|
47
|
+
{ axis: "both", size: "2xl", class: "size-[var(--spacer-size-2xl)]" }
|
|
48
|
+
],
|
|
49
|
+
defaultVariants: {
|
|
50
|
+
size: "md",
|
|
51
|
+
axis: "vertical",
|
|
52
|
+
flex: "none"
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
var TOKEN_SIZES = /* @__PURE__ */ new Set(["xs", "sm", "md", "lg", "xl", "2xl"]);
|
|
56
|
+
function isTokenSize(size) {
|
|
57
|
+
return typeof size === "string" && TOKEN_SIZES.has(size);
|
|
58
|
+
}
|
|
59
|
+
function toCssSize(size) {
|
|
60
|
+
if (typeof size === "number") {
|
|
61
|
+
return `${String(size)}px`;
|
|
62
|
+
}
|
|
63
|
+
return size;
|
|
64
|
+
}
|
|
65
|
+
function Spacer({
|
|
66
|
+
className,
|
|
67
|
+
size = "md",
|
|
68
|
+
axis = "vertical",
|
|
69
|
+
flex,
|
|
70
|
+
style,
|
|
71
|
+
ref,
|
|
72
|
+
...props
|
|
73
|
+
}) {
|
|
74
|
+
const useTokenSize = isTokenSize(size);
|
|
75
|
+
const customStyle = useTokenSize ? style : {
|
|
76
|
+
...style,
|
|
77
|
+
...axis === "vertical" && { height: toCssSize(size) },
|
|
78
|
+
...axis === "horizontal" && { width: toCssSize(size) },
|
|
79
|
+
...axis === "both" && {
|
|
80
|
+
width: toCssSize(size),
|
|
81
|
+
height: toCssSize(size)
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
return /* @__PURE__ */ jsx(
|
|
85
|
+
"div",
|
|
86
|
+
{
|
|
87
|
+
ref,
|
|
88
|
+
className: cn(
|
|
89
|
+
spacerVariants({
|
|
90
|
+
size: useTokenSize ? size : void 0,
|
|
91
|
+
axis,
|
|
92
|
+
flex
|
|
93
|
+
}),
|
|
94
|
+
className
|
|
95
|
+
),
|
|
96
|
+
"aria-hidden": "true",
|
|
97
|
+
"data-slot": "spacer",
|
|
98
|
+
style: customStyle,
|
|
99
|
+
...props
|
|
100
|
+
}
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export { Spacer, spacerVariants };
|
|
105
|
+
//# sourceMappingURL=chunk-JWXK4TMX.js.map
|
|
106
|
+
//# sourceMappingURL=chunk-JWXK4TMX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/primitives/Spacer/Spacer.tsx"],"names":[],"mappings":"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","file":"chunk-JWXK4TMX.js","sourcesContent":["import type { SpacerProps, SpacerTokenSize } from \"./Spacer.types\"\n\nimport { cva } from \"class-variance-authority\"\n\nimport { cn } from \"../../../lib/utils\"\n\nconst spacerVariants = cva(\"shrink-0\", {\n variants: {\n size: {\n xs: \"\",\n sm: \"\",\n md: \"\",\n lg: \"\",\n xl: \"\",\n \"2xl\": \"\",\n },\n axis: {\n vertical: \"w-full\",\n horizontal: \"h-full\",\n both: \"\",\n },\n flex: {\n none: \"\",\n grow: \"flex-grow\",\n shrink: \"flex-shrink\",\n },\n },\n compoundVariants: [\n // Vertical sizes\n { axis: \"vertical\", size: \"xs\", class: \"h-[var(--spacer-size-xs)]\" },\n { axis: \"vertical\", size: \"sm\", class: \"h-[var(--spacer-size-sm)]\" },\n { axis: \"vertical\", size: \"md\", class: \"h-[var(--spacer-size-md)]\" },\n { axis: \"vertical\", size: \"lg\", class: \"h-[var(--spacer-size-lg)]\" },\n { axis: \"vertical\", size: \"xl\", class: \"h-[var(--spacer-size-xl)]\" },\n { axis: \"vertical\", size: \"2xl\", class: \"h-[var(--spacer-size-2xl)]\" },\n // Horizontal sizes\n { axis: \"horizontal\", size: \"xs\", class: \"w-[var(--spacer-size-xs)]\" },\n { axis: \"horizontal\", size: \"sm\", class: \"w-[var(--spacer-size-sm)]\" },\n { axis: \"horizontal\", size: \"md\", class: \"w-[var(--spacer-size-md)]\" },\n { axis: \"horizontal\", size: \"lg\", class: \"w-[var(--spacer-size-lg)]\" },\n { axis: \"horizontal\", size: \"xl\", class: \"w-[var(--spacer-size-xl)]\" },\n { axis: \"horizontal\", size: \"2xl\", class: \"w-[var(--spacer-size-2xl)]\" },\n // Both sizes\n { axis: \"both\", size: \"xs\", class: \"size-[var(--spacer-size-xs)]\" },\n { axis: \"both\", size: \"sm\", class: \"size-[var(--spacer-size-sm)]\" },\n { axis: \"both\", size: \"md\", class: \"size-[var(--spacer-size-md)]\" },\n { axis: \"both\", size: \"lg\", class: \"size-[var(--spacer-size-lg)]\" },\n { axis: \"both\", size: \"xl\", class: \"size-[var(--spacer-size-xl)]\" },\n { axis: \"both\", size: \"2xl\", class: \"size-[var(--spacer-size-2xl)]\" },\n ],\n defaultVariants: {\n size: \"md\",\n axis: \"vertical\",\n flex: \"none\",\n },\n})\n\n/**\n * Token-based sizes for type checking\n */\nconst TOKEN_SIZES = new Set([\"xs\", \"sm\", \"md\", \"lg\", \"xl\", \"2xl\"])\n\n/**\n * Check if size is a token-based size\n */\nfunction isTokenSize(size: unknown): size is SpacerTokenSize {\n return typeof size === \"string\" && TOKEN_SIZES.has(size)\n}\n\n/**\n * Convert numeric size to CSS value\n */\nfunction toCssSize(size: number | string): string {\n if (typeof size === \"number\") {\n return `${String(size)}px`\n }\n return size\n}\n\n/**\n * Spacer component for adding space between elements.\n *\n * Supports both token-based sizes (xs-2xl) and custom numeric values.\n *\n * @example\n * ```tsx\n * // Token-based sizes\n * <Spacer size=\"md\" />\n *\n * // Numeric sizes (pixels)\n * <Spacer size={24} />\n *\n * // With units\n * <Spacer size=\"2rem\" />\n *\n * // Horizontal spacer\n * <Spacer size=\"lg\" axis=\"horizontal\" />\n *\n * // Flexible spacer (grows to fill)\n * <Spacer flex=\"grow\" />\n * ```\n */\nfunction Spacer({\n className,\n size = \"md\",\n axis = \"vertical\",\n flex,\n style,\n ref,\n ...props\n}: SpacerProps) {\n // Determine if using token-based or numeric size\n const useTokenSize = isTokenSize(size)\n\n // Build inline styles for numeric sizes\n const customStyle = useTokenSize\n ? style\n : {\n ...style,\n ...(axis === \"vertical\" && { height: toCssSize(size) }),\n ...(axis === \"horizontal\" && { width: toCssSize(size) }),\n ...(axis === \"both\" && {\n width: toCssSize(size),\n height: toCssSize(size),\n }),\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n spacerVariants({\n size: useTokenSize ? size : undefined,\n axis,\n flex,\n }),\n className\n )}\n aria-hidden=\"true\"\n data-slot=\"spacer\"\n style={customStyle}\n {...props}\n />\n )\n}\n\nexport { Spacer, spacerVariants }\n"]}
|