@etus/ui 0.4.0-beta.18 → 0.4.0-beta.19
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-U2CXFKRK.js → chunk-2SUZS6GZ.js} +4 -4
- package/dist/{chunk-U2CXFKRK.js.map → chunk-2SUZS6GZ.js.map} +1 -1
- package/dist/{chunk-UPYT2XM5.js → chunk-2XNMKALT.js} +3 -3
- package/dist/{chunk-UPYT2XM5.js.map → chunk-2XNMKALT.js.map} +1 -1
- package/dist/{chunk-SM4AZOEP.js → chunk-3MOBFZJM.js} +4 -4
- package/dist/{chunk-SM4AZOEP.js.map → chunk-3MOBFZJM.js.map} +1 -1
- package/dist/{chunk-TA4HCLP3.js → chunk-3R6MY3YJ.js} +4 -4
- package/dist/{chunk-TA4HCLP3.js.map → chunk-3R6MY3YJ.js.map} +1 -1
- package/dist/{chunk-EVUHEBWX.js → chunk-447INBQP.js} +3 -3
- package/dist/{chunk-EVUHEBWX.js.map → chunk-447INBQP.js.map} +1 -1
- package/dist/{chunk-F7XARQUW.js → chunk-4LZ53BAG.js} +3 -3
- package/dist/{chunk-F7XARQUW.js.map → chunk-4LZ53BAG.js.map} +1 -1
- package/dist/{chunk-CYIFWQ5Y.js → chunk-4OWRNWHW.js} +3 -3
- package/dist/{chunk-CYIFWQ5Y.js.map → chunk-4OWRNWHW.js.map} +1 -1
- package/dist/{chunk-OQCGQG47.js → chunk-4RNPI3LU.js} +3 -3
- package/dist/{chunk-OQCGQG47.js.map → chunk-4RNPI3LU.js.map} +1 -1
- package/dist/{chunk-3NHH7VPI.js → chunk-4SFBDK4E.js} +4 -4
- package/dist/{chunk-3NHH7VPI.js.map → chunk-4SFBDK4E.js.map} +1 -1
- package/dist/{chunk-B7ZLPQSO.js → chunk-4XXAIWQ4.js} +3 -3
- package/dist/{chunk-B7ZLPQSO.js.map → chunk-4XXAIWQ4.js.map} +1 -1
- package/dist/{chunk-D2V2HKLX.js → chunk-5ETVWWA5.js} +3 -3
- package/dist/{chunk-D2V2HKLX.js.map → chunk-5ETVWWA5.js.map} +1 -1
- package/dist/{chunk-U4H3XHSI.js → chunk-5GV4LDX7.js} +4 -4
- package/dist/{chunk-U4H3XHSI.js.map → chunk-5GV4LDX7.js.map} +1 -1
- package/dist/{chunk-BFBGESUI.js → chunk-5MJQ5XSR.js} +4 -4
- package/dist/{chunk-BFBGESUI.js.map → chunk-5MJQ5XSR.js.map} +1 -1
- package/dist/{chunk-GKMR5SVC.js → chunk-5QDKJMUA.js} +3 -3
- package/dist/{chunk-GKMR5SVC.js.map → chunk-5QDKJMUA.js.map} +1 -1
- package/dist/{chunk-3NFQXZHO.js → chunk-5T7EKOJ5.js} +3 -3
- package/dist/{chunk-3NFQXZHO.js.map → chunk-5T7EKOJ5.js.map} +1 -1
- package/dist/{chunk-WBE6VQOO.js → chunk-5W3T767A.js} +3 -3
- package/dist/{chunk-WBE6VQOO.js.map → chunk-5W3T767A.js.map} +1 -1
- package/dist/{chunk-F5X2BBGU.js → chunk-5YUUE5JJ.js} +3 -3
- package/dist/{chunk-F5X2BBGU.js.map → chunk-5YUUE5JJ.js.map} +1 -1
- package/dist/{chunk-IQKKPOI7.js → chunk-627ZZ6HO.js} +4 -4
- package/dist/{chunk-IQKKPOI7.js.map → chunk-627ZZ6HO.js.map} +1 -1
- package/dist/{chunk-WCMRVCIM.js → chunk-6G5QK3SU.js} +3 -3
- package/dist/{chunk-WCMRVCIM.js.map → chunk-6G5QK3SU.js.map} +1 -1
- package/dist/{chunk-SMVH56FQ.js → chunk-6QVXMYKH.js} +3 -3
- package/dist/{chunk-SMVH56FQ.js.map → chunk-6QVXMYKH.js.map} +1 -1
- package/dist/{chunk-NWVYQYKK.js → chunk-6VEQLD2P.js} +3 -3
- package/dist/{chunk-NWVYQYKK.js.map → chunk-6VEQLD2P.js.map} +1 -1
- package/dist/{chunk-S6ORCWM2.js → chunk-73DDLKBG.js} +3 -3
- package/dist/{chunk-S6ORCWM2.js.map → chunk-73DDLKBG.js.map} +1 -1
- package/dist/{chunk-E27SQ54A.js → chunk-7AR5QRRX.js} +3 -3
- package/dist/{chunk-E27SQ54A.js.map → chunk-7AR5QRRX.js.map} +1 -1
- package/dist/{chunk-3MJNJKAF.js → chunk-7IKX4AFY.js} +4 -4
- package/dist/{chunk-3MJNJKAF.js.map → chunk-7IKX4AFY.js.map} +1 -1
- package/dist/{chunk-A7YNTSVU.js → chunk-7PX3WBR3.js} +3 -3
- package/dist/{chunk-A7YNTSVU.js.map → chunk-7PX3WBR3.js.map} +1 -1
- package/dist/{chunk-LR56MGWT.js → chunk-7QEFKWUR.js} +7 -7
- package/dist/{chunk-LR56MGWT.js.map → chunk-7QEFKWUR.js.map} +1 -1
- package/dist/{chunk-JRVUEOKT.js → chunk-7TX5X4EP.js} +3 -3
- package/dist/{chunk-JRVUEOKT.js.map → chunk-7TX5X4EP.js.map} +1 -1
- package/dist/{chunk-BQMQULAC.js → chunk-7XJQYAGY.js} +4 -4
- package/dist/{chunk-BQMQULAC.js.map → chunk-7XJQYAGY.js.map} +1 -1
- package/dist/{chunk-KA7747GR.js → chunk-7Y325TBV.js} +3 -3
- package/dist/{chunk-KA7747GR.js.map → chunk-7Y325TBV.js.map} +1 -1
- package/dist/{chunk-6KMRMXR6.js → chunk-7YZ7HNXX.js} +3 -3
- package/dist/{chunk-6KMRMXR6.js.map → chunk-7YZ7HNXX.js.map} +1 -1
- package/dist/{chunk-YACIRNVP.js → chunk-AD4RW2JV.js} +3 -3
- package/dist/{chunk-YACIRNVP.js.map → chunk-AD4RW2JV.js.map} +1 -1
- package/dist/{chunk-YMYXWHDU.js → chunk-ADX6C3V7.js} +3 -3
- package/dist/{chunk-YMYXWHDU.js.map → chunk-ADX6C3V7.js.map} +1 -1
- package/dist/{chunk-WVFQKBDB.js → chunk-AJUOTABG.js} +3 -3
- package/dist/{chunk-WVFQKBDB.js.map → chunk-AJUOTABG.js.map} +1 -1
- package/dist/{chunk-G5TWK7L3.js → chunk-AP4ZM3DV.js} +3 -3
- package/dist/{chunk-G5TWK7L3.js.map → chunk-AP4ZM3DV.js.map} +1 -1
- package/dist/{chunk-2X35C55E.js → chunk-ARJAIH7Q.js} +3 -3
- package/dist/{chunk-2X35C55E.js.map → chunk-ARJAIH7Q.js.map} +1 -1
- package/dist/{chunk-YCZ6M6EF.js → chunk-BBKDABQK.js} +3 -3
- package/dist/{chunk-YCZ6M6EF.js.map → chunk-BBKDABQK.js.map} +1 -1
- package/dist/{chunk-GPW57XOW.js → chunk-BSTUCHL4.js} +4 -4
- package/dist/{chunk-GPW57XOW.js.map → chunk-BSTUCHL4.js.map} +1 -1
- package/dist/{chunk-ARYBNQNS.js → chunk-BUCXPZYE.js} +4 -4
- package/dist/{chunk-ARYBNQNS.js.map → chunk-BUCXPZYE.js.map} +1 -1
- package/dist/{chunk-ESLSPRYA.js → chunk-C2MAX4YK.js} +3 -3
- package/dist/{chunk-ESLSPRYA.js.map → chunk-C2MAX4YK.js.map} +1 -1
- package/dist/{chunk-2FJJOHHH.js → chunk-C34UNXMN.js} +3 -3
- package/dist/{chunk-2FJJOHHH.js.map → chunk-C34UNXMN.js.map} +1 -1
- package/dist/{chunk-AEHYYTFW.js → chunk-CV77MF4G.js} +3 -3
- package/dist/{chunk-AEHYYTFW.js.map → chunk-CV77MF4G.js.map} +1 -1
- package/dist/{chunk-MQ2446N7.js → chunk-DGOW65KM.js} +3 -3
- package/dist/{chunk-MQ2446N7.js.map → chunk-DGOW65KM.js.map} +1 -1
- package/dist/{chunk-NULX3RRN.js → chunk-DJHDCDU6.js} +4 -4
- package/dist/{chunk-NULX3RRN.js.map → chunk-DJHDCDU6.js.map} +1 -1
- package/dist/{chunk-USPITOG4.js → chunk-DQGBTZRX.js} +4 -4
- package/dist/{chunk-USPITOG4.js.map → chunk-DQGBTZRX.js.map} +1 -1
- package/dist/{chunk-2IFYXJ3H.js → chunk-DRIEZH7R.js} +3 -3
- package/dist/{chunk-2IFYXJ3H.js.map → chunk-DRIEZH7R.js.map} +1 -1
- package/dist/{chunk-VWW3DJKI.js → chunk-E6SAO2CY.js} +3 -3
- package/dist/{chunk-VWW3DJKI.js.map → chunk-E6SAO2CY.js.map} +1 -1
- package/dist/{chunk-5ACHKT35.js → chunk-EDSIOUUR.js} +4 -4
- package/dist/{chunk-5ACHKT35.js.map → chunk-EDSIOUUR.js.map} +1 -1
- package/dist/{chunk-G2CMEHW6.js → chunk-ELRIFGMN.js} +4 -4
- package/dist/{chunk-G2CMEHW6.js.map → chunk-ELRIFGMN.js.map} +1 -1
- package/dist/{chunk-IMUBWKZC.js → chunk-EO4NGM5W.js} +4 -4
- package/dist/{chunk-IMUBWKZC.js.map → chunk-EO4NGM5W.js.map} +1 -1
- package/dist/{chunk-AFCSDND5.js → chunk-EQ4YAADN.js} +3 -3
- package/dist/{chunk-AFCSDND5.js.map → chunk-EQ4YAADN.js.map} +1 -1
- package/dist/{chunk-AP3T3KMY.js → chunk-EZYXD2YI.js} +4 -4
- package/dist/{chunk-AP3T3KMY.js.map → chunk-EZYXD2YI.js.map} +1 -1
- package/dist/{chunk-HJ4E6YPW.js → chunk-F3ETIDS7.js} +4 -4
- package/dist/{chunk-HJ4E6YPW.js.map → chunk-F3ETIDS7.js.map} +1 -1
- package/dist/{chunk-LNY2EXOV.js → chunk-F3WDMYZ4.js} +3 -3
- package/dist/{chunk-LNY2EXOV.js.map → chunk-F3WDMYZ4.js.map} +1 -1
- package/dist/{chunk-FPCRGFNY.js → chunk-FRKB4Z2P.js} +3 -3
- package/dist/{chunk-FPCRGFNY.js.map → chunk-FRKB4Z2P.js.map} +1 -1
- package/dist/{chunk-YGLD22TU.js → chunk-FVRSXJKS.js} +3 -3
- package/dist/{chunk-YGLD22TU.js.map → chunk-FVRSXJKS.js.map} +1 -1
- package/dist/{chunk-AR7K7Y4L.js → chunk-FXFVFSG5.js} +5 -5
- package/dist/{chunk-AR7K7Y4L.js.map → chunk-FXFVFSG5.js.map} +1 -1
- package/dist/{chunk-WQI2USN7.js → chunk-GDZECJFS.js} +3 -3
- package/dist/{chunk-WQI2USN7.js.map → chunk-GDZECJFS.js.map} +1 -1
- package/dist/{chunk-7CMOCWFX.js → chunk-GLHKHYJY.js} +8 -8
- package/dist/{chunk-7CMOCWFX.js.map → chunk-GLHKHYJY.js.map} +1 -1
- package/dist/{chunk-IA24GUNV.js → chunk-GRODCJS4.js} +8 -8
- package/dist/{chunk-IA24GUNV.js.map → chunk-GRODCJS4.js.map} +1 -1
- package/dist/{chunk-JDG5A44W.js → chunk-GVNG5ME6.js} +22 -11
- package/dist/chunk-GVNG5ME6.js.map +1 -0
- package/dist/{chunk-5J5OL4IV.js → chunk-GWSM2XNV.js} +3 -3
- package/dist/{chunk-5J5OL4IV.js.map → chunk-GWSM2XNV.js.map} +1 -1
- package/dist/{chunk-2NY6DDLO.js → chunk-H32A6UPL.js} +3 -3
- package/dist/{chunk-2NY6DDLO.js.map → chunk-H32A6UPL.js.map} +1 -1
- package/dist/{chunk-HV2ZZXFN.js → chunk-HHWUROMA.js} +6 -6
- package/dist/{chunk-HV2ZZXFN.js.map → chunk-HHWUROMA.js.map} +1 -1
- package/dist/{chunk-CNRV2IGH.js → chunk-HM6TEHA6.js} +3 -3
- package/dist/{chunk-CNRV2IGH.js.map → chunk-HM6TEHA6.js.map} +1 -1
- package/dist/{chunk-6ABGMOE2.js → chunk-HNQX6ZG7.js} +4 -4
- package/dist/{chunk-6ABGMOE2.js.map → chunk-HNQX6ZG7.js.map} +1 -1
- package/dist/{chunk-HAEZLC7V.js → chunk-I5RDX6O3.js} +3 -3
- package/dist/{chunk-HAEZLC7V.js.map → chunk-I5RDX6O3.js.map} +1 -1
- package/dist/{chunk-B2OCNHUW.js → chunk-IKLFWGFS.js} +70 -52
- package/dist/chunk-IKLFWGFS.js.map +1 -0
- package/dist/{chunk-DL7D5F7B.js → chunk-IPCT4YZT.js} +3 -3
- package/dist/{chunk-DL7D5F7B.js.map → chunk-IPCT4YZT.js.map} +1 -1
- package/dist/{chunk-BIUVOZQG.js → chunk-IPDAFW4F.js} +3 -3
- package/dist/{chunk-BIUVOZQG.js.map → chunk-IPDAFW4F.js.map} +1 -1
- package/dist/{chunk-G2MAGZHQ.js → chunk-IXZBH33I.js} +3 -3
- package/dist/{chunk-G2MAGZHQ.js.map → chunk-IXZBH33I.js.map} +1 -1
- package/dist/{chunk-ZHUW6UYD.js → chunk-JDETM3FL.js} +3 -3
- package/dist/{chunk-ZHUW6UYD.js.map → chunk-JDETM3FL.js.map} +1 -1
- package/dist/{chunk-HZ47LQFJ.js → chunk-JE46MFMN.js} +6 -6
- package/dist/{chunk-HZ47LQFJ.js.map → chunk-JE46MFMN.js.map} +1 -1
- package/dist/{chunk-3JCV72FO.js → chunk-JFV7CNBP.js} +4 -4
- package/dist/{chunk-3JCV72FO.js.map → chunk-JFV7CNBP.js.map} +1 -1
- package/dist/{chunk-7RTHGI6E.js → chunk-JPRHMMY6.js} +3 -3
- package/dist/{chunk-7RTHGI6E.js.map → chunk-JPRHMMY6.js.map} +1 -1
- package/dist/{chunk-G2V7D7VC.js → chunk-JUSPLVWO.js} +5 -5
- package/dist/{chunk-G2V7D7VC.js.map → chunk-JUSPLVWO.js.map} +1 -1
- package/dist/{chunk-FRDYXDAE.js → chunk-JUZ4JQWH.js} +3 -3
- package/dist/{chunk-FRDYXDAE.js.map → chunk-JUZ4JQWH.js.map} +1 -1
- package/dist/{chunk-6SHOL6WR.js → chunk-JVTB3NTP.js} +3 -3
- package/dist/{chunk-6SHOL6WR.js.map → chunk-JVTB3NTP.js.map} +1 -1
- package/dist/{chunk-XETKCF73.js → chunk-JXEIRIU4.js} +3 -3
- package/dist/{chunk-XETKCF73.js.map → chunk-JXEIRIU4.js.map} +1 -1
- package/dist/{chunk-XKO6G5H2.js → chunk-JYYB6F5O.js} +3 -3
- package/dist/{chunk-XKO6G5H2.js.map → chunk-JYYB6F5O.js.map} +1 -1
- package/dist/{chunk-V7WEN4SD.js → chunk-JZA45LEV.js} +3 -3
- package/dist/{chunk-V7WEN4SD.js.map → chunk-JZA45LEV.js.map} +1 -1
- package/dist/{chunk-FCSYPOHF.js → chunk-K44K3EHW.js} +3 -3
- package/dist/{chunk-FCSYPOHF.js.map → chunk-K44K3EHW.js.map} +1 -1
- package/dist/{chunk-ZMUUEXVD.js → chunk-K4UCALQQ.js} +3 -3
- package/dist/{chunk-ZMUUEXVD.js.map → chunk-K4UCALQQ.js.map} +1 -1
- package/dist/{chunk-KYURFRCH.js → chunk-KBU4KJKC.js} +7 -7
- package/dist/{chunk-KYURFRCH.js.map → chunk-KBU4KJKC.js.map} +1 -1
- package/dist/{chunk-JRWQHBJC.js → chunk-KDNTSZF5.js} +4 -4
- package/dist/{chunk-JRWQHBJC.js.map → chunk-KDNTSZF5.js.map} +1 -1
- package/dist/{chunk-WZ2J4ALB.js → chunk-KHCHATTD.js} +5 -5
- package/dist/{chunk-WZ2J4ALB.js.map → chunk-KHCHATTD.js.map} +1 -1
- package/dist/{chunk-57KTYE5H.js → chunk-KHJIUHHM.js} +3 -3
- package/dist/{chunk-57KTYE5H.js.map → chunk-KHJIUHHM.js.map} +1 -1
- package/dist/{chunk-H7JHFBFD.js → chunk-KLFYTLF3.js} +4 -4
- package/dist/{chunk-H7JHFBFD.js.map → chunk-KLFYTLF3.js.map} +1 -1
- package/dist/{chunk-W3QUVCRK.js → chunk-KXJ3SEW7.js} +3 -3
- package/dist/{chunk-W3QUVCRK.js.map → chunk-KXJ3SEW7.js.map} +1 -1
- package/dist/{chunk-X5XP5QVO.js → chunk-L4OQ6BJ5.js} +6 -6
- package/dist/{chunk-X5XP5QVO.js.map → chunk-L4OQ6BJ5.js.map} +1 -1
- package/dist/{chunk-MAM6VUKD.js → chunk-LCBB3N5H.js} +3 -3
- package/dist/{chunk-MAM6VUKD.js.map → chunk-LCBB3N5H.js.map} +1 -1
- package/dist/{chunk-FLERVSKG.js → chunk-LDK6ADKM.js} +6 -6
- package/dist/{chunk-FLERVSKG.js.map → chunk-LDK6ADKM.js.map} +1 -1
- package/dist/{chunk-K4MYVFWQ.js → chunk-LP6JYJQN.js} +4 -4
- package/dist/{chunk-K4MYVFWQ.js.map → chunk-LP6JYJQN.js.map} +1 -1
- package/dist/{chunk-7VGF6ZVE.js → chunk-LRE3LJMW.js} +5 -5
- package/dist/{chunk-7VGF6ZVE.js.map → chunk-LRE3LJMW.js.map} +1 -1
- package/dist/{chunk-LQVQ7SHG.js → chunk-LSRKDZW4.js} +4 -4
- package/dist/{chunk-LQVQ7SHG.js.map → chunk-LSRKDZW4.js.map} +1 -1
- package/dist/{chunk-WBERMEN7.js → chunk-MGIGDALC.js} +3 -3
- package/dist/{chunk-WBERMEN7.js.map → chunk-MGIGDALC.js.map} +1 -1
- package/dist/{chunk-IRFAIJLV.js → chunk-MNYU5MHO.js} +7 -7
- package/dist/{chunk-IRFAIJLV.js.map → chunk-MNYU5MHO.js.map} +1 -1
- package/dist/{chunk-6GWO7JNP.js → chunk-MXBDOYQL.js} +4 -4
- package/dist/{chunk-6GWO7JNP.js.map → chunk-MXBDOYQL.js.map} +1 -1
- package/dist/{chunk-37KLBMFQ.js → chunk-N2DAVD4Y.js} +3 -3
- package/dist/{chunk-37KLBMFQ.js.map → chunk-N2DAVD4Y.js.map} +1 -1
- package/dist/{chunk-EC5YEK3C.js → chunk-N5YGAESZ.js} +5 -5
- package/dist/{chunk-EC5YEK3C.js.map → chunk-N5YGAESZ.js.map} +1 -1
- package/dist/{chunk-DSCLJ3GK.js → chunk-N7VMQWM3.js} +15 -10
- package/dist/chunk-N7VMQWM3.js.map +1 -0
- package/dist/{chunk-5KTMPLDK.js → chunk-NAI3TX52.js} +3 -3
- package/dist/{chunk-5KTMPLDK.js.map → chunk-NAI3TX52.js.map} +1 -1
- package/dist/{chunk-QHKOBGLW.js → chunk-NGX3ITG4.js} +3 -3
- package/dist/{chunk-QHKOBGLW.js.map → chunk-NGX3ITG4.js.map} +1 -1
- package/dist/{chunk-5SUD32RK.js → chunk-NHUUSXBL.js} +3 -3
- package/dist/{chunk-5SUD32RK.js.map → chunk-NHUUSXBL.js.map} +1 -1
- package/dist/{chunk-IOWHM7ZY.js → chunk-NIRTZLZL.js} +4 -4
- package/dist/{chunk-IOWHM7ZY.js.map → chunk-NIRTZLZL.js.map} +1 -1
- package/dist/{chunk-5E44I7PB.js → chunk-NLPVF34P.js} +4 -4
- package/dist/{chunk-5E44I7PB.js.map → chunk-NLPVF34P.js.map} +1 -1
- package/dist/{chunk-ZPAWUKJI.js → chunk-NNWMBVCB.js} +4 -4
- package/dist/{chunk-ZPAWUKJI.js.map → chunk-NNWMBVCB.js.map} +1 -1
- package/dist/{chunk-H4ANCFZG.js → chunk-NUA54ABI.js} +4 -4
- package/dist/{chunk-H4ANCFZG.js.map → chunk-NUA54ABI.js.map} +1 -1
- package/dist/{chunk-ZPCELVWJ.js → chunk-NY2WZ4P2.js} +4 -4
- package/dist/{chunk-ZPCELVWJ.js.map → chunk-NY2WZ4P2.js.map} +1 -1
- package/dist/{chunk-BECPEVUL.js → chunk-O6LFU3KB.js} +3 -3
- package/dist/{chunk-BECPEVUL.js.map → chunk-O6LFU3KB.js.map} +1 -1
- package/dist/{chunk-HXHB2CK5.js → chunk-OAES72MK.js} +3 -3
- package/dist/{chunk-HXHB2CK5.js.map → chunk-OAES72MK.js.map} +1 -1
- package/dist/{chunk-NGR4HFVA.js → chunk-OCH7GGZF.js} +3 -3
- package/dist/{chunk-NGR4HFVA.js.map → chunk-OCH7GGZF.js.map} +1 -1
- package/dist/{chunk-HA5YVDHW.js → chunk-ONN5XVYC.js} +3 -3
- package/dist/{chunk-HA5YVDHW.js.map → chunk-ONN5XVYC.js.map} +1 -1
- package/dist/{chunk-OG3M4CMJ.js → chunk-OWZ3MZ5C.js} +3 -3
- package/dist/{chunk-OG3M4CMJ.js.map → chunk-OWZ3MZ5C.js.map} +1 -1
- package/dist/{chunk-MK6ID2HI.js → chunk-OXO6SKJO.js} +3 -3
- package/dist/{chunk-MK6ID2HI.js.map → chunk-OXO6SKJO.js.map} +1 -1
- package/dist/{chunk-5K2SOCOX.js → chunk-P4WMDGAQ.js} +4 -4
- package/dist/{chunk-5K2SOCOX.js.map → chunk-P4WMDGAQ.js.map} +1 -1
- package/dist/{chunk-K43MPWTO.js → chunk-PBZI5XNV.js} +3 -3
- package/dist/{chunk-K43MPWTO.js.map → chunk-PBZI5XNV.js.map} +1 -1
- package/dist/{chunk-HI3T55XK.js → chunk-PEX7FCZC.js} +3 -3
- package/dist/{chunk-HI3T55XK.js.map → chunk-PEX7FCZC.js.map} +1 -1
- package/dist/{chunk-WMG2MMJF.js → chunk-PI4WGIPG.js} +3 -3
- package/dist/{chunk-WMG2MMJF.js.map → chunk-PI4WGIPG.js.map} +1 -1
- package/dist/{chunk-V7O4X3AE.js → chunk-PTXC4KPQ.js} +4 -4
- package/dist/{chunk-V7O4X3AE.js.map → chunk-PTXC4KPQ.js.map} +1 -1
- package/dist/{chunk-34WNJNPL.js → chunk-PVIIIQJI.js} +6 -6
- package/dist/{chunk-34WNJNPL.js.map → chunk-PVIIIQJI.js.map} +1 -1
- package/dist/{chunk-A4O3USMA.js → chunk-PXR6CZIL.js} +4 -4
- package/dist/{chunk-A4O3USMA.js.map → chunk-PXR6CZIL.js.map} +1 -1
- package/dist/{chunk-KDJCZXLB.js → chunk-PZSKZFVO.js} +3 -3
- package/dist/{chunk-KDJCZXLB.js.map → chunk-PZSKZFVO.js.map} +1 -1
- package/dist/{chunk-DNAGXK2C.js → chunk-Q3JCNSPU.js} +4 -4
- package/dist/{chunk-DNAGXK2C.js.map → chunk-Q3JCNSPU.js.map} +1 -1
- package/dist/{chunk-JUTPDS4E.js → chunk-QD2ZS5DU.js} +4 -4
- package/dist/{chunk-JUTPDS4E.js.map → chunk-QD2ZS5DU.js.map} +1 -1
- package/dist/{chunk-DI3AISAZ.js → chunk-QJOWG2D4.js} +5 -5
- package/dist/{chunk-DI3AISAZ.js.map → chunk-QJOWG2D4.js.map} +1 -1
- package/dist/{chunk-6F5NWXZF.js → chunk-QLYH3GCV.js} +4 -4
- package/dist/{chunk-6F5NWXZF.js.map → chunk-QLYH3GCV.js.map} +1 -1
- package/dist/{chunk-F4EX3622.js → chunk-QO6TOE45.js} +3 -3
- package/dist/{chunk-F4EX3622.js.map → chunk-QO6TOE45.js.map} +1 -1
- package/dist/{chunk-46SUPGQV.js → chunk-QWWA4FZP.js} +3 -3
- package/dist/{chunk-46SUPGQV.js.map → chunk-QWWA4FZP.js.map} +1 -1
- package/dist/{chunk-VTDSGJ4R.js → chunk-QXET2TML.js} +4 -4
- package/dist/{chunk-VTDSGJ4R.js.map → chunk-QXET2TML.js.map} +1 -1
- package/dist/{chunk-2VHARFMD.js → chunk-QZ7SGO7L.js} +3 -3
- package/dist/{chunk-2VHARFMD.js.map → chunk-QZ7SGO7L.js.map} +1 -1
- package/dist/{chunk-XORDGKZI.js → chunk-R42LSLJL.js} +6 -6
- package/dist/{chunk-XORDGKZI.js.map → chunk-R42LSLJL.js.map} +1 -1
- package/dist/{chunk-EVZ2GZU4.js → chunk-RMJVCJ6U.js} +3 -3
- package/dist/{chunk-EVZ2GZU4.js.map → chunk-RMJVCJ6U.js.map} +1 -1
- package/dist/{chunk-UYPYAOET.js → chunk-ROPW65RD.js} +3 -3
- package/dist/{chunk-UYPYAOET.js.map → chunk-ROPW65RD.js.map} +1 -1
- package/dist/{chunk-M6VBDPNQ.js → chunk-RQBYBBMP.js} +3 -3
- package/dist/{chunk-M6VBDPNQ.js.map → chunk-RQBYBBMP.js.map} +1 -1
- package/dist/chunk-RVAYDRMA.js +31 -0
- package/dist/chunk-RVAYDRMA.js.map +1 -0
- package/dist/{chunk-ARNVOHVW.js → chunk-S4P7JIQ2.js} +3 -3
- package/dist/{chunk-ARNVOHVW.js.map → chunk-S4P7JIQ2.js.map} +1 -1
- package/dist/{chunk-AKRVZ2YW.js → chunk-S6BREP2G.js} +4 -4
- package/dist/{chunk-AKRVZ2YW.js.map → chunk-S6BREP2G.js.map} +1 -1
- package/dist/{chunk-Y5GO2F6P.js → chunk-SA3IQI3Y.js} +3 -3
- package/dist/{chunk-Y5GO2F6P.js.map → chunk-SA3IQI3Y.js.map} +1 -1
- package/dist/{chunk-56TC4CPT.js → chunk-SKI25Q7O.js} +6 -6
- package/dist/{chunk-56TC4CPT.js.map → chunk-SKI25Q7O.js.map} +1 -1
- package/dist/{chunk-MLSIZ6JU.js → chunk-SSKSWSVO.js} +5 -5
- package/dist/{chunk-MLSIZ6JU.js.map → chunk-SSKSWSVO.js.map} +1 -1
- package/dist/{chunk-VV6QE3M2.js → chunk-STADVFL2.js} +5 -5
- package/dist/{chunk-VV6QE3M2.js.map → chunk-STADVFL2.js.map} +1 -1
- package/dist/{chunk-UA3OQAHJ.js → chunk-SX63UD5X.js} +3 -3
- package/dist/{chunk-UA3OQAHJ.js.map → chunk-SX63UD5X.js.map} +1 -1
- package/dist/{chunk-YZY35OHQ.js → chunk-SXSR2VRG.js} +4 -4
- package/dist/{chunk-YZY35OHQ.js.map → chunk-SXSR2VRG.js.map} +1 -1
- package/dist/{chunk-AR3OXNPL.js → chunk-TDANAN5A.js} +3 -3
- package/dist/{chunk-AR3OXNPL.js.map → chunk-TDANAN5A.js.map} +1 -1
- package/dist/{chunk-7ZJ32KRQ.js → chunk-TEVGCTUN.js} +3 -3
- package/dist/{chunk-7ZJ32KRQ.js.map → chunk-TEVGCTUN.js.map} +1 -1
- package/dist/{chunk-GAMOVEZD.js → chunk-TIPKU427.js} +3 -3
- package/dist/{chunk-GAMOVEZD.js.map → chunk-TIPKU427.js.map} +1 -1
- package/dist/{chunk-2Q4I4VDB.js → chunk-TK5WS675.js} +3 -3
- package/dist/{chunk-2Q4I4VDB.js.map → chunk-TK5WS675.js.map} +1 -1
- package/dist/{chunk-EDSDAX56.js → chunk-TNSMTINE.js} +4 -4
- package/dist/{chunk-EDSDAX56.js.map → chunk-TNSMTINE.js.map} +1 -1
- package/dist/{chunk-5TABQJDW.js → chunk-TRTVYFOF.js} +3 -3
- package/dist/{chunk-5TABQJDW.js.map → chunk-TRTVYFOF.js.map} +1 -1
- package/dist/{chunk-QBLU7J34.js → chunk-TSE3PKWQ.js} +3 -3
- package/dist/{chunk-QBLU7J34.js.map → chunk-TSE3PKWQ.js.map} +1 -1
- package/dist/{chunk-3BBOSSDG.js → chunk-U7TPJMGY.js} +4 -4
- package/dist/{chunk-3BBOSSDG.js.map → chunk-U7TPJMGY.js.map} +1 -1
- package/dist/{chunk-PGRMKSVA.js → chunk-UC5J6GWG.js} +4 -4
- package/dist/{chunk-PGRMKSVA.js.map → chunk-UC5J6GWG.js.map} +1 -1
- package/dist/{chunk-HP7LEQJR.js → chunk-UNHPLKMR.js} +3 -3
- package/dist/{chunk-HP7LEQJR.js.map → chunk-UNHPLKMR.js.map} +1 -1
- package/dist/{chunk-I7ZLEC7Y.js → chunk-UZEJ3ZVR.js} +3 -3
- package/dist/{chunk-I7ZLEC7Y.js.map → chunk-UZEJ3ZVR.js.map} +1 -1
- package/dist/{chunk-J62NPPDO.js → chunk-UZZCEQH4.js} +4 -4
- package/dist/{chunk-J62NPPDO.js.map → chunk-UZZCEQH4.js.map} +1 -1
- package/dist/{chunk-AEE5GDNA.js → chunk-V4NSLSCA.js} +4 -4
- package/dist/{chunk-AEE5GDNA.js.map → chunk-V4NSLSCA.js.map} +1 -1
- package/dist/{chunk-IZC5YFGO.js → chunk-V57DERRV.js} +14 -7
- package/dist/chunk-V57DERRV.js.map +1 -0
- package/dist/{chunk-PM344VOQ.js → chunk-VHJ6ALIE.js} +4 -4
- package/dist/{chunk-PM344VOQ.js.map → chunk-VHJ6ALIE.js.map} +1 -1
- package/dist/{chunk-N3I6GA4I.js → chunk-WG34IXUV.js} +3 -3
- package/dist/{chunk-N3I6GA4I.js.map → chunk-WG34IXUV.js.map} +1 -1
- package/dist/{chunk-45YJLE4R.js → chunk-WGKOYZRI.js} +3 -3
- package/dist/{chunk-45YJLE4R.js.map → chunk-WGKOYZRI.js.map} +1 -1
- package/dist/{chunk-6DN2UAIR.js → chunk-WGSVSZ7V.js} +3 -3
- package/dist/{chunk-6DN2UAIR.js.map → chunk-WGSVSZ7V.js.map} +1 -1
- package/dist/{chunk-X4YUWX7H.js → chunk-WK324C6D.js} +4 -4
- package/dist/{chunk-X4YUWX7H.js.map → chunk-WK324C6D.js.map} +1 -1
- package/dist/{chunk-N2WITPE2.js → chunk-WOP5OWLG.js} +3 -3
- package/dist/{chunk-N2WITPE2.js.map → chunk-WOP5OWLG.js.map} +1 -1
- package/dist/{chunk-MAM5PTRV.js → chunk-WSDWJX4Y.js} +4 -4
- package/dist/{chunk-MAM5PTRV.js.map → chunk-WSDWJX4Y.js.map} +1 -1
- package/dist/{chunk-2XJWE2XR.js → chunk-WUS45IZW.js} +4 -4
- package/dist/{chunk-2XJWE2XR.js.map → chunk-WUS45IZW.js.map} +1 -1
- package/dist/{chunk-B3BDIM4H.js → chunk-WVOZYDH3.js} +3 -3
- package/dist/{chunk-B3BDIM4H.js.map → chunk-WVOZYDH3.js.map} +1 -1
- package/dist/{chunk-HVFACGNK.js → chunk-WWK7UIKK.js} +3 -3
- package/dist/{chunk-HVFACGNK.js.map → chunk-WWK7UIKK.js.map} +1 -1
- package/dist/{chunk-NCLOPI6U.js → chunk-X2EMALTZ.js} +3 -3
- package/dist/{chunk-NCLOPI6U.js.map → chunk-X2EMALTZ.js.map} +1 -1
- package/dist/{chunk-PK5O62XD.js → chunk-X4CJFD6D.js} +3 -3
- package/dist/{chunk-PK5O62XD.js.map → chunk-X4CJFD6D.js.map} +1 -1
- package/dist/{chunk-JWXK4TMX.js → chunk-XEQGATVF.js} +3 -3
- package/dist/{chunk-JWXK4TMX.js.map → chunk-XEQGATVF.js.map} +1 -1
- package/dist/{chunk-B6KQKQ4S.js → chunk-XMUD3LG7.js} +3 -3
- package/dist/{chunk-B6KQKQ4S.js.map → chunk-XMUD3LG7.js.map} +1 -1
- package/dist/{chunk-5ZEYTBTU.js → chunk-XWBVIBN4.js} +3 -3
- package/dist/{chunk-5ZEYTBTU.js.map → chunk-XWBVIBN4.js.map} +1 -1
- package/dist/{chunk-7I6KK6QE.js → chunk-XXWCMY2G.js} +3 -3
- package/dist/{chunk-7I6KK6QE.js.map → chunk-XXWCMY2G.js.map} +1 -1
- package/dist/{chunk-LFN7UHDT.js → chunk-Y4FEW7SR.js} +3 -3
- package/dist/{chunk-LFN7UHDT.js.map → chunk-Y4FEW7SR.js.map} +1 -1
- package/dist/{chunk-PFVT27B5.js → chunk-YC5VVIZO.js} +3 -3
- package/dist/{chunk-PFVT27B5.js.map → chunk-YC5VVIZO.js.map} +1 -1
- package/dist/{chunk-OR3NPCY2.js → chunk-YMCKML6D.js} +7 -7
- package/dist/{chunk-OR3NPCY2.js.map → chunk-YMCKML6D.js.map} +1 -1
- package/dist/{chunk-TGLALXPU.js → chunk-YMQDTTO7.js} +6 -6
- package/dist/{chunk-TGLALXPU.js.map → chunk-YMQDTTO7.js.map} +1 -1
- package/dist/{chunk-ZARZYMBM.js → chunk-YNTS4GRT.js} +3 -3
- package/dist/{chunk-ZARZYMBM.js.map → chunk-YNTS4GRT.js.map} +1 -1
- package/dist/{chunk-6SZRWNPT.js → chunk-ZOHLZ4YL.js} +3 -3
- package/dist/{chunk-6SZRWNPT.js.map → chunk-ZOHLZ4YL.js.map} +1 -1
- package/dist/{chunk-VUHJTTPV.js → chunk-ZVSMLMMS.js} +3 -3
- package/dist/{chunk-VUHJTTPV.js.map → chunk-ZVSMLMMS.js.map} +1 -1
- package/dist/{chunk-VKDN66VL.js → chunk-ZXWT4KWJ.js} +3 -3
- package/dist/{chunk-VKDN66VL.js.map → chunk-ZXWT4KWJ.js.map} +1 -1
- package/dist/components/advanced/AssetManager/index.js +2 -2
- package/dist/components/advanced/Calendar/index.js +7 -7
- package/dist/components/advanced/Command/index.js +3 -3
- package/dist/components/advanced/DragAndDrop/index.js +2 -2
- package/dist/components/advanced/ErrorBoundary/index.js +2 -2
- package/dist/components/advanced/EventCalendar/index.js +7 -7
- package/dist/components/advanced/FileDropzone/index.js +2 -2
- package/dist/components/advanced/FilePreview/index.js +2 -2
- package/dist/components/advanced/FileUpload/index.js +2 -2
- package/dist/components/advanced/FilterBuilder/index.js +9 -9
- package/dist/components/advanced/MarkdownEditor/index.js +6 -6
- package/dist/components/advanced/ReportBuilder/index.js +7 -7
- package/dist/components/advanced/RichTextEditor/index.js +4 -4
- package/dist/components/advanced/Search/index.js +2 -2
- package/dist/components/advanced/SortableList/index.js +2 -2
- package/dist/components/advanced/VersionControl/index.js +2 -2
- package/dist/components/advanced/index.js +30 -30
- package/dist/components/data-display/Accordion/index.js +2 -2
- package/dist/components/data-display/AreaChart/index.js +3 -3
- package/dist/components/data-display/Banner/index.js +2 -2
- package/dist/components/data-display/BarChart/index.js +3 -3
- package/dist/components/data-display/BarList/index.js +2 -2
- package/dist/components/data-display/Callout/index.js +2 -2
- package/dist/components/data-display/Carousel/index.js +7 -7
- package/dist/components/data-display/CategoryBar/index.js +3 -3
- package/dist/components/data-display/Chart/index.js +2 -2
- package/dist/components/data-display/ChartCard/index.js +5 -5
- package/dist/components/data-display/ChartLegend/index.js +2 -2
- package/dist/components/data-display/ComboChart/index.js +3 -3
- package/dist/components/data-display/DashboardCard/index.js +3 -3
- package/dist/components/data-display/DataTable/FilterBuilder/index.js +9 -9
- package/dist/components/data-display/DataTable/index.js +16 -16
- package/dist/components/data-display/DeltaBar/index.js +3 -3
- package/dist/components/data-display/EmptyState/index.js +2 -2
- package/dist/components/data-display/FeatureItem/index.js +3 -3
- package/dist/components/data-display/Feed/index.js +2 -2
- package/dist/components/data-display/FunnelChart/index.js +3 -3
- package/dist/components/data-display/GaugeChart/index.js +2 -2
- package/dist/components/data-display/Heatmap/index.js +3 -3
- package/dist/components/data-display/HoverCard/index.js +2 -2
- package/dist/components/data-display/ImageGallery/index.js +9 -9
- package/dist/components/data-display/Item/index.js +3 -3
- package/dist/components/data-display/KPICard/index.js +8 -8
- package/dist/components/data-display/Lightbox/index.js +2 -2
- package/dist/components/data-display/LineChart/index.js +3 -3
- package/dist/components/data-display/List/index.js +6 -6
- package/dist/components/data-display/MarkerBar/index.js +3 -3
- package/dist/components/data-display/PieChart/index.js +3 -3
- package/dist/components/data-display/RadarChart/index.js +3 -3
- package/dist/components/data-display/RadialChart/index.js +3 -3
- package/dist/components/data-display/ScatterChart/index.js +3 -3
- package/dist/components/data-display/SingleStat/index.js +3 -3
- package/dist/components/data-display/Sparkline/index.js +2 -2
- package/dist/components/data-display/Table/index.js +2 -2
- package/dist/components/data-display/Timeline/index.js +2 -2
- package/dist/components/data-display/Tracker/index.js +3 -3
- package/dist/components/data-display/VirtualTable/index.js +5 -5
- package/dist/components/data-display/index.js +56 -56
- package/dist/components/feedback/Alert/index.js +2 -2
- package/dist/components/feedback/AlertDialog/index.js +7 -7
- package/dist/components/feedback/ConfirmModal/index.js +8 -8
- package/dist/components/feedback/Dialog/index.js +2 -2
- package/dist/components/feedback/ErrorPage/index.js +2 -2
- package/dist/components/feedback/FocusTrap/index.js +2 -2
- package/dist/components/feedback/Message/index.js +2 -2
- package/dist/components/feedback/Modal/index.js +2 -2
- package/dist/components/feedback/Notification/index.js +4 -4
- package/dist/components/feedback/Popover/index.js +2 -2
- package/dist/components/feedback/Tooltip/index.js +2 -2
- package/dist/components/feedback/UpdatesWidget/index.js +2 -2
- package/dist/components/feedback/index.js +18 -18
- package/dist/components/forms/Autocomplete/index.js +2 -2
- package/dist/components/forms/Checkbox/index.js +2 -2
- package/dist/components/forms/CheckboxGroup/index.js +3 -3
- package/dist/components/forms/ColorPicker/index.js +3 -3
- package/dist/components/forms/Combobox/index.js +2 -2
- package/dist/components/forms/DatePicker/index.js +10 -10
- package/dist/components/forms/DateRangePicker/index.js +10 -10
- package/dist/components/forms/EmailInput/index.js +3 -3
- package/dist/components/forms/ErrorMessage/index.js +2 -2
- package/dist/components/forms/Field/index.js +4 -4
- package/dist/components/forms/FloatLabel/index.js +2 -2
- package/dist/components/forms/Form/index.js +3 -3
- package/dist/components/forms/FormValidation/index.js +2 -2
- package/dist/components/forms/HelpText/index.js +2 -2
- package/dist/components/forms/IftaLabel/index.js +2 -2
- package/dist/components/forms/InputGroup/index.js +9 -9
- package/dist/components/forms/InputOTP/index.js +2 -2
- package/dist/components/forms/InputOTPField/index.js +6 -6
- package/dist/components/forms/MultiSelect/index.js +3 -3
- package/dist/components/forms/NativeSelect/index.js +2 -2
- package/dist/components/forms/NumberInput/index.js +2 -2
- package/dist/components/forms/PasswordInput/index.js +3 -3
- package/dist/components/forms/PaymentInput/index.js +2 -2
- package/dist/components/forms/PhoneInput/index.js +2 -2
- package/dist/components/forms/RadioButton/index.js +2 -2
- package/dist/components/forms/RadioCardGroup/index.js +2 -2
- package/dist/components/forms/RadioGroup/index.js +2 -2
- package/dist/components/forms/Rating/index.js +2 -2
- package/dist/components/forms/SearchInput/index.js +3 -3
- package/dist/components/forms/Select/index.js +2 -2
- package/dist/components/forms/Slider/index.js +2 -2
- package/dist/components/forms/SuccessMessage/index.js +2 -2
- package/dist/components/forms/Switch/index.js +2 -2
- package/dist/components/forms/TagsInput/index.js +4 -4
- package/dist/components/forms/TextInput/index.js +2 -2
- package/dist/components/forms/Textarea/index.js +2 -2
- package/dist/components/forms/TextareaField/index.js +6 -6
- package/dist/components/forms/TimePicker/index.js +4 -4
- package/dist/components/forms/URLInput/index.js +3 -3
- package/dist/components/forms/index.js +50 -50
- package/dist/components/index.js +183 -183
- package/dist/components/layout/Card/index.js +2 -2
- package/dist/components/layout/Collapsible/index.js +2 -2
- package/dist/components/layout/Container/index.js +2 -2
- package/dist/components/layout/Flex/index.js +2 -2
- package/dist/components/layout/Grid/index.js +2 -2
- package/dist/components/layout/Panel/index.js +3 -3
- package/dist/components/layout/ResizablePanels/index.js +2 -2
- package/dist/components/layout/ResponsiveContainer/index.js +2 -2
- package/dist/components/layout/ScrollArea/index.js +2 -2
- package/dist/components/layout/Section/index.js +2 -2
- package/dist/components/layout/Sheet/index.js +2 -2
- package/dist/components/layout/Stack/index.js +2 -2
- package/dist/components/layout/index.js +13 -13
- package/dist/components/navigation/AccountSwitch/index.js +6 -6
- package/dist/components/navigation/Breadcrumb/index.js +2 -2
- package/dist/components/navigation/ContextMenu/index.js +2 -2
- package/dist/components/navigation/Drawer/index.js +2 -2
- package/dist/components/navigation/DropdownMenu/index.js +2 -2
- package/dist/components/navigation/FileTree/index.js +2 -2
- package/dist/components/navigation/Header/index.js +2 -2
- package/dist/components/navigation/LogoConta/index.js +2 -2
- package/dist/components/navigation/Menu/index.js +3 -3
- package/dist/components/navigation/Menubar/index.js +2 -2
- package/dist/components/navigation/Navbar/index.js +2 -2
- package/dist/components/navigation/NavigationMenu/index.js +2 -2
- package/dist/components/navigation/Pagination/index.js +7 -7
- package/dist/components/navigation/Sidebar/index.js +11 -11
- package/dist/components/navigation/SkipLinks/index.js +2 -2
- package/dist/components/navigation/SpeedDial/index.js +3 -3
- package/dist/components/navigation/TabNavigation/index.js +2 -2
- package/dist/components/navigation/TabPanel/index.js +2 -2
- package/dist/components/navigation/Tabs/index.js +2 -2
- package/dist/components/navigation/Toolbar/index.js +2 -2
- package/dist/components/navigation/Topbar/index.js +2 -2
- package/dist/components/navigation/index.js +32 -32
- package/dist/components/primitives/ArrowAnimated/index.js +2 -2
- package/dist/components/primitives/Avatar/index.js +3 -3
- package/dist/components/primitives/Badge/index.js +3 -3
- package/dist/components/primitives/Button/index.js +6 -6
- package/dist/components/primitives/ButtonGroup/index.js +3 -3
- package/dist/components/primitives/ConfirmButton/index.js +8 -8
- package/dist/components/primitives/Divider/index.js +2 -2
- package/dist/components/primitives/FeaturedIcon/index.js +2 -2
- package/dist/components/primitives/FolderStack/index.js +2 -2
- package/dist/components/primitives/Heading/index.js +2 -2
- package/dist/components/primitives/Icon/index.js +2 -2
- package/dist/components/primitives/Image/index.js +2 -2
- package/dist/components/primitives/Kbd/index.js +2 -2
- package/dist/components/primitives/Label/index.js +2 -2
- package/dist/components/primitives/Link/index.js +2 -2
- package/dist/components/primitives/Paragraph/index.js +2 -2
- package/dist/components/primitives/PaymentMethodIcon/index.js +2 -2
- package/dist/components/primitives/ProgressBar/index.js +3 -3
- package/dist/components/primitives/ProgressCircle/index.js +3 -3
- package/dist/components/primitives/SkeletonLoader/index.js +2 -2
- package/dist/components/primitives/Spacer/index.js +2 -2
- package/dist/components/primitives/Spinner/index.js +2 -2
- package/dist/components/primitives/SplitButton/index.js +3 -3
- package/dist/components/primitives/StatusIndicator/index.js +2 -2
- package/dist/components/primitives/Tag/index.js +2 -2
- package/dist/components/primitives/Text/index.js +2 -2
- package/dist/components/primitives/Thumbnail/index.js +3 -3
- package/dist/components/primitives/Toggle/index.js +2 -2
- package/dist/components/primitives/index.js +32 -32
- package/dist/components/workflow/ApprovalFlow/index.js +8 -8
- package/dist/components/workflow/ApprovalStatus/index.js +2 -2
- package/dist/components/workflow/CommentSystem/index.js +9 -9
- package/dist/components/workflow/Dashboard/index.js +7 -7
- package/dist/components/workflow/DashboardBuilder/index.js +9 -9
- package/dist/components/workflow/KanbanBoard/index.js +9 -9
- package/dist/components/workflow/ProgressSteps/index.js +2 -2
- package/dist/components/workflow/ReportGenerator/index.js +9 -9
- package/dist/components/workflow/Stepper/index.js +2 -2
- package/dist/components/workflow/TaskCard/index.js +2 -2
- package/dist/components/workflow/TaskList/index.js +2 -2
- package/dist/components/workflow/TaskStatus/index.js +3 -3
- package/dist/components/workflow/Wizard/index.js +8 -8
- package/dist/components/workflow/index.js +26 -26
- package/dist/index.d.ts +55 -14
- package/dist/index.js +183 -183
- package/dist/lib/utils.d.ts +2 -1
- package/dist/lib/utils.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-B2OCNHUW.js.map +0 -1
- package/dist/chunk-DSCLJ3GK.js.map +0 -1
- package/dist/chunk-HRNDJU7D.js +0 -11
- package/dist/chunk-HRNDJU7D.js.map +0 -1
- package/dist/chunk-IZC5YFGO.js.map +0 -1
- package/dist/chunk-JDG5A44W.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/advanced/FilePreview/FilePreview.variants.ts","../src/components/advanced/FilePreview/FilePreview.tsx"],"names":[],"mappings":";;;;;;AAOO,IAAM,mBAAA,GAAsB,GAAA;AAAA;AAAA,EAEjC;AAAA,IACE,UAAA;AAAA,IACA,iBAAA;AAAA,IACA,UAAA;AAAA,IACA,sBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,SAAA,EAAW,CAAC,aAAA,EAAe,cAAA,EAAgB,gBAAgB,CAAA;AAAA,QAC3D,IAAA,EAAM,CAAC,MAAA,EAAQ,UAAU,CAAA;AAAA,QACzB,QAAQ,CAAC,MAAA,EAAQ,UAAA,EAAY,cAAA,EAAgB,SAAS,KAAK,CAAA;AAAA,QAC3D,IAAA,EAAM,CAAC,MAAA,EAAQ,cAAA,EAAgB,gBAAgB;AAAA,OACjD;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,EAAA;AAAA,QACJ,EAAA,EAAI,EAAA;AAAA,QACJ,EAAA,EAAI,EAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA;AAAA,MAEhB,EAAE,OAAA,EAAS,WAAA,EAAa,IAAA,EAAM,IAAA,EAAM,OAAO,SAAA,EAAU;AAAA,MACrD,EAAE,OAAA,EAAS,WAAA,EAAa,IAAA,EAAM,IAAA,EAAM,OAAO,SAAA,EAAU;AAAA,MACrD,EAAE,OAAA,EAAS,WAAA,EAAa,IAAA,EAAM,IAAA,EAAM,OAAO,SAAA,EAAU;AAAA,MACrD,EAAE,OAAA,EAAS,WAAA,EAAa,IAAA,EAAM,IAAA,EAAM,OAAO,SAAA,EAAU;AAAA;AAAA,MAErD,EAAE,OAAA,EAAS,MAAA,EAAQ,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA,MAC7C,EAAE,OAAA,EAAS,MAAA,EAAQ,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA,MAC7C,EAAE,OAAA,EAAS,MAAA,EAAQ,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA,MAC7C,EAAE,OAAA,EAAS,MAAA,EAAQ,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA;AAAA,MAE7C,EAAE,OAAA,EAAS,QAAA,EAAU,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA,MAC/C,EAAE,OAAA,EAAS,QAAA,EAAU,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA,MAC/C,EAAE,OAAA,EAAS,QAAA,EAAU,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA,MAC/C,EAAE,OAAA,EAAS,QAAA,EAAU,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA;AAAA,MAE/C,EAAE,OAAA,EAAS,MAAA,EAAQ,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA,MAC7C,EAAE,OAAA,EAAS,MAAA,EAAQ,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA,MAC7C,EAAE,OAAA,EAAS,MAAA,EAAQ,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA,MAC7C,EAAE,OAAA,EAAS,MAAA,EAAQ,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA;AAAO,KAC/C;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,WAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR;AAEJ;AAKO,IAAM,0BAAA,GAA6B,GAAA;AAAA;AAAA,EAExC,CAAC,MAAA,EAAQ,cAAA,EAAgB,gBAAA,EAAkB,iBAAiB,CAAA;AAAA,EAC5D;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,SAAA,EAAW,CAAC,WAAW,CAAA;AAAA,QACvB,IAAA,EAAM,CAAC,eAAA,EAAiB,QAAQ,CAAA;AAAA,QAChC,MAAA,EAAQ,CAAC,SAAA,EAAW,UAAA,EAAY,SAAS,CAAA;AAAA,QACzC,IAAA,EAAM,CAAC,WAAW;AAAA;AACpB,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ;AAKO,IAAM,2BAAA,GAA8B,GAAA;AAAA;AAAA,EAEzC;AAAA,IACE,MAAA;AAAA,IACA,cAAA;AAAA,IACA,gBAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,SAAA,EAAW,CAAC,WAAW,CAAA;AAAA,QACvB,IAAA,EAAM,CAAC,eAAA,EAAiB,QAAQ,CAAA;AAAA,QAChC,MAAA,EAAQ,CAAC,SAAA,EAAW,UAAA,EAAY,SAAS,CAAA;AAAA,QACzC,IAAA,EAAM,CAAC,WAAW;AAAA,OACpB;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,EAAA;AAAA,QACJ,EAAA,EAAI,EAAA;AAAA,QACJ,EAAA,EAAI,EAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA;AAAA,MAEhB,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,gBAAA,EAAiB;AAAA,MACtC,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,gBAAA,EAAiB;AAAA,MACtC,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,iBAAA,EAAkB;AAAA,MACvC,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,iBAAA;AAAkB,KACzC;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,WAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR;AAEJ;AAKO,IAAM,uBAAA,GAA0B,GAAA;AAAA;AAAA,EAErC,CAAC,MAAA,EAAQ,UAAA,EAAY,SAAS,CAAA;AAAA,EAC9B;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,SAAA,EAAW,CAAC,QAAQ,CAAA;AAAA,QACpB,IAAA,EAAM,CAAC,KAAA,EAAO,UAAA,EAAY,eAAe,CAAA;AAAA,QACzC,MAAA,EAAQ,CAAC,SAAA,EAAW,QAAQ,CAAA;AAAA,QAC5B,IAAA,EAAM,CAAC,QAAQ;AAAA;AACjB,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ;AAKO,IAAM,0BAAA,GAA6B,GAAA;AAAA;AAAA,EAExC;AAAA,IACE,UAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA,cAAA;AAAA,IACA,gBAAA;AAAA,IACA,OAAA;AAAA,IACA,aAAA;AAAA,IACA,WAAA;AAAA,IACA,oBAAA;AAAA,IACA,mBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,WAAW,EAAC;AAAA,QACZ,IAAA,EAAM,CAAC,cAAc,CAAA;AAAA,QACrB,MAAA,EAAQ;AAAA,UACN,UAAA;AAAA,UACA,YAAA;AAAA,UACA,gBAAA;AAAA,UACA,aAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,MAAM;AAAC;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ;AAKO,IAAM,+BAAA,GAAkC,GAAA;AAAA;AAAA,EAE7C;AAAA,IACE,aAAA;AAAA,IACA,cAAA;AAAA,IACA,gBAAA;AAAA,IACA,YAAA;AAAA,IACA,OAAA;AAAA,IACA,mBAAA;AAAA,IACA,4BAAA;AAAA,IACA,sBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,SAAA,EAAW,CAAC,YAAA,EAAc,mBAAmB,CAAA;AAAA,QAC7C,IAAA,EAAM,CAAC,YAAA,EAAc,mBAAmB,CAAA;AAAA,QACxC,MAAA,EAAQ;AAAA,UACN,uBAAA;AAAA,UACA,uBAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,IAAA,EAAM,CAAC,YAAA,EAAc,mBAAmB;AAAA;AAC1C,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ;ACnLA,SAAS,eAAe,KAAA,EAAuB;AAC7C,EAAA,IAAI,KAAA,KAAU,GAAG,OAAO,KAAA;AACxB,EAAA,MAAM,CAAA,GAAI,IAAA;AACV,EAAA,MAAM,KAAA,GAAQ,CAAC,GAAA,EAAK,IAAA,EAAM,MAAM,IAAI,CAAA;AACpC,EAAA,MAAM,CAAA,GAAI,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,GAAA,CAAI,KAAK,CAAA,GAAI,IAAA,CAAK,GAAA,CAAI,CAAC,CAAC,CAAA;AAClD,EAAA,OAAO,GAAG,MAAA,CAAO,MAAA,CAAO,YAAY,KAAA,GAAQ,IAAA,CAAK,IAAI,CAAA,EAAG,CAAC,GAAG,OAAA,CAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAA,CAAM,CAAC,KAAK,EAAE,CAAA,CAAA;AAC5F;AAKA,SAAS,oBAAoB,QAAA,EAAoC;AAC/D,EAAA,IAAI,QAAA,CAAS,UAAA,CAAW,QAAQ,CAAA,EAAG,OAAO,OAAA;AAC1C,EAAA,IAAI,QAAA,CAAS,UAAA,CAAW,QAAQ,CAAA,EAAG,OAAO,OAAA;AAC1C,EAAA,IAAI,QAAA,CAAS,UAAA,CAAW,QAAQ,CAAA,EAAG,OAAO,OAAA;AAC1C,EAAA,IAAI,QAAA,KAAa,mBAAmB,OAAO,KAAA;AAC3C,EAAA,IACE,QAAA,CAAS,SAAS,aAAa,CAAA,IAC/B,SAAS,QAAA,CAAS,OAAO,CAAA,IACzB,QAAA,KAAa,UAAA,EACb;AACA,IAAA,OAAO,aAAA;AAAA,EACT;AACA,EAAA,IACE,QAAA,CAAS,QAAA,CAAS,UAAU,CAAA,IAC5B,QAAA,CAAS,QAAA,CAAS,MAAM,CAAA,IACxB,QAAA,KAAa,YAAA,IACb,QAAA,KAAa,UAAA,EACb;AACA,IAAA,OAAO,UAAA;AAAA,EACT;AACA,EAAA,IACE,SAAS,QAAA,CAAS,KAAK,KACvB,QAAA,CAAS,QAAA,CAAS,KAAK,CAAA,IACvB,QAAA,CAAS,SAAS,KAAK,CAAA,IACvB,SAAS,QAAA,CAAS,MAAM,KACxB,QAAA,CAAS,QAAA,CAAS,IAAI,CAAA,EACtB;AACA,IAAA,OAAO,SAAA;AAAA,EACT;AACA,EAAA,IACE,QAAA,CAAS,SAAS,YAAY,CAAA,IAC9B,SAAS,QAAA,CAAS,MAAM,CAAA,IACxB,QAAA,CAAS,QAAA,CAAS,KAAK,KACvB,QAAA,CAAS,QAAA,CAAS,MAAM,CAAA,IACxB,QAAA,CAAS,QAAA,CAAS,KAAK,CAAA,IACvB,QAAA,KAAa,eAAA,IACb,QAAA,KAAa,aAAA,EACb;AACA,IAAA,OAAO,MAAA;AAAA,EACT;AACA,EAAA,OAAO,SAAA;AACT;AAKA,SAAS,gBAAgB,QAAA,EAA6C;AACpE,EAAA,QAAQ,QAAA;AAAU,IAChB,KAAK,OAAA;AACH,MAAA,2BAAQ,SAAA,EAAA,EAAU,CAAA;AAAA,IACpB,KAAK,OAAA;AACH,MAAA,2BAAQ,aAAA,EAAA,EAAc,CAAA;AAAA,IACxB,KAAK,OAAA;AACH,MAAA,2BAAQ,cAAA,EAAA,EAAe,CAAA;AAAA,IACzB,KAAK,KAAA;AAAA,IACL,KAAK,UAAA;AACH,MAAA,2BAAQ,YAAA,EAAA,EAAa,CAAA;AAAA,IACvB,KAAK,aAAA;AACH,MAAA,2BAAQ,mBAAA,EAAA,EAAoB,CAAA;AAAA,IAC9B,KAAK,SAAA;AACH,MAAA,2BAAQ,WAAA,EAAA,EAAY,CAAA;AAAA,IACtB,KAAK,MAAA;AACH,MAAA,2BAAQ,QAAA,EAAA,EAAS,CAAA;AAAA,IACnB;AACE,MAAA,2BAAQ,QAAA,EAAA,EAAS,CAAA;AAAA;AAEvB;AAKA,SAAS,cAAc,QAAA,EAA2B;AAChD,EAAA,OAAO,SAAS,UAAA,CAAW,QAAQ,CAAA,IAAK,QAAA,CAAS,WAAW,QAAQ,CAAA;AACtE;AAmCA,SAAS,WAAA,CAAY;AAAA,EACnB,GAAA;AAAA,EACA,WAAA,GAAc,CAAA;AAAA,EACd,SAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA,GAAc,IAAA;AAAA,EACd,QAAA,GAAW,IAAA;AAAA,EACX,IAAA,GAAO,IAAA;AAAA,EACP,GAAA,EAAK,OAAA;AAAA,EACL,OAAA,GAAU,WAAA;AAAA,EACV,GAAG;AACL,CAAA,EAAqB;AACnB,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAU,eAAwB,IAAI,CAAA;AAChE,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAU,KAAA,CAAA,QAAA;AAAA,IAC9B;AAAA,GACF;AAGA,EAAA,MAAM,QAAA,GAAW,IAAA,EAAM,IAAA,IAAQ,QAAA,EAAU,IAAA,IAAQ,SAAA;AACjD,EAAA,MAAM,QAAA,GAAW,IAAA,EAAM,IAAA,IAAQ,QAAA,EAAU,IAAA,IAAQ,CAAA;AACjD,EAAA,MAAM,QAAA,GAAW,IAAA,EAAM,IAAA,IAAQ,QAAA,EAAU,IAAA,IAAQ,0BAAA;AACjD,EAAA,MAAM,OAAA,GAAU,OAAA,IAAW,QAAA,EAAU,GAAA,IAAO,QAAA,EAAU,YAAA;AAEtD,EAAA,MAAM,YAAA,GAAe,oBAAoB,QAAQ,CAAA;AACjD,EAAA,MAAM,UAAA,GAAa,cAAc,QAAQ,CAAA;AAIzC,EAAM,gBAAU,MAAM;AAEpB,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,UAAA,CAAW,OAAO,CAAA;AAClB,MAAA,QAAA,CAAS,UAAA,GAAa,UAAU,UAAU,CAAA;AAC1C,MAAA;AAAA,IACF;AAGA,IAAA,IAAI,QAAQ,UAAA,EAAY;AACtB,MAAA,QAAA,CAAS,SAAS,CAAA;AAClB,MAAA,MAAM,SAAA,GAAY,GAAA,CAAI,eAAA,CAAgB,IAAI,CAAA;AAC1C,MAAA,UAAA,CAAW,SAAS,CAAA;AACpB,MAAA,QAAA,CAAS,OAAO,CAAA;AAChB,MAAA,OAAO,MAAM;AACX,QAAA,GAAA,CAAI,gBAAgB,SAAS,CAAA;AAAA,MAC/B,CAAA;AAAA,IACF;AAGA,IAAA,QAAA,CAAS,UAAU,CAAA;AACnB,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAA;AAAA,EACF,CAAA,EAAG,CAAC,IAAA,EAAM,OAAA,EAAS,UAAU,CAAC,CAAA;AAI9B,EAAA,MAAM,gBAAA,GAAyB,kBAAY,MAAM;AAC/C,IAAA,QAAA,CAAS,OAAO,CAAA;AAAA,EAClB,CAAA,EAAG,EAAE,CAAA;AAGL,EAAA,MAAM,eAAA,GAAwB,kBAAY,MAAM;AAC9C,IAAA,QAAA,CAAS,OAAO,CAAA;AAAA,EAClB,CAAA,EAAG,EAAE,CAAA;AAGL,EAAA,MAAM,gBAAgB,MAAM;AAC1B,IAAA,MAAM,YAAY,KAAA,KAAU,SAAA;AAC5B,IAAA,MAAM,YAAA,GAAe,KAAA,KAAU,UAAA,IAAc,KAAA,KAAU,OAAA;AAEvD,IAAA,IAAI,SAAA,EAAW;AACb,MAAA,uBACE,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAW,EAAA;AAAA,YACT,2BAAA,CAA4B,EAAE,IAAA,EAAM,OAAA,EAAS,CAAA;AAAA,YAC7C;AAAA,WACF;AAAA,UACA,WAAA,EAAU,sBAAA;AAAA,UAEV,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAU,cAAA,EAAe;AAAA;AAAA,OACxC;AAAA,IAEJ;AAEA,IAAA,IAAI,YAAA,IAAgB,CAAC,OAAA,EAAS;AAC5B,MAAA,uBACE,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,WAAW,EAAA,CAAG,2BAAA,CAA4B,EAAE,IAAA,EAAM,OAAA,EAAS,CAAC,CAAA;AAAA,UAC5D,WAAA,EAAU,uBAAA;AAAA,UAET,0BAAgB,YAAY;AAAA;AAAA,OAC/B;AAAA,IAEJ;AAGA,IAAA,IAAI,QAAA,CAAS,UAAA,CAAW,QAAQ,CAAA,EAAG;AACjC,MAAA,uBACE,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,OACE,OAAA,KAAY,MAAA,IAAU,YAAY,MAAA,GAC9B,EAAE,aAAY,GACd,MAAA;AAAA,UAEN,WAAW,EAAA,CAAG,0BAAA,CAA2B,EAAE,OAAA,EAAS,CAAC,CAAA;AAAA,UACrD,WAAA,EAAU,sBAAA;AAAA,UAEV,QAAA,kBAAA,GAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,KAAK,GAAA,IAAO,QAAA;AAAA,cACZ,SAAA,EAAU,wBAAA;AAAA,cACV,WAAA,EAAU,oBAAA;AAAA,cACV,GAAA,EAAK,OAAA;AAAA,cACL,OAAA,EAAS,gBAAA;AAAA,cACT,MAAA,EAAQ;AAAA;AAAA;AACV;AAAA,OACF;AAAA,IAEJ;AAGA,IAAA,IAAI,QAAA,CAAS,UAAA,CAAW,QAAQ,CAAA,EAAG;AACjC,MAAA,uBACE,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,OACE,OAAA,KAAY,MAAA,IAAU,YAAY,MAAA,GAC9B,EAAE,aAAY,GACd,MAAA;AAAA,UAEN,WAAW,EAAA,CAAG,0BAAA,CAA2B,EAAE,OAAA,EAAS,CAAC,CAAA;AAAA,UACrD,WAAA,EAAU,sBAAA;AAAA,UAEV,QAAA,kBAAA,GAAA;AAAA,YAAC,OAAA;AAAA,YAAA;AAAA,cACC,KAAA,EAAK,IAAA;AAAA,cACL,WAAA,EAAW,IAAA;AAAA,cACX,SAAA,EAAU,wBAAA;AAAA,cACV,WAAA,EAAU,oBAAA;AAAA,cACV,GAAA,EAAK;AAAA;AAAA;AACP;AAAA,OACF;AAAA,IAEJ;AAGA,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAW,EAAA,CAAG,2BAAA,CAA4B,EAAE,IAAA,EAAM,OAAA,EAAS,CAAC,CAAA;AAAA,QAC5D,WAAA,EAAU,uBAAA;AAAA,QAET,0BAAgB,YAAY;AAAA;AAAA,KAC/B;AAAA,EAEJ,CAAA;AAGA,EAAA,MAAM,aAAa,MAAM;AACvB,IAAA,IAAI,CAAC,UAAU,OAAO,IAAA;AACtB,IAAA,IAAI,OAAA,KAAY,WAAA,IAAe,OAAA,KAAY,MAAA,EAAQ,OAAO,IAAA;AAE1D,IAAA,uBACE,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAW,EAAA,CAAG,uBAAA,CAAwB,EAAE,OAAA,EAAS,CAAC,CAAA;AAAA,QAClD,WAAA,EAAU,mBAAA;AAAA,QAEV,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,8BAAA,EAAgC,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,8BACxD,MAAA,EAAA,EAAK,SAAA,EAAU,+BAAA,EACb,QAAA,EAAA,cAAA,CAAe,QAAQ,CAAA,EAC1B;AAAA;AAAA;AAAA,KACF;AAAA,EAEJ,CAAA;AAGA,EAAA,MAAM,gBAAgB,MAAM;AAC1B,IAAA,IAAI,CAAC,aAAa,OAAO,IAAA;AACzB,IAAA,IAAI,CAAC,QAAA,IAAY,CAAC,UAAA,EAAY,OAAO,IAAA;AAErC,IAAA,MAAM,WAAW,OAAA,KAAY,QAAA;AAE7B,IAAA,uBACE,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAW,EAAA,CAAG,0BAAA,CAA2B,EAAE,OAAA,EAAS,CAAC,CAAA;AAAA,QACrD,WAAA,EAAU,sBAAA;AAAA,QAET,QAAA,EAAA;AAAA,UAAA,UAAA,oBACC,GAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,YAAA,EAAY,YAAY,QAAQ,CAAA,CAAA;AAAA,cAChC,WAAW,EAAA,CAAG,+BAAA,CAAgC,EAAE,OAAA,EAAS,CAAC,CAAA;AAAA,cAC1D,IAAA,EAAK,QAAA;AAAA,cACL,OAAA,EAAS,UAAA;AAAA,cAET,QAAA,kBAAA,GAAA,CAAC,YAAA,EAAA,EAAa,SAAA,EAAW,QAAA,GAAW,WAAW,QAAA,EAAU;AAAA;AAAA,WAC3D;AAAA,UAED,QAAA,oBACC,GAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,YAAA,EAAY,UAAU,QAAQ,CAAA,CAAA;AAAA,cAC9B,WAAW,EAAA,CAAG,+BAAA,CAAgC,EAAE,OAAA,EAAS,CAAC,CAAA;AAAA,cAC1D,IAAA,EAAK,QAAA;AAAA,cACL,OAAA,EAAS,QAAA;AAAA,cAET,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAW,QAAA,GAAW,WAAW,QAAA,EAAU;AAAA;AAAA;AACpD;AAAA;AAAA,KAEJ;AAAA,EAEJ,CAAA;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAY,cAAc,QAAQ,CAAA,CAAA;AAAA,MAClC,SAAA,EAAW,GAAG,mBAAA,CAAoB,EAAE,MAAM,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,MAC/D,WAAA,EAAU,cAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,WAAA,EAAW,YAAA;AAAA,MACX,cAAA,EAAc,OAAA;AAAA,MACd,IAAA,EAAK,KAAA;AAAA,MACJ,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,aAAA,EAAc;AAAA,QACd,UAAA,EAAW;AAAA,QACX,aAAA;AAAc;AAAA;AAAA,GACjB;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA","file":"chunk-V7WEN4SD.js","sourcesContent":["// FilePreview/FilePreview.variants.ts\n/* eslint-disable sonarjs/no-duplicate-string -- CSS class names are intentionally repeated for CVA readability */\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * FilePreview root container variants\n */\nexport const filePreviewVariants = cva(\n // Base styles\n [\n \"relative\",\n \"overflow-hidden\",\n \"bg-muted\",\n \"border border-border\",\n \"rounded-md\",\n ],\n {\n variants: {\n variant: {\n thumbnail: [\"inline-flex\", \"items-center\", \"justify-center\"],\n card: [\"flex\", \"flex-col\"],\n inline: [\"flex\", \"flex-row\", \"items-center\", \"gap-3\", \"p-2\"],\n full: [\"flex\", \"items-center\", \"justify-center\"],\n },\n size: {\n sm: \"\",\n md: \"\",\n lg: \"\",\n xl: \"\",\n },\n },\n compoundVariants: [\n // Thumbnail sizes\n { variant: \"thumbnail\", size: \"sm\", class: \"size-16\" },\n { variant: \"thumbnail\", size: \"md\", class: \"size-24\" },\n { variant: \"thumbnail\", size: \"lg\", class: \"size-32\" },\n { variant: \"thumbnail\", size: \"xl\", class: \"size-48\" },\n // Card sizes\n { variant: \"card\", size: \"sm\", class: \"w-32\" },\n { variant: \"card\", size: \"md\", class: \"w-40\" },\n { variant: \"card\", size: \"lg\", class: \"w-48\" },\n { variant: \"card\", size: \"xl\", class: \"w-64\" },\n // Inline heights\n { variant: \"inline\", size: \"sm\", class: \"h-12\" },\n { variant: \"inline\", size: \"md\", class: \"h-16\" },\n { variant: \"inline\", size: \"lg\", class: \"h-20\" },\n { variant: \"inline\", size: \"xl\", class: \"h-24\" },\n // Full sizes\n { variant: \"full\", size: \"sm\", class: \"h-48\" },\n { variant: \"full\", size: \"md\", class: \"h-64\" },\n { variant: \"full\", size: \"lg\", class: \"h-80\" },\n { variant: \"full\", size: \"xl\", class: \"h-96\" },\n ],\n defaultVariants: {\n variant: \"thumbnail\",\n size: \"md\",\n },\n }\n)\n\n/**\n * FilePreview content area variants (for image/video preview)\n */\nexport const filePreviewContentVariants = cva(\n // Base styles\n [\"flex\", \"items-center\", \"justify-center\", \"overflow-hidden\"],\n {\n variants: {\n variant: {\n thumbnail: [\"size-full\"],\n card: [\"aspect-square\", \"w-full\"],\n inline: [\"size-10\", \"shrink-0\", \"rounded\"],\n full: [\"size-full\"],\n },\n },\n defaultVariants: {\n variant: \"thumbnail\",\n },\n }\n)\n\n/**\n * FilePreview fallback icon container variants\n */\nexport const filePreviewFallbackVariants = cva(\n // Base styles\n [\n \"flex\",\n \"items-center\",\n \"justify-center\",\n \"bg-muted\",\n \"text-muted-foreground\",\n ],\n {\n variants: {\n variant: {\n thumbnail: [\"size-full\"],\n card: [\"aspect-square\", \"w-full\"],\n inline: [\"size-10\", \"shrink-0\", \"rounded\"],\n full: [\"size-full\"],\n },\n size: {\n sm: \"\",\n md: \"\",\n lg: \"\",\n xl: \"\",\n },\n },\n compoundVariants: [\n // Icon sizes by component size\n { size: \"sm\", class: \"[&>svg]:size-6\" },\n { size: \"md\", class: \"[&>svg]:size-8\" },\n { size: \"lg\", class: \"[&>svg]:size-10\" },\n { size: \"xl\", class: \"[&>svg]:size-12\" },\n ],\n defaultVariants: {\n variant: \"thumbnail\",\n size: \"md\",\n },\n }\n)\n\n/**\n * FilePreview info section variants\n */\nexport const filePreviewInfoVariants = cva(\n // Base styles\n [\"flex\", \"flex-col\", \"gap-0.5\"],\n {\n variants: {\n variant: {\n thumbnail: [\"hidden\"],\n card: [\"p-2\", \"border-t\", \"border-border\"],\n inline: [\"min-w-0\", \"flex-1\"],\n full: [\"hidden\"],\n },\n },\n defaultVariants: {\n variant: \"thumbnail\",\n },\n }\n)\n\n/**\n * FilePreview actions overlay variants\n */\nexport const filePreviewActionsVariants = cva(\n // Base styles\n [\n \"absolute\",\n \"inset-0\",\n \"flex\",\n \"items-center\",\n \"justify-center\",\n \"gap-1\",\n \"bg-black/50\",\n \"opacity-0\",\n \"transition-opacity\",\n \"hover:opacity-100\",\n \"focus-within:opacity-100\",\n ],\n {\n variants: {\n variant: {\n thumbnail: [],\n card: [\"rounded-t-md\"],\n inline: [\n \"relative\",\n \"inset-auto\",\n \"bg-transparent\",\n \"opacity-100\",\n \"shrink-0\",\n ],\n full: [],\n },\n },\n defaultVariants: {\n variant: \"thumbnail\",\n },\n }\n)\n\n/**\n * FilePreview action button variants\n */\nexport const filePreviewActionButtonVariants = cva(\n // Base styles\n [\n \"inline-flex\",\n \"items-center\",\n \"justify-center\",\n \"rounded-sm\",\n \"p-1.5\",\n \"transition-colors\",\n \"focus-visible:outline-none\",\n \"focus-visible:ring-2\",\n \"focus-visible:ring-ring\",\n ],\n {\n variants: {\n variant: {\n thumbnail: [\"text-white\", \"hover:bg-white/20\"],\n card: [\"text-white\", \"hover:bg-white/20\"],\n inline: [\n \"text-muted-foreground\",\n \"hover:text-foreground\",\n \"hover:bg-muted\",\n ],\n full: [\"text-white\", \"hover:bg-white/20\"],\n },\n },\n defaultVariants: {\n variant: \"thumbnail\",\n },\n }\n)\n\n// Export variant types\nexport type FilePreviewVariantProps = VariantProps<typeof filePreviewVariants>\nexport type FilePreviewContentVariantProps = VariantProps<\n typeof filePreviewContentVariants\n>\nexport type FilePreviewFallbackVariantProps = VariantProps<\n typeof filePreviewFallbackVariants\n>\nexport type FilePreviewInfoVariantProps = VariantProps<\n typeof filePreviewInfoVariants\n>\nexport type FilePreviewActionsVariantProps = VariantProps<\n typeof filePreviewActionsVariants\n>\nexport type FilePreviewActionButtonVariantProps = VariantProps<\n typeof filePreviewActionButtonVariants\n>\n","\"use client\"\n\nimport type { FilePreviewProps, FileTypeCategory } from \"./FilePreview.types\"\n\nimport {\n ArchiveIcon,\n AudioLinesIcon,\n CodeIcon,\n DownloadIcon,\n FileIcon,\n FileSpreadsheetIcon,\n FileTextIcon,\n FileVideoIcon,\n ImageIcon,\n Loader2Icon,\n XIcon,\n} from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n filePreviewActionButtonVariants,\n filePreviewActionsVariants,\n filePreviewContentVariants,\n filePreviewFallbackVariants,\n filePreviewInfoVariants,\n filePreviewVariants,\n} from \"./FilePreview.variants\"\n\n// ============================================\n// UTILITIES\n// ============================================\n\n/**\n * Format file size to human-readable string\n */\nfunction formatFileSize(bytes: number): string {\n if (bytes === 0) return \"0 B\"\n const k = 1024\n const sizes = [\"B\", \"KB\", \"MB\", \"GB\"]\n const i = Math.floor(Math.log(bytes) / Math.log(k))\n return `${String(Number.parseFloat((bytes / Math.pow(k, i)).toFixed(1)))} ${sizes[i] ?? \"\"}`\n}\n\n/**\n * Get file type category from MIME type\n */\nfunction getFileTypeCategory(mimeType: string): FileTypeCategory {\n if (mimeType.startsWith(\"image/\")) return \"image\"\n if (mimeType.startsWith(\"video/\")) return \"video\"\n if (mimeType.startsWith(\"audio/\")) return \"audio\"\n if (mimeType === \"application/pdf\") return \"pdf\"\n if (\n mimeType.includes(\"spreadsheet\") ||\n mimeType.includes(\"excel\") ||\n mimeType === \"text/csv\"\n ) {\n return \"spreadsheet\"\n }\n if (\n mimeType.includes(\"document\") ||\n mimeType.includes(\"word\") ||\n mimeType === \"text/plain\" ||\n mimeType === \"text/rtf\"\n ) {\n return \"document\"\n }\n if (\n mimeType.includes(\"zip\") ||\n mimeType.includes(\"rar\") ||\n mimeType.includes(\"tar\") ||\n mimeType.includes(\"gzip\") ||\n mimeType.includes(\"7z\")\n ) {\n return \"archive\"\n }\n if (\n mimeType.includes(\"javascript\") ||\n mimeType.includes(\"json\") ||\n mimeType.includes(\"xml\") ||\n mimeType.includes(\"html\") ||\n mimeType.includes(\"css\") ||\n mimeType === \"text/x-python\" ||\n mimeType === \"text/x-java\"\n ) {\n return \"code\"\n }\n return \"unknown\"\n}\n\n/**\n * Get icon component for file type\n */\nfunction getFileTypeIcon(category: FileTypeCategory): React.ReactNode {\n switch (category) {\n case \"image\":\n return <ImageIcon />\n case \"video\":\n return <FileVideoIcon />\n case \"audio\":\n return <AudioLinesIcon />\n case \"pdf\":\n case \"document\":\n return <FileTextIcon />\n case \"spreadsheet\":\n return <FileSpreadsheetIcon />\n case \"archive\":\n return <ArchiveIcon />\n case \"code\":\n return <CodeIcon />\n default:\n return <FileIcon />\n }\n}\n\n/**\n * Check if file type is previewable (image or video)\n */\nfunction isPreviewable(mimeType: string): boolean {\n return mimeType.startsWith(\"image/\") || mimeType.startsWith(\"video/\")\n}\n\n// ============================================\n// MAIN COMPONENT\n// ============================================\n\n/**\n * FilePreview - Component for displaying file previews\n *\n * @example\n * ```tsx\n * // Basic usage with File object\n * <FilePreview file={file} onRemove={() => handleRemove()} />\n *\n * // With remote file info\n * <FilePreview\n * fileInfo={{\n * name: \"photo.jpg\",\n * size: 1024000,\n * type: \"image/jpeg\",\n * url: \"https://example.com/photo.jpg\",\n * }}\n * variant=\"card\"\n * />\n *\n * // Inline variant with actions\n * <FilePreview\n * file={file}\n * variant=\"inline\"\n * showActions\n * onDownload={() => downloadFile(file)}\n * onRemove={() => removeFile(file)}\n * />\n * ```\n */\nfunction FilePreview({\n alt,\n aspectRatio = 1,\n className,\n file,\n fileInfo,\n onDownload,\n onRemove,\n showActions = true,\n showInfo = true,\n size = \"md\",\n url: urlProp,\n variant = \"thumbnail\",\n ...props\n}: FilePreviewProps) {\n const [preview, setPreview] = React.useState<null | string>(null)\n const [state, setState] = React.useState<\"error\" | \"fallback\" | \"loading\" | \"ready\">(\n \"loading\"\n )\n\n // Derive file metadata\n const fileName = file?.name ?? fileInfo?.name ?? \"Unknown\"\n const fileSize = file?.size ?? fileInfo?.size ?? 0\n const fileType = file?.type ?? fileInfo?.type ?? \"application/octet-stream\"\n const fileUrl = urlProp ?? fileInfo?.url ?? fileInfo?.thumbnailUrl\n\n const fileCategory = getFileTypeCategory(fileType)\n const canPreview = isPreviewable(fileType)\n\n // Generate preview URL for local files - requires useEffect for object URL lifecycle management\n /* eslint-disable react-you-might-not-need-an-effect/no-derived-state, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect, react-you-might-not-need-an-effect/no-adjust-state-on-prop-change */\n React.useEffect(() => {\n // If we have a URL prop or fileInfo URL, use that\n if (fileUrl) {\n setPreview(fileUrl)\n setState(canPreview ? \"ready\" : \"fallback\")\n return\n }\n\n // If we have a local File and it's previewable, generate object URL\n if (file && canPreview) {\n setState(\"loading\")\n const objectUrl = URL.createObjectURL(file)\n setPreview(objectUrl)\n setState(\"ready\")\n return () => {\n URL.revokeObjectURL(objectUrl)\n }\n }\n\n // Non-previewable file type\n setState(\"fallback\")\n setPreview(null)\n return\n }, [file, fileUrl, canPreview])\n /* eslint-enable react-you-might-not-need-an-effect/no-derived-state, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect, react-you-might-not-need-an-effect/no-adjust-state-on-prop-change */\n\n // Handle image load error\n const handleImageError = React.useCallback(() => {\n setState(\"error\")\n }, [])\n\n // Handle image load success\n const handleImageLoad = React.useCallback(() => {\n setState(\"ready\")\n }, [])\n\n // Render preview content\n const renderContent = () => {\n const isLoading = state === \"loading\"\n const showFallback = state === \"fallback\" || state === \"error\"\n\n if (isLoading) {\n return (\n <div\n className={cn(\n filePreviewFallbackVariants({ size, variant }),\n \"animate-pulse\"\n )}\n data-slot=\"file-preview-loading\"\n >\n <Loader2Icon className=\"animate-spin\" />\n </div>\n )\n }\n\n if (showFallback || !preview) {\n return (\n <div\n className={cn(filePreviewFallbackVariants({ size, variant }))}\n data-slot=\"file-preview-fallback\"\n >\n {getFileTypeIcon(fileCategory)}\n </div>\n )\n }\n\n // Image preview\n if (fileType.startsWith(\"image/\")) {\n return (\n <div\n style={\n variant === \"full\" || variant === \"card\"\n ? { aspectRatio }\n : undefined\n }\n className={cn(filePreviewContentVariants({ variant }))}\n data-slot=\"file-preview-content\"\n >\n <img\n alt={alt ?? fileName}\n className=\"size-full object-cover\"\n data-slot=\"file-preview-image\"\n src={preview}\n onError={handleImageError}\n onLoad={handleImageLoad}\n />\n </div>\n )\n }\n\n // Video preview\n if (fileType.startsWith(\"video/\")) {\n return (\n <div\n style={\n variant === \"full\" || variant === \"card\"\n ? { aspectRatio }\n : undefined\n }\n className={cn(filePreviewContentVariants({ variant }))}\n data-slot=\"file-preview-content\"\n >\n <video\n muted\n playsInline\n className=\"size-full object-cover\"\n data-slot=\"file-preview-video\"\n src={preview}\n />\n </div>\n )\n }\n\n // Fallback for other types\n return (\n <div\n className={cn(filePreviewFallbackVariants({ size, variant }))}\n data-slot=\"file-preview-fallback\"\n >\n {getFileTypeIcon(fileCategory)}\n </div>\n )\n }\n\n // Render file info\n const renderInfo = () => {\n if (!showInfo) return null\n if (variant === \"thumbnail\" || variant === \"full\") return null\n\n return (\n <div\n className={cn(filePreviewInfoVariants({ variant }))}\n data-slot=\"file-preview-info\"\n >\n <span className=\"truncate text-sm font-medium\">{fileName}</span>\n <span className=\"text-xs text-muted-foreground\">\n {formatFileSize(fileSize)}\n </span>\n </div>\n )\n }\n\n // Render action buttons\n const renderActions = () => {\n if (!showActions) return null\n if (!onRemove && !onDownload) return null\n\n const isInline = variant === \"inline\"\n\n return (\n <div\n className={cn(filePreviewActionsVariants({ variant }))}\n data-slot=\"file-preview-actions\"\n >\n {onDownload && (\n <button\n aria-label={`Download ${fileName}`}\n className={cn(filePreviewActionButtonVariants({ variant }))}\n type=\"button\"\n onClick={onDownload}\n >\n <DownloadIcon className={isInline ? \"size-4\" : \"size-5\"} />\n </button>\n )}\n {onRemove && (\n <button\n aria-label={`Remove ${fileName}`}\n className={cn(filePreviewActionButtonVariants({ variant }))}\n type=\"button\"\n onClick={onRemove}\n >\n <XIcon className={isInline ? \"size-4\" : \"size-5\"} />\n </button>\n )}\n </div>\n )\n }\n\n return (\n <div\n aria-label={`Preview of ${fileName}`}\n className={cn(filePreviewVariants({ size, variant }), className)}\n data-slot=\"file-preview\"\n data-state={state}\n data-type={fileCategory}\n data-variant={variant}\n role=\"img\"\n {...props}\n >\n {renderContent()}\n {renderInfo()}\n {renderActions()}\n </div>\n )\n}\n\nFilePreview.displayName = \"FilePreview\"\n\nexport { FilePreview }\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/advanced/FilePreview/FilePreview.variants.ts","../src/components/advanced/FilePreview/FilePreview.tsx"],"names":[],"mappings":";;;;;;AAOO,IAAM,mBAAA,GAAsB,GAAA;AAAA;AAAA,EAEjC;AAAA,IACE,UAAA;AAAA,IACA,iBAAA;AAAA,IACA,UAAA;AAAA,IACA,sBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,SAAA,EAAW,CAAC,aAAA,EAAe,cAAA,EAAgB,gBAAgB,CAAA;AAAA,QAC3D,IAAA,EAAM,CAAC,MAAA,EAAQ,UAAU,CAAA;AAAA,QACzB,QAAQ,CAAC,MAAA,EAAQ,UAAA,EAAY,cAAA,EAAgB,SAAS,KAAK,CAAA;AAAA,QAC3D,IAAA,EAAM,CAAC,MAAA,EAAQ,cAAA,EAAgB,gBAAgB;AAAA,OACjD;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,EAAA;AAAA,QACJ,EAAA,EAAI,EAAA;AAAA,QACJ,EAAA,EAAI,EAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA;AAAA,MAEhB,EAAE,OAAA,EAAS,WAAA,EAAa,IAAA,EAAM,IAAA,EAAM,OAAO,SAAA,EAAU;AAAA,MACrD,EAAE,OAAA,EAAS,WAAA,EAAa,IAAA,EAAM,IAAA,EAAM,OAAO,SAAA,EAAU;AAAA,MACrD,EAAE,OAAA,EAAS,WAAA,EAAa,IAAA,EAAM,IAAA,EAAM,OAAO,SAAA,EAAU;AAAA,MACrD,EAAE,OAAA,EAAS,WAAA,EAAa,IAAA,EAAM,IAAA,EAAM,OAAO,SAAA,EAAU;AAAA;AAAA,MAErD,EAAE,OAAA,EAAS,MAAA,EAAQ,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA,MAC7C,EAAE,OAAA,EAAS,MAAA,EAAQ,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA,MAC7C,EAAE,OAAA,EAAS,MAAA,EAAQ,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA,MAC7C,EAAE,OAAA,EAAS,MAAA,EAAQ,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA;AAAA,MAE7C,EAAE,OAAA,EAAS,QAAA,EAAU,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA,MAC/C,EAAE,OAAA,EAAS,QAAA,EAAU,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA,MAC/C,EAAE,OAAA,EAAS,QAAA,EAAU,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA,MAC/C,EAAE,OAAA,EAAS,QAAA,EAAU,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA;AAAA,MAE/C,EAAE,OAAA,EAAS,MAAA,EAAQ,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA,MAC7C,EAAE,OAAA,EAAS,MAAA,EAAQ,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA,MAC7C,EAAE,OAAA,EAAS,MAAA,EAAQ,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA,EAAO;AAAA,MAC7C,EAAE,OAAA,EAAS,MAAA,EAAQ,IAAA,EAAM,IAAA,EAAM,OAAO,MAAA;AAAO,KAC/C;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,WAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR;AAEJ;AAKO,IAAM,0BAAA,GAA6B,GAAA;AAAA;AAAA,EAExC,CAAC,MAAA,EAAQ,cAAA,EAAgB,gBAAA,EAAkB,iBAAiB,CAAA;AAAA,EAC5D;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,SAAA,EAAW,CAAC,WAAW,CAAA;AAAA,QACvB,IAAA,EAAM,CAAC,eAAA,EAAiB,QAAQ,CAAA;AAAA,QAChC,MAAA,EAAQ,CAAC,SAAA,EAAW,UAAA,EAAY,SAAS,CAAA;AAAA,QACzC,IAAA,EAAM,CAAC,WAAW;AAAA;AACpB,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ;AAKO,IAAM,2BAAA,GAA8B,GAAA;AAAA;AAAA,EAEzC;AAAA,IACE,MAAA;AAAA,IACA,cAAA;AAAA,IACA,gBAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,SAAA,EAAW,CAAC,WAAW,CAAA;AAAA,QACvB,IAAA,EAAM,CAAC,eAAA,EAAiB,QAAQ,CAAA;AAAA,QAChC,MAAA,EAAQ,CAAC,SAAA,EAAW,UAAA,EAAY,SAAS,CAAA;AAAA,QACzC,IAAA,EAAM,CAAC,WAAW;AAAA,OACpB;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,EAAA;AAAA,QACJ,EAAA,EAAI,EAAA;AAAA,QACJ,EAAA,EAAI,EAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA;AAAA,MAEhB,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,gBAAA,EAAiB;AAAA,MACtC,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,gBAAA,EAAiB;AAAA,MACtC,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,iBAAA,EAAkB;AAAA,MACvC,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,iBAAA;AAAkB,KACzC;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,WAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR;AAEJ;AAKO,IAAM,uBAAA,GAA0B,GAAA;AAAA;AAAA,EAErC,CAAC,MAAA,EAAQ,UAAA,EAAY,SAAS,CAAA;AAAA,EAC9B;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,SAAA,EAAW,CAAC,QAAQ,CAAA;AAAA,QACpB,IAAA,EAAM,CAAC,KAAA,EAAO,UAAA,EAAY,eAAe,CAAA;AAAA,QACzC,MAAA,EAAQ,CAAC,SAAA,EAAW,QAAQ,CAAA;AAAA,QAC5B,IAAA,EAAM,CAAC,QAAQ;AAAA;AACjB,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ;AAKO,IAAM,0BAAA,GAA6B,GAAA;AAAA;AAAA,EAExC;AAAA,IACE,UAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA,cAAA;AAAA,IACA,gBAAA;AAAA,IACA,OAAA;AAAA,IACA,aAAA;AAAA,IACA,WAAA;AAAA,IACA,oBAAA;AAAA,IACA,mBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,WAAW,EAAC;AAAA,QACZ,IAAA,EAAM,CAAC,cAAc,CAAA;AAAA,QACrB,MAAA,EAAQ;AAAA,UACN,UAAA;AAAA,UACA,YAAA;AAAA,UACA,gBAAA;AAAA,UACA,aAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,MAAM;AAAC;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ;AAKO,IAAM,+BAAA,GAAkC,GAAA;AAAA;AAAA,EAE7C;AAAA,IACE,aAAA;AAAA,IACA,cAAA;AAAA,IACA,gBAAA;AAAA,IACA,YAAA;AAAA,IACA,OAAA;AAAA,IACA,mBAAA;AAAA,IACA,4BAAA;AAAA,IACA,sBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,SAAA,EAAW,CAAC,YAAA,EAAc,mBAAmB,CAAA;AAAA,QAC7C,IAAA,EAAM,CAAC,YAAA,EAAc,mBAAmB,CAAA;AAAA,QACxC,MAAA,EAAQ;AAAA,UACN,uBAAA;AAAA,UACA,uBAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,IAAA,EAAM,CAAC,YAAA,EAAc,mBAAmB;AAAA;AAC1C,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ;ACnLA,SAAS,eAAe,KAAA,EAAuB;AAC7C,EAAA,IAAI,KAAA,KAAU,GAAG,OAAO,KAAA;AACxB,EAAA,MAAM,CAAA,GAAI,IAAA;AACV,EAAA,MAAM,KAAA,GAAQ,CAAC,GAAA,EAAK,IAAA,EAAM,MAAM,IAAI,CAAA;AACpC,EAAA,MAAM,CAAA,GAAI,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,GAAA,CAAI,KAAK,CAAA,GAAI,IAAA,CAAK,GAAA,CAAI,CAAC,CAAC,CAAA;AAClD,EAAA,OAAO,GAAG,MAAA,CAAO,MAAA,CAAO,YAAY,KAAA,GAAQ,IAAA,CAAK,IAAI,CAAA,EAAG,CAAC,GAAG,OAAA,CAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAA,CAAM,CAAC,KAAK,EAAE,CAAA,CAAA;AAC5F;AAKA,SAAS,oBAAoB,QAAA,EAAoC;AAC/D,EAAA,IAAI,QAAA,CAAS,UAAA,CAAW,QAAQ,CAAA,EAAG,OAAO,OAAA;AAC1C,EAAA,IAAI,QAAA,CAAS,UAAA,CAAW,QAAQ,CAAA,EAAG,OAAO,OAAA;AAC1C,EAAA,IAAI,QAAA,CAAS,UAAA,CAAW,QAAQ,CAAA,EAAG,OAAO,OAAA;AAC1C,EAAA,IAAI,QAAA,KAAa,mBAAmB,OAAO,KAAA;AAC3C,EAAA,IACE,QAAA,CAAS,SAAS,aAAa,CAAA,IAC/B,SAAS,QAAA,CAAS,OAAO,CAAA,IACzB,QAAA,KAAa,UAAA,EACb;AACA,IAAA,OAAO,aAAA;AAAA,EACT;AACA,EAAA,IACE,QAAA,CAAS,QAAA,CAAS,UAAU,CAAA,IAC5B,QAAA,CAAS,QAAA,CAAS,MAAM,CAAA,IACxB,QAAA,KAAa,YAAA,IACb,QAAA,KAAa,UAAA,EACb;AACA,IAAA,OAAO,UAAA;AAAA,EACT;AACA,EAAA,IACE,SAAS,QAAA,CAAS,KAAK,KACvB,QAAA,CAAS,QAAA,CAAS,KAAK,CAAA,IACvB,QAAA,CAAS,SAAS,KAAK,CAAA,IACvB,SAAS,QAAA,CAAS,MAAM,KACxB,QAAA,CAAS,QAAA,CAAS,IAAI,CAAA,EACtB;AACA,IAAA,OAAO,SAAA;AAAA,EACT;AACA,EAAA,IACE,QAAA,CAAS,SAAS,YAAY,CAAA,IAC9B,SAAS,QAAA,CAAS,MAAM,CAAA,IACxB,QAAA,CAAS,QAAA,CAAS,KAAK,KACvB,QAAA,CAAS,QAAA,CAAS,MAAM,CAAA,IACxB,QAAA,CAAS,QAAA,CAAS,KAAK,CAAA,IACvB,QAAA,KAAa,eAAA,IACb,QAAA,KAAa,aAAA,EACb;AACA,IAAA,OAAO,MAAA;AAAA,EACT;AACA,EAAA,OAAO,SAAA;AACT;AAKA,SAAS,gBAAgB,QAAA,EAA6C;AACpE,EAAA,QAAQ,QAAA;AAAU,IAChB,KAAK,OAAA;AACH,MAAA,2BAAQ,SAAA,EAAA,EAAU,CAAA;AAAA,IACpB,KAAK,OAAA;AACH,MAAA,2BAAQ,aAAA,EAAA,EAAc,CAAA;AAAA,IACxB,KAAK,OAAA;AACH,MAAA,2BAAQ,cAAA,EAAA,EAAe,CAAA;AAAA,IACzB,KAAK,KAAA;AAAA,IACL,KAAK,UAAA;AACH,MAAA,2BAAQ,YAAA,EAAA,EAAa,CAAA;AAAA,IACvB,KAAK,aAAA;AACH,MAAA,2BAAQ,mBAAA,EAAA,EAAoB,CAAA;AAAA,IAC9B,KAAK,SAAA;AACH,MAAA,2BAAQ,WAAA,EAAA,EAAY,CAAA;AAAA,IACtB,KAAK,MAAA;AACH,MAAA,2BAAQ,QAAA,EAAA,EAAS,CAAA;AAAA,IACnB;AACE,MAAA,2BAAQ,QAAA,EAAA,EAAS,CAAA;AAAA;AAEvB;AAKA,SAAS,cAAc,QAAA,EAA2B;AAChD,EAAA,OAAO,SAAS,UAAA,CAAW,QAAQ,CAAA,IAAK,QAAA,CAAS,WAAW,QAAQ,CAAA;AACtE;AAmCA,SAAS,WAAA,CAAY;AAAA,EACnB,GAAA;AAAA,EACA,WAAA,GAAc,CAAA;AAAA,EACd,SAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA,GAAc,IAAA;AAAA,EACd,QAAA,GAAW,IAAA;AAAA,EACX,IAAA,GAAO,IAAA;AAAA,EACP,GAAA,EAAK,OAAA;AAAA,EACL,OAAA,GAAU,WAAA;AAAA,EACV,GAAG;AACL,CAAA,EAAqB;AACnB,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAU,eAAwB,IAAI,CAAA;AAChE,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAU,KAAA,CAAA,QAAA;AAAA,IAC9B;AAAA,GACF;AAGA,EAAA,MAAM,QAAA,GAAW,IAAA,EAAM,IAAA,IAAQ,QAAA,EAAU,IAAA,IAAQ,SAAA;AACjD,EAAA,MAAM,QAAA,GAAW,IAAA,EAAM,IAAA,IAAQ,QAAA,EAAU,IAAA,IAAQ,CAAA;AACjD,EAAA,MAAM,QAAA,GAAW,IAAA,EAAM,IAAA,IAAQ,QAAA,EAAU,IAAA,IAAQ,0BAAA;AACjD,EAAA,MAAM,OAAA,GAAU,OAAA,IAAW,QAAA,EAAU,GAAA,IAAO,QAAA,EAAU,YAAA;AAEtD,EAAA,MAAM,YAAA,GAAe,oBAAoB,QAAQ,CAAA;AACjD,EAAA,MAAM,UAAA,GAAa,cAAc,QAAQ,CAAA;AAIzC,EAAM,gBAAU,MAAM;AAEpB,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,UAAA,CAAW,OAAO,CAAA;AAClB,MAAA,QAAA,CAAS,UAAA,GAAa,UAAU,UAAU,CAAA;AAC1C,MAAA;AAAA,IACF;AAGA,IAAA,IAAI,QAAQ,UAAA,EAAY;AACtB,MAAA,QAAA,CAAS,SAAS,CAAA;AAClB,MAAA,MAAM,SAAA,GAAY,GAAA,CAAI,eAAA,CAAgB,IAAI,CAAA;AAC1C,MAAA,UAAA,CAAW,SAAS,CAAA;AACpB,MAAA,QAAA,CAAS,OAAO,CAAA;AAChB,MAAA,OAAO,MAAM;AACX,QAAA,GAAA,CAAI,gBAAgB,SAAS,CAAA;AAAA,MAC/B,CAAA;AAAA,IACF;AAGA,IAAA,QAAA,CAAS,UAAU,CAAA;AACnB,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAA;AAAA,EACF,CAAA,EAAG,CAAC,IAAA,EAAM,OAAA,EAAS,UAAU,CAAC,CAAA;AAI9B,EAAA,MAAM,gBAAA,GAAyB,kBAAY,MAAM;AAC/C,IAAA,QAAA,CAAS,OAAO,CAAA;AAAA,EAClB,CAAA,EAAG,EAAE,CAAA;AAGL,EAAA,MAAM,eAAA,GAAwB,kBAAY,MAAM;AAC9C,IAAA,QAAA,CAAS,OAAO,CAAA;AAAA,EAClB,CAAA,EAAG,EAAE,CAAA;AAGL,EAAA,MAAM,gBAAgB,MAAM;AAC1B,IAAA,MAAM,YAAY,KAAA,KAAU,SAAA;AAC5B,IAAA,MAAM,YAAA,GAAe,KAAA,KAAU,UAAA,IAAc,KAAA,KAAU,OAAA;AAEvD,IAAA,IAAI,SAAA,EAAW;AACb,MAAA,uBACE,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAW,EAAA;AAAA,YACT,2BAAA,CAA4B,EAAE,IAAA,EAAM,OAAA,EAAS,CAAA;AAAA,YAC7C;AAAA,WACF;AAAA,UACA,WAAA,EAAU,sBAAA;AAAA,UAEV,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAU,cAAA,EAAe;AAAA;AAAA,OACxC;AAAA,IAEJ;AAEA,IAAA,IAAI,YAAA,IAAgB,CAAC,OAAA,EAAS;AAC5B,MAAA,uBACE,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,WAAW,EAAA,CAAG,2BAAA,CAA4B,EAAE,IAAA,EAAM,OAAA,EAAS,CAAC,CAAA;AAAA,UAC5D,WAAA,EAAU,uBAAA;AAAA,UAET,0BAAgB,YAAY;AAAA;AAAA,OAC/B;AAAA,IAEJ;AAGA,IAAA,IAAI,QAAA,CAAS,UAAA,CAAW,QAAQ,CAAA,EAAG;AACjC,MAAA,uBACE,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,OACE,OAAA,KAAY,MAAA,IAAU,YAAY,MAAA,GAC9B,EAAE,aAAY,GACd,MAAA;AAAA,UAEN,WAAW,EAAA,CAAG,0BAAA,CAA2B,EAAE,OAAA,EAAS,CAAC,CAAA;AAAA,UACrD,WAAA,EAAU,sBAAA;AAAA,UAEV,QAAA,kBAAA,GAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,KAAK,GAAA,IAAO,QAAA;AAAA,cACZ,SAAA,EAAU,wBAAA;AAAA,cACV,WAAA,EAAU,oBAAA;AAAA,cACV,GAAA,EAAK,OAAA;AAAA,cACL,OAAA,EAAS,gBAAA;AAAA,cACT,MAAA,EAAQ;AAAA;AAAA;AACV;AAAA,OACF;AAAA,IAEJ;AAGA,IAAA,IAAI,QAAA,CAAS,UAAA,CAAW,QAAQ,CAAA,EAAG;AACjC,MAAA,uBACE,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,OACE,OAAA,KAAY,MAAA,IAAU,YAAY,MAAA,GAC9B,EAAE,aAAY,GACd,MAAA;AAAA,UAEN,WAAW,EAAA,CAAG,0BAAA,CAA2B,EAAE,OAAA,EAAS,CAAC,CAAA;AAAA,UACrD,WAAA,EAAU,sBAAA;AAAA,UAEV,QAAA,kBAAA,GAAA;AAAA,YAAC,OAAA;AAAA,YAAA;AAAA,cACC,KAAA,EAAK,IAAA;AAAA,cACL,WAAA,EAAW,IAAA;AAAA,cACX,SAAA,EAAU,wBAAA;AAAA,cACV,WAAA,EAAU,oBAAA;AAAA,cACV,GAAA,EAAK;AAAA;AAAA;AACP;AAAA,OACF;AAAA,IAEJ;AAGA,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAW,EAAA,CAAG,2BAAA,CAA4B,EAAE,IAAA,EAAM,OAAA,EAAS,CAAC,CAAA;AAAA,QAC5D,WAAA,EAAU,uBAAA;AAAA,QAET,0BAAgB,YAAY;AAAA;AAAA,KAC/B;AAAA,EAEJ,CAAA;AAGA,EAAA,MAAM,aAAa,MAAM;AACvB,IAAA,IAAI,CAAC,UAAU,OAAO,IAAA;AACtB,IAAA,IAAI,OAAA,KAAY,WAAA,IAAe,OAAA,KAAY,MAAA,EAAQ,OAAO,IAAA;AAE1D,IAAA,uBACE,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAW,EAAA,CAAG,uBAAA,CAAwB,EAAE,OAAA,EAAS,CAAC,CAAA;AAAA,QAClD,WAAA,EAAU,mBAAA;AAAA,QAEV,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,8BAAA,EAAgC,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,8BACxD,MAAA,EAAA,EAAK,SAAA,EAAU,+BAAA,EACb,QAAA,EAAA,cAAA,CAAe,QAAQ,CAAA,EAC1B;AAAA;AAAA;AAAA,KACF;AAAA,EAEJ,CAAA;AAGA,EAAA,MAAM,gBAAgB,MAAM;AAC1B,IAAA,IAAI,CAAC,aAAa,OAAO,IAAA;AACzB,IAAA,IAAI,CAAC,QAAA,IAAY,CAAC,UAAA,EAAY,OAAO,IAAA;AAErC,IAAA,MAAM,WAAW,OAAA,KAAY,QAAA;AAE7B,IAAA,uBACE,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAW,EAAA,CAAG,0BAAA,CAA2B,EAAE,OAAA,EAAS,CAAC,CAAA;AAAA,QACrD,WAAA,EAAU,sBAAA;AAAA,QAET,QAAA,EAAA;AAAA,UAAA,UAAA,oBACC,GAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,YAAA,EAAY,YAAY,QAAQ,CAAA,CAAA;AAAA,cAChC,WAAW,EAAA,CAAG,+BAAA,CAAgC,EAAE,OAAA,EAAS,CAAC,CAAA;AAAA,cAC1D,IAAA,EAAK,QAAA;AAAA,cACL,OAAA,EAAS,UAAA;AAAA,cAET,QAAA,kBAAA,GAAA,CAAC,YAAA,EAAA,EAAa,SAAA,EAAW,QAAA,GAAW,WAAW,QAAA,EAAU;AAAA;AAAA,WAC3D;AAAA,UAED,QAAA,oBACC,GAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,YAAA,EAAY,UAAU,QAAQ,CAAA,CAAA;AAAA,cAC9B,WAAW,EAAA,CAAG,+BAAA,CAAgC,EAAE,OAAA,EAAS,CAAC,CAAA;AAAA,cAC1D,IAAA,EAAK,QAAA;AAAA,cACL,OAAA,EAAS,QAAA;AAAA,cAET,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAW,QAAA,GAAW,WAAW,QAAA,EAAU;AAAA;AAAA;AACpD;AAAA;AAAA,KAEJ;AAAA,EAEJ,CAAA;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAY,cAAc,QAAQ,CAAA,CAAA;AAAA,MAClC,SAAA,EAAW,GAAG,mBAAA,CAAoB,EAAE,MAAM,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,MAC/D,WAAA,EAAU,cAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,WAAA,EAAW,YAAA;AAAA,MACX,cAAA,EAAc,OAAA;AAAA,MACd,IAAA,EAAK,KAAA;AAAA,MACJ,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,aAAA,EAAc;AAAA,QACd,UAAA,EAAW;AAAA,QACX,aAAA;AAAc;AAAA;AAAA,GACjB;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA","file":"chunk-JZA45LEV.js","sourcesContent":["// FilePreview/FilePreview.variants.ts\n/* eslint-disable sonarjs/no-duplicate-string -- CSS class names are intentionally repeated for CVA readability */\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * FilePreview root container variants\n */\nexport const filePreviewVariants = cva(\n // Base styles\n [\n \"relative\",\n \"overflow-hidden\",\n \"bg-muted\",\n \"border border-border\",\n \"rounded-md\",\n ],\n {\n variants: {\n variant: {\n thumbnail: [\"inline-flex\", \"items-center\", \"justify-center\"],\n card: [\"flex\", \"flex-col\"],\n inline: [\"flex\", \"flex-row\", \"items-center\", \"gap-3\", \"p-2\"],\n full: [\"flex\", \"items-center\", \"justify-center\"],\n },\n size: {\n sm: \"\",\n md: \"\",\n lg: \"\",\n xl: \"\",\n },\n },\n compoundVariants: [\n // Thumbnail sizes\n { variant: \"thumbnail\", size: \"sm\", class: \"size-16\" },\n { variant: \"thumbnail\", size: \"md\", class: \"size-24\" },\n { variant: \"thumbnail\", size: \"lg\", class: \"size-32\" },\n { variant: \"thumbnail\", size: \"xl\", class: \"size-48\" },\n // Card sizes\n { variant: \"card\", size: \"sm\", class: \"w-32\" },\n { variant: \"card\", size: \"md\", class: \"w-40\" },\n { variant: \"card\", size: \"lg\", class: \"w-48\" },\n { variant: \"card\", size: \"xl\", class: \"w-64\" },\n // Inline heights\n { variant: \"inline\", size: \"sm\", class: \"h-12\" },\n { variant: \"inline\", size: \"md\", class: \"h-16\" },\n { variant: \"inline\", size: \"lg\", class: \"h-20\" },\n { variant: \"inline\", size: \"xl\", class: \"h-24\" },\n // Full sizes\n { variant: \"full\", size: \"sm\", class: \"h-48\" },\n { variant: \"full\", size: \"md\", class: \"h-64\" },\n { variant: \"full\", size: \"lg\", class: \"h-80\" },\n { variant: \"full\", size: \"xl\", class: \"h-96\" },\n ],\n defaultVariants: {\n variant: \"thumbnail\",\n size: \"md\",\n },\n }\n)\n\n/**\n * FilePreview content area variants (for image/video preview)\n */\nexport const filePreviewContentVariants = cva(\n // Base styles\n [\"flex\", \"items-center\", \"justify-center\", \"overflow-hidden\"],\n {\n variants: {\n variant: {\n thumbnail: [\"size-full\"],\n card: [\"aspect-square\", \"w-full\"],\n inline: [\"size-10\", \"shrink-0\", \"rounded\"],\n full: [\"size-full\"],\n },\n },\n defaultVariants: {\n variant: \"thumbnail\",\n },\n }\n)\n\n/**\n * FilePreview fallback icon container variants\n */\nexport const filePreviewFallbackVariants = cva(\n // Base styles\n [\n \"flex\",\n \"items-center\",\n \"justify-center\",\n \"bg-muted\",\n \"text-muted-foreground\",\n ],\n {\n variants: {\n variant: {\n thumbnail: [\"size-full\"],\n card: [\"aspect-square\", \"w-full\"],\n inline: [\"size-10\", \"shrink-0\", \"rounded\"],\n full: [\"size-full\"],\n },\n size: {\n sm: \"\",\n md: \"\",\n lg: \"\",\n xl: \"\",\n },\n },\n compoundVariants: [\n // Icon sizes by component size\n { size: \"sm\", class: \"[&>svg]:size-6\" },\n { size: \"md\", class: \"[&>svg]:size-8\" },\n { size: \"lg\", class: \"[&>svg]:size-10\" },\n { size: \"xl\", class: \"[&>svg]:size-12\" },\n ],\n defaultVariants: {\n variant: \"thumbnail\",\n size: \"md\",\n },\n }\n)\n\n/**\n * FilePreview info section variants\n */\nexport const filePreviewInfoVariants = cva(\n // Base styles\n [\"flex\", \"flex-col\", \"gap-0.5\"],\n {\n variants: {\n variant: {\n thumbnail: [\"hidden\"],\n card: [\"p-2\", \"border-t\", \"border-border\"],\n inline: [\"min-w-0\", \"flex-1\"],\n full: [\"hidden\"],\n },\n },\n defaultVariants: {\n variant: \"thumbnail\",\n },\n }\n)\n\n/**\n * FilePreview actions overlay variants\n */\nexport const filePreviewActionsVariants = cva(\n // Base styles\n [\n \"absolute\",\n \"inset-0\",\n \"flex\",\n \"items-center\",\n \"justify-center\",\n \"gap-1\",\n \"bg-black/50\",\n \"opacity-0\",\n \"transition-opacity\",\n \"hover:opacity-100\",\n \"focus-within:opacity-100\",\n ],\n {\n variants: {\n variant: {\n thumbnail: [],\n card: [\"rounded-t-md\"],\n inline: [\n \"relative\",\n \"inset-auto\",\n \"bg-transparent\",\n \"opacity-100\",\n \"shrink-0\",\n ],\n full: [],\n },\n },\n defaultVariants: {\n variant: \"thumbnail\",\n },\n }\n)\n\n/**\n * FilePreview action button variants\n */\nexport const filePreviewActionButtonVariants = cva(\n // Base styles\n [\n \"inline-flex\",\n \"items-center\",\n \"justify-center\",\n \"rounded-sm\",\n \"p-1.5\",\n \"transition-colors\",\n \"focus-visible:outline-none\",\n \"focus-visible:ring-2\",\n \"focus-visible:ring-ring\",\n ],\n {\n variants: {\n variant: {\n thumbnail: [\"text-white\", \"hover:bg-white/20\"],\n card: [\"text-white\", \"hover:bg-white/20\"],\n inline: [\n \"text-muted-foreground\",\n \"hover:text-foreground\",\n \"hover:bg-muted\",\n ],\n full: [\"text-white\", \"hover:bg-white/20\"],\n },\n },\n defaultVariants: {\n variant: \"thumbnail\",\n },\n }\n)\n\n// Export variant types\nexport type FilePreviewVariantProps = VariantProps<typeof filePreviewVariants>\nexport type FilePreviewContentVariantProps = VariantProps<\n typeof filePreviewContentVariants\n>\nexport type FilePreviewFallbackVariantProps = VariantProps<\n typeof filePreviewFallbackVariants\n>\nexport type FilePreviewInfoVariantProps = VariantProps<\n typeof filePreviewInfoVariants\n>\nexport type FilePreviewActionsVariantProps = VariantProps<\n typeof filePreviewActionsVariants\n>\nexport type FilePreviewActionButtonVariantProps = VariantProps<\n typeof filePreviewActionButtonVariants\n>\n","\"use client\"\n\nimport type { FilePreviewProps, FileTypeCategory } from \"./FilePreview.types\"\n\nimport {\n ArchiveIcon,\n AudioLinesIcon,\n CodeIcon,\n DownloadIcon,\n FileIcon,\n FileSpreadsheetIcon,\n FileTextIcon,\n FileVideoIcon,\n ImageIcon,\n Loader2Icon,\n XIcon,\n} from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n filePreviewActionButtonVariants,\n filePreviewActionsVariants,\n filePreviewContentVariants,\n filePreviewFallbackVariants,\n filePreviewInfoVariants,\n filePreviewVariants,\n} from \"./FilePreview.variants\"\n\n// ============================================\n// UTILITIES\n// ============================================\n\n/**\n * Format file size to human-readable string\n */\nfunction formatFileSize(bytes: number): string {\n if (bytes === 0) return \"0 B\"\n const k = 1024\n const sizes = [\"B\", \"KB\", \"MB\", \"GB\"]\n const i = Math.floor(Math.log(bytes) / Math.log(k))\n return `${String(Number.parseFloat((bytes / Math.pow(k, i)).toFixed(1)))} ${sizes[i] ?? \"\"}`\n}\n\n/**\n * Get file type category from MIME type\n */\nfunction getFileTypeCategory(mimeType: string): FileTypeCategory {\n if (mimeType.startsWith(\"image/\")) return \"image\"\n if (mimeType.startsWith(\"video/\")) return \"video\"\n if (mimeType.startsWith(\"audio/\")) return \"audio\"\n if (mimeType === \"application/pdf\") return \"pdf\"\n if (\n mimeType.includes(\"spreadsheet\") ||\n mimeType.includes(\"excel\") ||\n mimeType === \"text/csv\"\n ) {\n return \"spreadsheet\"\n }\n if (\n mimeType.includes(\"document\") ||\n mimeType.includes(\"word\") ||\n mimeType === \"text/plain\" ||\n mimeType === \"text/rtf\"\n ) {\n return \"document\"\n }\n if (\n mimeType.includes(\"zip\") ||\n mimeType.includes(\"rar\") ||\n mimeType.includes(\"tar\") ||\n mimeType.includes(\"gzip\") ||\n mimeType.includes(\"7z\")\n ) {\n return \"archive\"\n }\n if (\n mimeType.includes(\"javascript\") ||\n mimeType.includes(\"json\") ||\n mimeType.includes(\"xml\") ||\n mimeType.includes(\"html\") ||\n mimeType.includes(\"css\") ||\n mimeType === \"text/x-python\" ||\n mimeType === \"text/x-java\"\n ) {\n return \"code\"\n }\n return \"unknown\"\n}\n\n/**\n * Get icon component for file type\n */\nfunction getFileTypeIcon(category: FileTypeCategory): React.ReactNode {\n switch (category) {\n case \"image\":\n return <ImageIcon />\n case \"video\":\n return <FileVideoIcon />\n case \"audio\":\n return <AudioLinesIcon />\n case \"pdf\":\n case \"document\":\n return <FileTextIcon />\n case \"spreadsheet\":\n return <FileSpreadsheetIcon />\n case \"archive\":\n return <ArchiveIcon />\n case \"code\":\n return <CodeIcon />\n default:\n return <FileIcon />\n }\n}\n\n/**\n * Check if file type is previewable (image or video)\n */\nfunction isPreviewable(mimeType: string): boolean {\n return mimeType.startsWith(\"image/\") || mimeType.startsWith(\"video/\")\n}\n\n// ============================================\n// MAIN COMPONENT\n// ============================================\n\n/**\n * FilePreview - Component for displaying file previews\n *\n * @example\n * ```tsx\n * // Basic usage with File object\n * <FilePreview file={file} onRemove={() => handleRemove()} />\n *\n * // With remote file info\n * <FilePreview\n * fileInfo={{\n * name: \"photo.jpg\",\n * size: 1024000,\n * type: \"image/jpeg\",\n * url: \"https://example.com/photo.jpg\",\n * }}\n * variant=\"card\"\n * />\n *\n * // Inline variant with actions\n * <FilePreview\n * file={file}\n * variant=\"inline\"\n * showActions\n * onDownload={() => downloadFile(file)}\n * onRemove={() => removeFile(file)}\n * />\n * ```\n */\nfunction FilePreview({\n alt,\n aspectRatio = 1,\n className,\n file,\n fileInfo,\n onDownload,\n onRemove,\n showActions = true,\n showInfo = true,\n size = \"md\",\n url: urlProp,\n variant = \"thumbnail\",\n ...props\n}: FilePreviewProps) {\n const [preview, setPreview] = React.useState<null | string>(null)\n const [state, setState] = React.useState<\"error\" | \"fallback\" | \"loading\" | \"ready\">(\n \"loading\"\n )\n\n // Derive file metadata\n const fileName = file?.name ?? fileInfo?.name ?? \"Unknown\"\n const fileSize = file?.size ?? fileInfo?.size ?? 0\n const fileType = file?.type ?? fileInfo?.type ?? \"application/octet-stream\"\n const fileUrl = urlProp ?? fileInfo?.url ?? fileInfo?.thumbnailUrl\n\n const fileCategory = getFileTypeCategory(fileType)\n const canPreview = isPreviewable(fileType)\n\n // Generate preview URL for local files - requires useEffect for object URL lifecycle management\n /* eslint-disable react-you-might-not-need-an-effect/no-derived-state, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect, react-you-might-not-need-an-effect/no-adjust-state-on-prop-change */\n React.useEffect(() => {\n // If we have a URL prop or fileInfo URL, use that\n if (fileUrl) {\n setPreview(fileUrl)\n setState(canPreview ? \"ready\" : \"fallback\")\n return\n }\n\n // If we have a local File and it's previewable, generate object URL\n if (file && canPreview) {\n setState(\"loading\")\n const objectUrl = URL.createObjectURL(file)\n setPreview(objectUrl)\n setState(\"ready\")\n return () => {\n URL.revokeObjectURL(objectUrl)\n }\n }\n\n // Non-previewable file type\n setState(\"fallback\")\n setPreview(null)\n return\n }, [file, fileUrl, canPreview])\n /* eslint-enable react-you-might-not-need-an-effect/no-derived-state, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect, react-you-might-not-need-an-effect/no-adjust-state-on-prop-change */\n\n // Handle image load error\n const handleImageError = React.useCallback(() => {\n setState(\"error\")\n }, [])\n\n // Handle image load success\n const handleImageLoad = React.useCallback(() => {\n setState(\"ready\")\n }, [])\n\n // Render preview content\n const renderContent = () => {\n const isLoading = state === \"loading\"\n const showFallback = state === \"fallback\" || state === \"error\"\n\n if (isLoading) {\n return (\n <div\n className={cn(\n filePreviewFallbackVariants({ size, variant }),\n \"animate-pulse\"\n )}\n data-slot=\"file-preview-loading\"\n >\n <Loader2Icon className=\"animate-spin\" />\n </div>\n )\n }\n\n if (showFallback || !preview) {\n return (\n <div\n className={cn(filePreviewFallbackVariants({ size, variant }))}\n data-slot=\"file-preview-fallback\"\n >\n {getFileTypeIcon(fileCategory)}\n </div>\n )\n }\n\n // Image preview\n if (fileType.startsWith(\"image/\")) {\n return (\n <div\n style={\n variant === \"full\" || variant === \"card\"\n ? { aspectRatio }\n : undefined\n }\n className={cn(filePreviewContentVariants({ variant }))}\n data-slot=\"file-preview-content\"\n >\n <img\n alt={alt ?? fileName}\n className=\"size-full object-cover\"\n data-slot=\"file-preview-image\"\n src={preview}\n onError={handleImageError}\n onLoad={handleImageLoad}\n />\n </div>\n )\n }\n\n // Video preview\n if (fileType.startsWith(\"video/\")) {\n return (\n <div\n style={\n variant === \"full\" || variant === \"card\"\n ? { aspectRatio }\n : undefined\n }\n className={cn(filePreviewContentVariants({ variant }))}\n data-slot=\"file-preview-content\"\n >\n <video\n muted\n playsInline\n className=\"size-full object-cover\"\n data-slot=\"file-preview-video\"\n src={preview}\n />\n </div>\n )\n }\n\n // Fallback for other types\n return (\n <div\n className={cn(filePreviewFallbackVariants({ size, variant }))}\n data-slot=\"file-preview-fallback\"\n >\n {getFileTypeIcon(fileCategory)}\n </div>\n )\n }\n\n // Render file info\n const renderInfo = () => {\n if (!showInfo) return null\n if (variant === \"thumbnail\" || variant === \"full\") return null\n\n return (\n <div\n className={cn(filePreviewInfoVariants({ variant }))}\n data-slot=\"file-preview-info\"\n >\n <span className=\"truncate text-sm font-medium\">{fileName}</span>\n <span className=\"text-xs text-muted-foreground\">\n {formatFileSize(fileSize)}\n </span>\n </div>\n )\n }\n\n // Render action buttons\n const renderActions = () => {\n if (!showActions) return null\n if (!onRemove && !onDownload) return null\n\n const isInline = variant === \"inline\"\n\n return (\n <div\n className={cn(filePreviewActionsVariants({ variant }))}\n data-slot=\"file-preview-actions\"\n >\n {onDownload && (\n <button\n aria-label={`Download ${fileName}`}\n className={cn(filePreviewActionButtonVariants({ variant }))}\n type=\"button\"\n onClick={onDownload}\n >\n <DownloadIcon className={isInline ? \"size-4\" : \"size-5\"} />\n </button>\n )}\n {onRemove && (\n <button\n aria-label={`Remove ${fileName}`}\n className={cn(filePreviewActionButtonVariants({ variant }))}\n type=\"button\"\n onClick={onRemove}\n >\n <XIcon className={isInline ? \"size-4\" : \"size-5\"} />\n </button>\n )}\n </div>\n )\n }\n\n return (\n <div\n aria-label={`Preview of ${fileName}`}\n className={cn(filePreviewVariants({ size, variant }), className)}\n data-slot=\"file-preview\"\n data-state={state}\n data-type={fileCategory}\n data-variant={variant}\n role=\"img\"\n {...props}\n >\n {renderContent()}\n {renderInfo()}\n {renderActions()}\n </div>\n )\n}\n\nFilePreview.displayName = \"FilePreview\"\n\nexport { FilePreview }\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-RVAYDRMA.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import { cva } from 'class-variance-authority';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -73,5 +73,5 @@ function Container({
|
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
export { Container, containerVariants };
|
|
76
|
-
//# sourceMappingURL=chunk-
|
|
77
|
-
//# sourceMappingURL=chunk-
|
|
76
|
+
//# sourceMappingURL=chunk-K44K3EHW.js.map
|
|
77
|
+
//# sourceMappingURL=chunk-K44K3EHW.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/layout/Container/Container.variants.ts","../src/components/layout/Container/Container.tsx"],"names":[],"mappings":";;;;;AAMO,IAAM,iBAAA,GAAoB,GAAA;AAAA,EAC/B;AAAA,IACE;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAUR,QAAA,EAAU;AAAA,QACR,EAAA,EAAI,iBAAA;AAAA,QACJ,EAAA,EAAI,iBAAA;AAAA,QACJ,EAAA,EAAI,iBAAA;AAAA,QACJ,EAAA,EAAI,iBAAA;AAAA,QACJ,KAAA,EAAO,kBAAA;AAAA,QACP,IAAA,EAAM;AAAA,OACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQA,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,EAAA;AAAA,QACN,EAAA,EAAI,MAAA;AAAA,QACJ,EAAA,EAAI,sBAAA;AAAA,QACJ,EAAA,EAAI;AAAA,OACN;AAAA;AAAA;AAAA;AAAA,MAIA,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,SAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,QAAA,EAAU,IAAA;AAAA,MACV,OAAA,EAAS,IAAA;AAAA,MACT,QAAA,EAAU;AAAA;AACZ;AAEJ;ACjDA,SAAS,SAAA,CAAU;AAAA,EACjB,IAAI,SAAA,GAAY,KAAA;AAAA,EAChB,QAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAmB;AACjB,EAAA,uBACE,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,GAAG,iBAAA,CAAkB,EAAE,UAAU,OAAA,EAAS,QAAA,EAAU,CAAA,EAAG,SAAS,CAAA;AAAA,MAC3E,WAAA,EAAU,WAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/layout/Container/Container.variants.ts","../src/components/layout/Container/Container.tsx"],"names":[],"mappings":";;;;;AAMO,IAAM,iBAAA,GAAoB,GAAA;AAAA,EAC/B;AAAA,IACE;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAUR,QAAA,EAAU;AAAA,QACR,EAAA,EAAI,iBAAA;AAAA,QACJ,EAAA,EAAI,iBAAA;AAAA,QACJ,EAAA,EAAI,iBAAA;AAAA,QACJ,EAAA,EAAI,iBAAA;AAAA,QACJ,KAAA,EAAO,kBAAA;AAAA,QACP,IAAA,EAAM;AAAA,OACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQA,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,EAAA;AAAA,QACN,EAAA,EAAI,MAAA;AAAA,QACJ,EAAA,EAAI,sBAAA;AAAA,QACJ,EAAA,EAAI;AAAA,OACN;AAAA;AAAA;AAAA;AAAA,MAIA,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,SAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,QAAA,EAAU,IAAA;AAAA,MACV,OAAA,EAAS,IAAA;AAAA,MACT,QAAA,EAAU;AAAA;AACZ;AAEJ;ACjDA,SAAS,SAAA,CAAU;AAAA,EACjB,IAAI,SAAA,GAAY,KAAA;AAAA,EAChB,QAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAmB;AACjB,EAAA,uBACE,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,GAAG,iBAAA,CAAkB,EAAE,UAAU,OAAA,EAAS,QAAA,EAAU,CAAA,EAAG,SAAS,CAAA;AAAA,MAC3E,WAAA,EAAU,WAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-K44K3EHW.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * Container variant styles\n * Layout component for centering and limiting content width\n */\nexport const containerVariants = cva(\n [\n \"w-full\",\n ],\n {\n variants: {\n /**\n * Maximum width of the container\n * - sm: 640px - Forms, focused content\n * - md: 768px - Articles, documentation\n * - lg: 1024px - General content pages\n * - xl: 1280px - Dashboards, applications (default)\n * - 2xl: 1536px - Wide-screen applications\n * - full: 100% - No width limit\n */\n maxWidth: {\n sm: \"max-w-screen-sm\",\n md: \"max-w-screen-md\",\n lg: \"max-w-screen-lg\",\n xl: \"max-w-screen-xl\",\n \"2xl\": \"max-w-screen-2xl\",\n full: \"max-w-full\",\n },\n /**\n * Horizontal padding\n * - none: No padding\n * - sm: Compact padding (px-4)\n * - md: Responsive padding (px-4 sm:px-6 lg:px-8)\n * - lg: Generous padding (px-6 sm:px-8 lg:px-12)\n */\n padding: {\n none: \"\",\n sm: \"px-4\",\n md: \"px-4 sm:px-6 lg:px-8\",\n lg: \"px-6 sm:px-8 lg:px-12\",\n },\n /**\n * Center the container with mx-auto\n */\n centered: {\n true: \"mx-auto\",\n false: \"\",\n },\n },\n defaultVariants: {\n maxWidth: \"xl\",\n padding: \"md\",\n centered: true,\n },\n }\n)\n\nexport type ContainerVariantProps = VariantProps<typeof containerVariants>\n","import type { ContainerProps } from \"./Container.types\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { containerVariants } from \"./Container.variants\"\n\nfunction Container({\n as: Component = \"div\",\n maxWidth,\n padding,\n centered,\n className,\n ...props\n}: ContainerProps) {\n return (\n <Component\n className={cn(containerVariants({ maxWidth, padding, centered }), className)}\n data-slot=\"container\"\n {...props}\n />\n )\n}\n\nexport { Container }\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { inputVariants, inputWrapperVariants, inputIconVariants } from './chunk-T3LWBCVR.js';
|
|
2
|
-
import { cn } from './chunk-
|
|
2
|
+
import { cn } from './chunk-RVAYDRMA.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
5
|
|
|
@@ -63,5 +63,5 @@ function TextInput({
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
export { TextInput };
|
|
66
|
-
//# sourceMappingURL=chunk-
|
|
67
|
-
//# sourceMappingURL=chunk-
|
|
66
|
+
//# sourceMappingURL=chunk-K4UCALQQ.js.map
|
|
67
|
+
//# sourceMappingURL=chunk-K4UCALQQ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/forms/TextInput/TextInput.tsx"],"names":[],"mappings":";;;;;AAWA,SAAS,SAAA,CAAU;AAAA,EACjB,SAAA;AAAA,EACA,IAAA,GAAO,MAAA;AAAA,EACP,IAAA,GAAO,IAAA;AAAA,EACP,OAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA;AAAA,EACA,sBAAA;AAAA,EACA,uBAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAmB;AACjB,EAAA,MAAM,cAAA,GAAiB,CAAC,CAAC,WAAA;AACzB,EAAA,MAAM,eAAA,GAAkB,CAAC,CAAC,YAAA;AAC1B,EAAA,MAAM,WAAW,cAAA,IAAkB,eAAA;AAEnC,EAAA,MAAM,YAAA,mBACJ,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,MAAA;AAAA,QACA,cAAc,EAAE,IAAA,EAAM,OAAA,EAAS,cAAA,EAAgB,iBAAiB,CAAA;AAAA,QAChE;AAAA,OACF;AAAA,MACA,WAAA,EAAU,OAAA;AAAA,MACV,IAAA;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAIF,EAAA,IAAI,CAAC,QAAA,EAAU;AACb,IAAA,OAAO,YAAA;AAAA,EACT;AAGA,EAAA,4BACG,KAAA,EAAA,EAAI,SAAA,EAAW,oBAAA,EAAqB,EAAG,aAAU,eAAA,EAC/C,QAAA,EAAA;AAAA,IAAA,cAAA,oBACC,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAW,iBAAA,CAAkB;AAAA,UAC3B,QAAA,EAAU,SAAA;AAAA,UACV,IAAA;AAAA,UACA,WAAA,EAAa;AAAA,SACd,CAAA;AAAA,QACD,WAAA,EAAU,oBAAA;AAAA,QAET,QAAA,EAAA;AAAA;AAAA,KACH;AAAA,IAED,YAAA;AAAA,IACA,eAAA,oBACC,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAW,iBAAA,CAAkB;AAAA,UAC3B,QAAA,EAAU,UAAA;AAAA,UACV,IAAA;AAAA,UACA,WAAA,EAAa;AAAA,SACd,CAAA;AAAA,QACD,WAAA,EAAU,qBAAA;AAAA,QAET,QAAA,EAAA;AAAA;AAAA;AACH,GAAA,EAEJ,CAAA;AAEJ","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/forms/TextInput/TextInput.tsx"],"names":[],"mappings":";;;;;AAWA,SAAS,SAAA,CAAU;AAAA,EACjB,SAAA;AAAA,EACA,IAAA,GAAO,MAAA;AAAA,EACP,IAAA,GAAO,IAAA;AAAA,EACP,OAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA;AAAA,EACA,sBAAA;AAAA,EACA,uBAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAmB;AACjB,EAAA,MAAM,cAAA,GAAiB,CAAC,CAAC,WAAA;AACzB,EAAA,MAAM,eAAA,GAAkB,CAAC,CAAC,YAAA;AAC1B,EAAA,MAAM,WAAW,cAAA,IAAkB,eAAA;AAEnC,EAAA,MAAM,YAAA,mBACJ,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,MAAA;AAAA,QACA,cAAc,EAAE,IAAA,EAAM,OAAA,EAAS,cAAA,EAAgB,iBAAiB,CAAA;AAAA,QAChE;AAAA,OACF;AAAA,MACA,WAAA,EAAU,OAAA;AAAA,MACV,IAAA;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAIF,EAAA,IAAI,CAAC,QAAA,EAAU;AACb,IAAA,OAAO,YAAA;AAAA,EACT;AAGA,EAAA,4BACG,KAAA,EAAA,EAAI,SAAA,EAAW,oBAAA,EAAqB,EAAG,aAAU,eAAA,EAC/C,QAAA,EAAA;AAAA,IAAA,cAAA,oBACC,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAW,iBAAA,CAAkB;AAAA,UAC3B,QAAA,EAAU,SAAA;AAAA,UACV,IAAA;AAAA,UACA,WAAA,EAAa;AAAA,SACd,CAAA;AAAA,QACD,WAAA,EAAU,oBAAA;AAAA,QAET,QAAA,EAAA;AAAA;AAAA,KACH;AAAA,IAED,YAAA;AAAA,IACA,eAAA,oBACC,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAW,iBAAA,CAAkB;AAAA,UAC3B,QAAA,EAAU,UAAA;AAAA,UACV,IAAA;AAAA,UACA,WAAA,EAAa;AAAA,SACd,CAAA;AAAA,QACD,WAAA,EAAU,qBAAA;AAAA,QAET,QAAA,EAAA;AAAA;AAAA;AACH,GAAA,EAEJ,CAAA;AAEJ","file":"chunk-K4UCALQQ.js","sourcesContent":["import type { TextInputProps } from \"./TextInput.types\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n inputIconVariants,\n inputVariants,\n inputWrapperVariants,\n} from \"./TextInput.variants\"\n\nfunction TextInput({\n className,\n type = \"text\",\n size = \"md\",\n variant,\n leadingIcon,\n trailingIcon,\n leadingIconInteractive,\n trailingIconInteractive,\n ...props\n}: TextInputProps) {\n const hasLeadingIcon = !!leadingIcon\n const hasTrailingIcon = !!trailingIcon\n const hasIcons = hasLeadingIcon || hasTrailingIcon\n\n const inputElement = (\n <input\n className={cn(\n \"peer\",\n inputVariants({ size, variant, hasLeadingIcon, hasTrailingIcon }),\n className\n )}\n data-slot=\"input\"\n type={type}\n {...props}\n />\n )\n\n // Return plain input if no icons\n if (!hasIcons) {\n return inputElement\n }\n\n // Wrap with icons container\n return (\n <div className={inputWrapperVariants()} data-slot=\"input-wrapper\">\n {hasLeadingIcon && (\n <div\n className={inputIconVariants({\n position: \"leading\",\n size,\n interactive: leadingIconInteractive,\n })}\n data-slot=\"input-leading-icon\"\n >\n {leadingIcon}\n </div>\n )}\n {inputElement}\n {hasTrailingIcon && (\n <div\n className={inputIconVariants({\n position: \"trailing\",\n size,\n interactive: trailingIconInteractive,\n })}\n data-slot=\"input-trailing-icon\"\n >\n {trailingIcon}\n </div>\n )}\n </div>\n )\n}\n\nexport { TextInput }\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { DndContext, DragOverlay, Droppable, SortableItem, DragHandle } from './chunk-
|
|
2
|
-
import { Avatar, AvatarImage, AvatarFallback } from './chunk-
|
|
3
|
-
import { Button } from './chunk-
|
|
4
|
-
import { Badge } from './chunk-
|
|
5
|
-
import { cn } from './chunk-
|
|
1
|
+
import { DndContext, DragOverlay, Droppable, SortableItem, DragHandle } from './chunk-IPDAFW4F.js';
|
|
2
|
+
import { Avatar, AvatarImage, AvatarFallback } from './chunk-U7TPJMGY.js';
|
|
3
|
+
import { Button } from './chunk-L4OQ6BJ5.js';
|
|
4
|
+
import { Badge } from './chunk-HNQX6ZG7.js';
|
|
5
|
+
import { cn } from './chunk-RVAYDRMA.js';
|
|
6
6
|
import { SortableContext, horizontalListSortingStrategy, verticalListSortingStrategy } from '@dnd-kit/sortable';
|
|
7
7
|
import { Calendar, MessageSquare, Paperclip, Search, Plus, ChevronRight, ChevronDown, GripVertical } from 'lucide-react';
|
|
8
8
|
import { useId, useState, useMemo } from 'react';
|
|
@@ -849,5 +849,5 @@ function KanbanBoard({
|
|
|
849
849
|
}
|
|
850
850
|
|
|
851
851
|
export { KanbanBoard, KanbanCard, kanbanAddButtonVariants, kanbanBoardVariants, kanbanCardDescriptionVariants, kanbanCardMetaVariants, kanbanCardTitleVariants, kanbanCardVariants, kanbanColumnContentVariants, kanbanColumnHeaderVariants, kanbanColumnVariants, kanbanDropIndicatorVariants, kanbanLabelVariants, kanbanSearchVariants, kanbanSwimlaneVariants };
|
|
852
|
-
//# sourceMappingURL=chunk-
|
|
853
|
-
//# sourceMappingURL=chunk-
|
|
852
|
+
//# sourceMappingURL=chunk-KBU4KJKC.js.map
|
|
853
|
+
//# sourceMappingURL=chunk-KBU4KJKC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/workflow/KanbanBoard/KanbanBoard.variants.ts","../src/components/workflow/KanbanBoard/KanbanBoard.tsx"],"names":["activeItem"],"mappings":"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","file":"chunk-KYURFRCH.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/* eslint-disable sonarjs/no-duplicate-string -- CVA variants require repeated class patterns */\n\n/**\n * Board container variants\n */\nexport const kanbanBoardVariants = cva(\n [\n \"flex\",\n \"w-full\",\n \"min-w-0\",\n \"gap-4\",\n \"p-4\",\n \"bg-muted/30\",\n \"rounded-lg\",\n \"overflow-x-auto\",\n ],\n {\n defaultVariants: {\n layout: \"horizontal\",\n variant: \"default\",\n },\n variants: {\n layout: {\n horizontal: \"flex-row\",\n vertical: \"flex-col\",\n },\n variant: {\n collapsed: \"\",\n compact: \"[&_[data-slot=kanban-card]]:p-2 [&_[data-slot=kanban-column]]:w-60\",\n default: \"\",\n swimlanes: \"flex-col gap-6\",\n },\n },\n }\n)\n\n/**\n * Column container variants\n */\nexport const kanbanColumnVariants = cva(\n [\n \"flex\",\n \"flex-col\",\n \"gap-2\",\n \"rounded-lg\",\n \"bg-muted/50\",\n \"min-h-52\",\n ],\n {\n defaultVariants: {\n isCollapsed: false,\n isOver: false,\n },\n variants: {\n isCollapsed: {\n false: \"w-72\",\n true: \"w-12\",\n },\n isOver: {\n false: \"\",\n true: \"ring-2 ring-primary/50 bg-primary/5\",\n },\n },\n }\n)\n\n/**\n * Column header variants\n */\nexport const kanbanColumnHeaderVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"justify-between\",\n \"gap-2\",\n \"p-3\",\n \"bg-card\",\n \"rounded-t-lg\",\n \"border-b\",\n ],\n {\n defaultVariants: {\n wipStatus: \"normal\",\n },\n variants: {\n wipStatus: {\n exceeded: \"[&_[data-slot=wip-indicator]]:text-destructive\",\n normal: \"\",\n warning: \"[&_[data-slot=wip-indicator]]:text-warning\",\n },\n },\n }\n)\n\n/**\n * Column content (cards area) variants\n */\nexport const kanbanColumnContentVariants = cva(\n [\n \"flex\",\n \"flex-col\",\n \"flex-1\",\n \"gap-2\",\n \"p-2\",\n \"min-h-24\",\n ],\n {\n defaultVariants: {},\n variants: {},\n }\n)\n\n/**\n * Kanban card variants\n */\nexport const kanbanCardVariants = cva(\n [\n \"group\",\n \"flex\",\n \"flex-col\",\n \"gap-2\",\n \"p-3\",\n \"bg-card\",\n \"rounded-md\",\n \"border\",\n \"shadow-sm\",\n \"cursor-pointer\",\n \"transition-all\",\n \"duration-200\",\n \"hover:shadow-md\",\n \"hover:border-primary/30\",\n ],\n {\n defaultVariants: {\n isDragging: false,\n priority: null,\n },\n variants: {\n isDragging: {\n false: \"\",\n true: \"opacity-50 ring-2 ring-primary shadow-lg\",\n },\n priority: {\n high: \"border-l-4 border-l-orange-500\",\n low: \"border-l-4 border-l-gray-400\",\n medium: \"border-l-4 border-l-yellow-500\",\n null: \"\",\n urgent: \"border-l-4 border-l-destructive\",\n },\n },\n }\n)\n\n/**\n * Card title variants\n */\nexport const kanbanCardTitleVariants = cva(\n [\n \"text-sm\",\n \"font-medium\",\n \"text-foreground\",\n \"line-clamp-2\",\n ],\n {\n defaultVariants: {},\n variants: {},\n }\n)\n\n/**\n * Card description variants\n */\nexport const kanbanCardDescriptionVariants = cva(\n [\n \"text-xs\",\n \"text-muted-foreground\",\n \"line-clamp-2\",\n ],\n {\n defaultVariants: {},\n variants: {},\n }\n)\n\n/**\n * Card metadata row variants\n */\nexport const kanbanCardMetaVariants = cva(\n [\n \"flex\",\n \"flex-wrap\",\n \"items-center\",\n \"gap-2\",\n \"text-xs\",\n \"text-muted-foreground\",\n ],\n {\n defaultVariants: {},\n variants: {},\n }\n)\n\n/**\n * Label badge variants\n */\nexport const kanbanLabelVariants = cva(\n [\n \"inline-flex\",\n \"items-center\",\n \"px-1.5\",\n \"py-0.5\",\n \"rounded-sm\",\n \"text-xs\",\n \"font-medium\",\n ],\n {\n defaultVariants: {},\n variants: {},\n }\n)\n\n/**\n * Drop indicator variants\n */\nexport const kanbanDropIndicatorVariants = cva(\n [\n \"h-1\",\n \"rounded-full\",\n \"bg-primary/20\",\n \"border\",\n \"border-primary\",\n \"transition-opacity\",\n ],\n {\n defaultVariants: {\n isVisible: false,\n },\n variants: {\n isVisible: {\n false: \"opacity-0\",\n true: \"opacity-100\",\n },\n },\n }\n)\n\n/**\n * Add button variants\n */\nexport const kanbanAddButtonVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"justify-center\",\n \"gap-1\",\n \"w-full\",\n \"p-2\",\n \"text-sm\",\n \"text-muted-foreground\",\n \"rounded-md\",\n \"border\",\n \"border-dashed\",\n \"hover:bg-muted/50\",\n \"hover:text-foreground\",\n \"transition-colors\",\n ],\n {\n defaultVariants: {},\n variants: {},\n }\n)\n\n/**\n * Swimlane header variants\n */\nexport const kanbanSwimlaneVariants = cva(\n [\n \"flex\",\n \"flex-col\",\n \"gap-2\",\n \"p-3\",\n \"rounded-lg\",\n \"bg-muted/20\",\n ],\n {\n defaultVariants: {},\n variants: {},\n }\n)\n\n/**\n * Search input variants\n */\nexport const kanbanSearchVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"gap-2\",\n \"px-3\",\n \"py-2\",\n \"bg-background\",\n \"border\",\n \"rounded-md\",\n \"focus-within:ring-2\",\n \"focus-within:ring-primary/50\",\n ],\n {\n defaultVariants: {},\n variants: {},\n }\n)\n","import type {\n KanbanBoardProps,\n KanbanCardProps,\n KanbanColumn,\n KanbanColumnProps,\n KanbanItem,\n} from \"./KanbanBoard.types\"\nimport type { DragEndEvent, DragOverEvent, DragStartEvent, UniqueIdentifier } from \"@dnd-kit/core\"\nimport type { KeyboardEvent } from \"react\"\n\nimport { horizontalListSortingStrategy, SortableContext, verticalListSortingStrategy } from \"@dnd-kit/sortable\"\nimport {\n Calendar,\n ChevronDown,\n ChevronRight,\n GripVertical,\n MessageSquare,\n Paperclip,\n Plus,\n Search,\n} from \"lucide-react\"\nimport { useId, useMemo, useState } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n DndContext,\n DragHandle,\n DragOverlay,\n Droppable,\n SortableItem,\n} from \"../../advanced/DragAndDrop\"\nimport { Avatar, AvatarFallback, AvatarImage } from \"../../primitives/Avatar\"\nimport { Badge } from \"../../primitives/Badge\"\nimport { Button } from \"../../primitives/Button\"\nimport {\n kanbanAddButtonVariants,\n kanbanBoardVariants,\n kanbanCardDescriptionVariants,\n kanbanCardMetaVariants,\n kanbanCardTitleVariants,\n kanbanCardVariants,\n kanbanColumnContentVariants,\n kanbanColumnHeaderVariants,\n kanbanColumnVariants,\n kanbanLabelVariants,\n kanbanSearchVariants,\n} from \"./KanbanBoard.variants\"\n\n// ============================================\n// HELPER FUNCTIONS\n// ============================================\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 date for display\n */\nfunction formatDueDate(date: Date): string {\n const now = new Date()\n const diff = date.getTime() - now.getTime()\n const days = Math.ceil(diff / (1000 * 60 * 60 * 24))\n\n if (days < 0) return \"Overdue\"\n if (days === 0) return \"Today\"\n if (days === 1) return \"Tomorrow\"\n if (days <= 7) return `${String(days)} days`\n return date.toLocaleDateString()\n}\n\n/**\n * Get WIP status for column\n */\nfunction getWipStatus(\n itemCount: number,\n wipLimit?: number\n): \"exceeded\" | \"normal\" | \"warning\" {\n if (!wipLimit) return \"normal\"\n if (itemCount >= wipLimit) return \"exceeded\"\n if (itemCount >= wipLimit - 1) return \"warning\"\n return \"normal\"\n}\n\n// ============================================\n// KANBAN CARD\n// ============================================\n\n/**\n * KanbanCard displays an individual task item\n */\n// eslint-disable-next-line sonarjs/cognitive-complexity -- Complexity inherent to rendering multiple optional card elements\nfunction KanbanCard({\n className,\n isDragging = false,\n item,\n onClick,\n onDelete: _onDelete,\n}: KanbanCardProps) {\n const cardId = useId()\n const hasMeta = Boolean(\n item.assignees?.length ??\n item.labels?.length ??\n item.dueDate ??\n item.comments ??\n item.attachments ??\n item.subtasks\n )\n\n const handleClick = () => {\n onClick?.({ item })\n }\n\n const handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault()\n handleClick()\n }\n }\n\n return (\n <div\n aria-describedby={item.description ? `${cardId}-desc` : undefined}\n aria-label={item.title}\n className={cn(kanbanCardVariants({ isDragging, priority: item.priority ?? null }), className)}\n data-slot=\"kanban-card\"\n role=\"listitem\"\n tabIndex={0}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n {/* Labels */}\n {item.labels && item.labels.length > 0 ? (\n <div className=\"flex flex-wrap gap-1\" data-slot=\"kanban-card-labels\">\n {item.labels.slice(0, 3).map((label) => (\n <span\n key={label.id}\n className={kanbanLabelVariants()}\n style={{ backgroundColor: `${label.color}20`, color: label.color }}\n >\n {label.name}\n </span>\n ))}\n {item.labels.length > 3 ? (\n <span className=\"text-xs text-muted-foreground\">\n +{item.labels.length - 3}\n </span>\n ) : null}\n </div>\n ) : null}\n\n {/* Title */}\n <div className={kanbanCardTitleVariants()} data-slot=\"kanban-card-title\">\n {item.title}\n </div>\n\n {/* Description */}\n {item.description ? (\n <div\n className={kanbanCardDescriptionVariants()}\n data-slot=\"kanban-card-description\"\n id={`${cardId}-desc`}\n >\n {item.description}\n </div>\n ) : null}\n\n {/* Metadata row */}\n {hasMeta ? (\n <div className={kanbanCardMetaVariants()} data-slot=\"kanban-card-meta\">\n {/* Due date */}\n {item.dueDate ? (\n <span\n className={cn(\n \"flex items-center gap-1\",\n new Date(item.dueDate) < new Date() && \"text-destructive\"\n )}\n title={`Due: ${item.dueDate.toLocaleDateString()}`}\n >\n <Calendar className=\"h-3 w-3\" />\n {formatDueDate(new Date(item.dueDate))}\n </span>\n ) : null}\n\n {/* Subtasks */}\n {item.subtasks ? (\n <span className=\"flex items-center gap-1\" title=\"Subtasks progress\">\n {item.subtasks.completed}/{item.subtasks.total}\n </span>\n ) : null}\n\n {/* Comments */}\n {item.comments ? (\n <span className=\"flex items-center gap-1\" title={`${String(item.comments)} comments`}>\n <MessageSquare className=\"h-3 w-3\" />\n {item.comments}\n </span>\n ) : null}\n\n {/* Attachments */}\n {item.attachments ? (\n <span className=\"flex items-center gap-1\" title={`${String(item.attachments)} attachments`}>\n <Paperclip className=\"h-3 w-3\" />\n {item.attachments}\n </span>\n ) : null}\n\n {/* Spacer */}\n <div className=\"flex-1\" />\n\n {/* Assignees */}\n {item.assignees && item.assignees.length > 0 ? (\n <div className=\"flex -space-x-1\" data-slot=\"kanban-card-assignees\">\n {item.assignees.slice(0, 3).map((user) => (\n <Avatar\n key={user.id}\n className=\"h-5 w-5 border-2 border-background\"\n title={user.name}\n >\n {user.avatar ? (\n <AvatarImage alt={user.name} src={user.avatar} />\n ) : null}\n <AvatarFallback className=\"text-xs\">\n {getInitials(user.name)}\n </AvatarFallback>\n </Avatar>\n ))}\n {item.assignees.length > 3 ? (\n <span className=\"flex h-5 w-5 items-center justify-center rounded-full bg-muted text-xs border-2 border-background\">\n +{item.assignees.length - 3}\n </span>\n ) : null}\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n )\n}\n\n// ============================================\n// KANBAN COLUMN\n// ============================================\n\n/**\n * KanbanColumn displays a single column with its items\n */\nfunction KanbanColumn({\n allowAddItem = true,\n className,\n column,\n isOver = false,\n items,\n onItemAdd,\n onItemClick,\n onItemDelete,\n onToggleCollapse,\n showColumnCount = true,\n showWipLimits = true,\n}: KanbanColumnProps) {\n const columnId = useId()\n const wipStatus = getWipStatus(items.length, column.wipLimit)\n const isCollapsed = column.isCollapsed ?? false\n\n const handleAddItem = () => {\n onItemAdd?.({ columnId: column.id })\n }\n\n const handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n const target = event.currentTarget\n const cards = [...target.querySelectorAll('[data-slot=\"kanban-card\"]')] as HTMLElement[]\n const focused = document.activeElement as HTMLElement\n const currentIndex = cards.indexOf(focused)\n\n if (currentIndex === -1) {\n cards[0]?.focus()\n return\n }\n\n const nextIndex = event.key === \"ArrowDown\"\n ? Math.min(currentIndex + 1, cards.length - 1)\n : Math.max(currentIndex - 1, 0)\n\n const nextElement = cards[nextIndex]\n nextElement?.focus()\n event.preventDefault()\n }\n }\n\n // Collapsed column view\n if (isCollapsed) {\n return (\n <div\n data-collapsed\n className={cn(kanbanColumnVariants({ isCollapsed: true, isOver: false }), className)}\n data-slot=\"kanban-column\"\n >\n <Button\n aria-expanded={false}\n aria-label={`Expand ${column.title}`}\n className=\"h-full w-full flex flex-col items-center justify-start pt-3 gap-2\"\n variant=\"ghost\"\n onClick={onToggleCollapse}\n >\n <ChevronRight className=\"h-4 w-4\" />\n <span\n className=\"text-sm font-semibold writing-mode-vertical\"\n style={{ writingMode: \"vertical-rl\" }}\n >\n {column.title}\n </span>\n {showColumnCount ? (\n <Badge className=\"mt-2\" color=\"muted\" type=\"pill-color\">\n {items.length}\n </Badge>\n ) : null}\n </Button>\n </div>\n )\n }\n\n return (\n <Droppable data={{ type: \"column\", column }} id={column.id}>\n {({ isOver: droppableIsOver }) => (\n <div\n className={cn(\n kanbanColumnVariants({ isCollapsed: false, isOver: isOver || droppableIsOver }),\n className\n )}\n aria-label={`${column.title} column`}\n data-slot=\"kanban-column\"\n role=\"list\"\n onKeyDown={handleKeyDown}\n >\n {/* Column Header */}\n <div\n className={kanbanColumnHeaderVariants({ wipStatus })}\n data-slot=\"kanban-column-header\"\n >\n <div className=\"flex items-center gap-2\">\n {column.color ? (\n <div\n className=\"h-3 w-3 rounded-full\"\n style={{ backgroundColor: column.color }}\n />\n ) : null}\n <span className=\"text-sm font-semibold\">{column.title}</span>\n {showColumnCount ? (\n <Badge color=\"muted\" data-slot=\"column-count\" type=\"pill-color\">\n {items.length}\n </Badge>\n ) : null}\n {showWipLimits && column.wipLimit ? (\n <span\n className=\"text-xs\"\n data-slot=\"wip-indicator\"\n title={`WIP Limit: ${String(column.wipLimit)}`}\n >\n /{column.wipLimit}\n </span>\n ) : null}\n </div>\n {onToggleCollapse ? (\n <Button\n aria-expanded={true}\n aria-label={`Collapse ${column.title}`}\n className=\"h-6 w-6 p-0\"\n size=\"sm\"\n variant=\"ghost\"\n onClick={onToggleCollapse}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </Button>\n ) : null}\n </div>\n\n {/* Cards */}\n <SortableContext\n items={items.map((i) => i.id)}\n strategy={verticalListSortingStrategy}\n >\n <div\n aria-labelledby={columnId}\n className={kanbanColumnContentVariants()}\n data-slot=\"kanban-column-content\"\n >\n {items.map((item) => (\n <SortableItem\n key={item.id}\n data={{ type: \"item\", item, columnId: column.id }}\n id={item.id}\n >\n {({ isDragging }) => (\n <div className=\"relative\">\n <DragHandle\n aria-label={`Drag ${item.title}`}\n className=\"absolute left-1 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 transition-opacity cursor-grab active:cursor-grabbing h-6 w-6 flex items-center justify-center\"\n >\n <GripVertical className=\"h-4 w-4 text-muted-foreground\" />\n </DragHandle>\n <KanbanCard\n isDragging={isDragging}\n item={item}\n onClick={onItemClick}\n onDelete={onItemDelete}\n />\n </div>\n )}\n </SortableItem>\n ))}\n\n {/* Add card button */}\n {allowAddItem ? (\n <button\n aria-label={`Add item to ${column.title}`}\n className={kanbanAddButtonVariants()}\n type=\"button\"\n onClick={handleAddItem}\n >\n <Plus className=\"h-4 w-4\" />\n Add card\n </button>\n ) : null}\n </div>\n </SortableContext>\n </div>\n )}\n </Droppable>\n )\n}\n\n// ============================================\n// KANBAN BOARD\n// ============================================\n\n/**\n * KanbanBoard component for visual task management.\n *\n * Organizes items into columns representing workflow stages with drag-and-drop\n * support for moving items between columns.\n *\n * @example\n * ```tsx\n * const columns = [\n * { id: 'todo', title: 'To Do' },\n * { id: 'doing', title: 'In Progress', wipLimit: 3 },\n * { id: 'done', title: 'Done' },\n * ]\n *\n * const items = [\n * { id: '1', title: 'Task 1', columnId: 'todo', order: 0 },\n * { id: '2', title: 'Task 2', columnId: 'doing', order: 0 },\n * ]\n *\n * <KanbanBoard\n * columns={columns}\n * items={items}\n * onItemMove={({ itemId, fromColumn, toColumn }) => {\n * console.log(`Moved ${itemId} from ${fromColumn} to ${toColumn}`)\n * }}\n * />\n * ```\n */\nfunction KanbanBoard({\n allowAddColumn = false,\n allowAddItem = true,\n allowColumnReorder = false,\n className,\n columns,\n columnWidth = 288,\n filterBy,\n groupBy,\n items,\n onColumnAdd,\n onColumnDelete: _onColumnDelete,\n onColumnReorder: _onColumnReorder,\n onColumnUpdate: _onColumnUpdate,\n onItemAdd,\n onItemClick,\n onItemDelete,\n onItemMove,\n onItemUpdate: _onItemUpdate,\n searchable = false,\n showColumnCount = true,\n showWipLimits = true,\n variant = \"default\",\n layout = \"horizontal\",\n ...props\n}: KanbanBoardProps) {\n const _boardId = useId()\n const [searchQuery, setSearchQuery] = useState(\"\")\n const [activeId, setActiveId] = useState<null | UniqueIdentifier>(null)\n const [collapsedColumns, setCollapsedColumns] = useState<Set<string>>(() => new Set())\n\n // Filter items based on search and filters\n const filteredItems = useMemo(() => {\n let result = [...items]\n\n // Apply search filter\n if (searchQuery) {\n const query = searchQuery.toLowerCase()\n result = result.filter(\n (item) =>\n item.title.toLowerCase().includes(query) ||\n item.description?.toLowerCase().includes(query)\n )\n }\n\n // Apply filter config\n if (filterBy) {\n if (filterBy.priority?.length) {\n result = result.filter((item) =>\n item.priority && filterBy.priority?.includes(item.priority)\n )\n }\n if (filterBy.assignees?.length) {\n result = result.filter((item) =>\n item.assignees?.some((a) => filterBy.assignees?.includes(a.id))\n )\n }\n if (filterBy.labels?.length) {\n result = result.filter((item) =>\n item.labels?.some((l) => filterBy.labels?.includes(l.id))\n )\n }\n if (filterBy.dueDate) {\n result = result.filter((item) => {\n if (!item.dueDate) return false\n const date = new Date(item.dueDate)\n if (filterBy.dueDate?.from && date < filterBy.dueDate.from) return false\n if (filterBy.dueDate?.to && date > filterBy.dueDate.to) return false\n return true\n })\n }\n }\n\n return result\n }, [items, searchQuery, filterBy])\n\n // Get items for a specific column\n const getColumnItems = (columnId: string) => {\n return filteredItems\n .filter((item) => item.columnId === columnId)\n .sort((a, b) => a.order - b.order)\n }\n\n // Get the active item being dragged\n const activeItem = useMemo(() => {\n if (!activeId) return null\n return items.find((item) => item.id === activeId) ?? null\n }, [activeId, items])\n\n // Toggle column collapse\n const handleToggleCollapse = (columnId: string) => {\n setCollapsedColumns((prev) => {\n const next = new Set(prev)\n if (next.has(columnId)) {\n next.delete(columnId)\n } else {\n next.add(columnId)\n }\n return next\n })\n }\n\n // Drag handlers\n const handleDragStart = (event: DragStartEvent) => {\n setActiveId(event.active.id)\n }\n\n const handleDragOver = (_event: DragOverEvent) => {\n // Could implement preview of drop here\n }\n\n const handleDragEnd = (event: DragEndEvent) => {\n const { active, over } = event\n setActiveId(null)\n\n if (!over) return\n\n const activeData = active.data.current as undefined | { columnId?: string; item?: KanbanItem; type?: string }\n const overData = over.data.current as undefined | { column?: KanbanColumn; columnId?: string; item?: KanbanItem; type?: string }\n\n if (activeData?.type !== \"item\") return\n\n const activeItem = activeData.item\n if (!activeItem) return\n\n let toColumn: string\n let index = 0\n\n if (overData?.type === \"column\") {\n // Dropped on column\n toColumn = overData.column?.id ?? \"\"\n index = getColumnItems(toColumn).length\n } else if (overData?.type === \"item\") {\n // Dropped on item\n toColumn = overData.item?.columnId ?? \"\"\n const targetItems = getColumnItems(toColumn)\n const overItem = overData.item\n index = overItem ? targetItems.findIndex((i) => i.id === overItem.id) : 0\n } else {\n return\n }\n\n if (activeItem.columnId !== toColumn || active.id !== over.id) {\n onItemMove?.({\n fromColumn: activeItem.columnId,\n index,\n itemId: activeItem.id,\n toColumn,\n })\n }\n }\n\n const handleDragCancel = () => {\n setActiveId(null)\n }\n\n // Prepare columns with collapse state\n const columnsWithState = columns.map((col) => ({\n ...col,\n isCollapsed: collapsedColumns.has(col.id) || col.isCollapsed,\n }))\n\n // Group items by swimlane if groupBy is specified\n const swimlanes = useMemo(() => {\n if (!groupBy || variant !== \"swimlanes\") return null\n\n const groups = new Map<string, KanbanItem[]>()\n for (const item of filteredItems) {\n const key = (item.customFields?.[groupBy] as string | undefined) ?? \"Ungrouped\"\n const group = groups.get(key) ?? []\n group.push(item)\n groups.set(key, group)\n }\n return groups\n }, [filteredItems, groupBy, variant])\n\n // Column width style\n const widthValue = typeof columnWidth === \"number\" ? `${String(columnWidth)}px` : columnWidth\n const columnStyle = {\n minWidth: widthValue,\n width: widthValue,\n }\n\n return (\n <div\n aria-label=\"Kanban board\"\n className=\"flex flex-col gap-4\"\n data-slot=\"kanban-board-wrapper\"\n role=\"region\"\n {...props}\n >\n {/* Search bar */}\n {searchable ? (\n <div className={kanbanSearchVariants()} data-slot=\"kanban-search\">\n <Search className=\"h-4 w-4 text-muted-foreground\" />\n <input\n aria-label=\"Search items\"\n className=\"flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground\"\n placeholder=\"Search items...\"\n type=\"text\"\n value={searchQuery}\n onChange={(e) => { setSearchQuery(e.target.value); }}\n />\n </div>\n ) : null}\n\n {/* Board */}\n <DndContext\n className={cn(kanbanBoardVariants({ layout, variant }), className)}\n onDragCancel={handleDragCancel}\n onDragEnd={handleDragEnd}\n onDragOver={handleDragOver}\n onDragStart={handleDragStart}\n >\n {variant === \"swimlanes\" && swimlanes ? (\n // Swimlanes layout\n <div className=\"flex flex-col gap-6\" data-slot=\"kanban-swimlanes\">\n {[...swimlanes.entries()].map(([lane, _laneItems]) => (\n <div key={lane} className=\"flex flex-col gap-2\">\n <div className=\"text-sm font-semibold text-muted-foreground\">\n {lane}\n </div>\n <div className=\"flex gap-4 overflow-x-auto\">\n <SortableContext\n disabled={!allowColumnReorder}\n items={columnsWithState.map((c) => c.id)}\n strategy={horizontalListSortingStrategy}\n >\n {columnsWithState.map((column) => (\n <div key={column.id} style={columnStyle}>\n <KanbanColumn\n items={getColumnItems(column.id).filter(\n (item) => ((item.customFields?.[groupBy ?? \"\"] as string | undefined) ?? \"Ungrouped\") === lane\n )}\n allowAddItem={allowAddItem}\n column={column}\n showColumnCount={showColumnCount}\n showWipLimits={showWipLimits}\n onItemAdd={onItemAdd}\n onItemClick={onItemClick}\n onItemDelete={onItemDelete}\n onToggleCollapse={() => { handleToggleCollapse(column.id); }}\n />\n </div>\n ))}\n </SortableContext>\n </div>\n </div>\n ))}\n </div>\n ) : (\n // Standard layout\n <SortableContext\n disabled={!allowColumnReorder}\n items={columnsWithState.map((c) => c.id)}\n strategy={horizontalListSortingStrategy}\n >\n {columnsWithState.map((column) => (\n <div key={column.id} style={column.isCollapsed ? undefined : columnStyle}>\n <KanbanColumn\n allowAddItem={allowAddItem}\n column={column}\n items={getColumnItems(column.id)}\n showColumnCount={showColumnCount}\n showWipLimits={showWipLimits}\n onItemAdd={onItemAdd}\n onItemClick={onItemClick}\n onItemDelete={onItemDelete}\n onToggleCollapse={() => { handleToggleCollapse(column.id); }}\n />\n </div>\n ))}\n\n {/* Add column button */}\n {allowAddColumn ? (\n <button\n className={cn(\n kanbanAddButtonVariants(),\n \"min-w-52 h-52 flex-col\"\n )}\n aria-label=\"Add column\"\n type=\"button\"\n onClick={onColumnAdd}\n >\n <Plus className=\"h-6 w-6\" />\n Add column\n </button>\n ) : null}\n </SortableContext>\n )}\n\n {/* Drag overlay */}\n <DragOverlay>\n {activeItem ? (\n <div\n className=\"opacity-90 rotate-3\"\n style={columnStyle}\n >\n <KanbanCard isDragging item={activeItem} />\n </div>\n ) : null}\n </DragOverlay>\n </DndContext>\n </div>\n )\n}\n\n// ============================================\n// EXPORTS\n// ============================================\n\nexport {\n KanbanBoard,\n kanbanBoardVariants,\n KanbanCard,\n kanbanCardVariants,\n kanbanColumnVariants,\n}\n\nexport type {\n ItemAddPayload,\n ItemClickPayload,\n ItemDeletePayload,\n ItemMovePayload,\n KanbanBoardProps,\n KanbanCardProps,\n KanbanColumn,\n KanbanColumnProps,\n KanbanFilterConfig,\n KanbanItem,\n KanbanLabel,\n KanbanSubtasks,\n KanbanUser,\n} from \"./KanbanBoard.types\"\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/workflow/KanbanBoard/KanbanBoard.variants.ts","../src/components/workflow/KanbanBoard/KanbanBoard.tsx"],"names":["activeItem"],"mappings":";;;;;;;;;;;AAOO,IAAM,mBAAA,GAAsB,GAAA;AAAA,EACjC;AAAA,IACE,MAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,aAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,eAAA,EAAiB;AAAA,MACf,MAAA,EAAQ,YAAA;AAAA,MACR,OAAA,EAAS;AAAA,KACX;AAAA,IACA,QAAA,EAAU;AAAA,MACR,MAAA,EAAQ;AAAA,QACN,UAAA,EAAY,UAAA;AAAA,QACZ,QAAA,EAAU;AAAA,OACZ;AAAA,MACA,OAAA,EAAS;AAAA,QACP,SAAA,EAAW,EAAA;AAAA,QACX,OAAA,EAAS,oEAAA;AAAA,QACT,OAAA,EAAS,EAAA;AAAA,QACT,SAAA,EAAW;AAAA;AACb;AACF;AAEJ;AAKO,IAAM,oBAAA,GAAuB,GAAA;AAAA,EAClC;AAAA,IACE,MAAA;AAAA,IACA,UAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,eAAA,EAAiB;AAAA,MACf,WAAA,EAAa,KAAA;AAAA,MACb,MAAA,EAAQ;AAAA,KACV;AAAA,IACA,QAAA,EAAU;AAAA,MACR,WAAA,EAAa;AAAA,QACX,KAAA,EAAO,MAAA;AAAA,QACP,IAAA,EAAM;AAAA,OACR;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,KAAA,EAAO,EAAA;AAAA,QACP,IAAA,EAAM;AAAA;AACR;AACF;AAEJ;AAKO,IAAM,0BAAA,GAA6B,GAAA;AAAA,EACxC;AAAA,IACE,MAAA;AAAA,IACA,cAAA;AAAA,IACA,iBAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,cAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,eAAA,EAAiB;AAAA,MACf,SAAA,EAAW;AAAA,KACb;AAAA,IACA,QAAA,EAAU;AAAA,MACR,SAAA,EAAW;AAAA,QACT,QAAA,EAAU,gDAAA;AAAA,QACV,MAAA,EAAQ,EAAA;AAAA,QACR,OAAA,EAAS;AAAA;AACX;AACF;AAEJ;AAKO,IAAM,2BAAA,GAA8B,GAAA;AAAA,EACzC;AAAA,IACE,MAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,iBAAiB,EAAC;AAAA,IAClB,UAAU;AAAC;AAEf;AAKO,IAAM,kBAAA,GAAqB,GAAA;AAAA,EAChC;AAAA,IACE,OAAA;AAAA,IACA,MAAA;AAAA,IACA,UAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,YAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA;AAAA,IACA,gBAAA;AAAA,IACA,gBAAA;AAAA,IACA,cAAA;AAAA,IACA,iBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,eAAA,EAAiB;AAAA,MACf,UAAA,EAAY,KAAA;AAAA,MACZ,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,QAAA,EAAU;AAAA,MACR,UAAA,EAAY;AAAA,QACV,KAAA,EAAO,EAAA;AAAA,QACP,IAAA,EAAM;AAAA,OACR;AAAA,MACA,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,gCAAA;AAAA,QACN,GAAA,EAAK,8BAAA;AAAA,QACL,MAAA,EAAQ,gCAAA;AAAA,QACR,IAAA,EAAM,EAAA;AAAA,QACN,MAAA,EAAQ;AAAA;AACV;AACF;AAEJ;AAKO,IAAM,uBAAA,GAA0B,GAAA;AAAA,EACrC;AAAA,IACE,SAAA;AAAA,IACA,aAAA;AAAA,IACA,iBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,iBAAiB,EAAC;AAAA,IAClB,UAAU;AAAC;AAEf;AAKO,IAAM,6BAAA,GAAgC,GAAA;AAAA,EAC3C;AAAA,IACE,SAAA;AAAA,IACA,uBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,iBAAiB,EAAC;AAAA,IAClB,UAAU;AAAC;AAEf;AAKO,IAAM,sBAAA,GAAyB,GAAA;AAAA,EACpC;AAAA,IACE,MAAA;AAAA,IACA,WAAA;AAAA,IACA,cAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,iBAAiB,EAAC;AAAA,IAClB,UAAU;AAAC;AAEf;AAKO,IAAM,mBAAA,GAAsB,GAAA;AAAA,EACjC;AAAA,IACE,aAAA;AAAA,IACA,cAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,iBAAiB,EAAC;AAAA,IAClB,UAAU;AAAC;AAEf;AAKO,IAAM,2BAAA,GAA8B,GAAA;AAAA,EACzC;AAAA,IACE,KAAA;AAAA,IACA,cAAA;AAAA,IACA,eAAA;AAAA,IACA,QAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,eAAA,EAAiB;AAAA,MACf,SAAA,EAAW;AAAA,KACb;AAAA,IACA,QAAA,EAAU;AAAA,MACR,SAAA,EAAW;AAAA,QACT,KAAA,EAAO,WAAA;AAAA,QACP,IAAA,EAAM;AAAA;AACR;AACF;AAEJ;AAKO,IAAM,uBAAA,GAA0B,GAAA;AAAA,EACrC;AAAA,IACE,MAAA;AAAA,IACA,cAAA;AAAA,IACA,gBAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,uBAAA;AAAA,IACA,YAAA;AAAA,IACA,QAAA;AAAA,IACA,eAAA;AAAA,IACA,mBAAA;AAAA,IACA,uBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,iBAAiB,EAAC;AAAA,IAClB,UAAU;AAAC;AAEf;AAKO,IAAM,sBAAA,GAAyB,GAAA;AAAA,EACpC;AAAA,IACE,MAAA;AAAA,IACA,UAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,iBAAiB,EAAC;AAAA,IAClB,UAAU;AAAC;AAEf;AAKO,IAAM,oBAAA,GAAuB,GAAA;AAAA,EAClC;AAAA,IACE,MAAA;AAAA,IACA,cAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,eAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA,qBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,iBAAiB,EAAC;AAAA,IAClB,UAAU;AAAC;AAEf;ACjQA,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,cAAc,IAAA,EAAoB;AACzC,EAAA,MAAM,GAAA,uBAAU,IAAA,EAAK;AACrB,EAAA,MAAM,IAAA,GAAO,IAAA,CAAK,OAAA,EAAQ,GAAI,IAAI,OAAA,EAAQ;AAC1C,EAAA,MAAM,OAAO,IAAA,CAAK,IAAA,CAAK,QAAQ,GAAA,GAAO,EAAA,GAAK,KAAK,EAAA,CAAG,CAAA;AAEnD,EAAA,IAAI,IAAA,GAAO,GAAG,OAAO,SAAA;AACrB,EAAA,IAAI,IAAA,KAAS,GAAG,OAAO,OAAA;AACvB,EAAA,IAAI,IAAA,KAAS,GAAG,OAAO,UAAA;AACvB,EAAA,IAAI,QAAQ,CAAA,EAAG,OAAO,CAAA,EAAG,MAAA,CAAO,IAAI,CAAC,CAAA,KAAA,CAAA;AACrC,EAAA,OAAO,KAAK,kBAAA,EAAmB;AACjC;AAKA,SAAS,YAAA,CACP,WACA,QAAA,EACmC;AACnC,EAAA,IAAI,CAAC,UAAU,OAAO,QAAA;AACtB,EAAA,IAAI,SAAA,IAAa,UAAU,OAAO,UAAA;AAClC,EAAA,IAAI,SAAA,IAAa,QAAA,GAAW,CAAA,EAAG,OAAO,SAAA;AACtC,EAAA,OAAO,QAAA;AACT;AAUA,SAAS,UAAA,CAAW;AAAA,EAClB,SAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,IAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA,EAAU;AACZ,CAAA,EAAoB;AAClB,EAAA,MAAM,SAAS,KAAA,EAAM;AACrB,EAAA,MAAM,OAAA,GAAU,OAAA;AAAA,IACd,IAAA,CAAK,SAAA,EAAW,MAAA,IAChB,IAAA,CAAK,MAAA,EAAQ,MAAA,IACb,IAAA,CAAK,OAAA,IACL,IAAA,CAAK,QAAA,IACL,IAAA,CAAK,WAAA,IACL,IAAA,CAAK;AAAA,GACP;AAEA,EAAA,MAAM,cAAc,MAAM;AACxB,IAAA,OAAA,GAAU,EAAE,MAAM,CAAA;AAAA,EACpB,CAAA;AAEA,EAAA,MAAM,aAAA,GAAgB,CAAC,KAAA,KAAyC;AAC9D,IAAA,IAAI,KAAA,CAAM,GAAA,KAAQ,OAAA,IAAW,KAAA,CAAM,QAAQ,GAAA,EAAK;AAC9C,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA,WAAA,EAAY;AAAA,IACd;AAAA,EACF,CAAA;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,kBAAA,EAAkB,IAAA,CAAK,WAAA,GAAc,CAAA,EAAG,MAAM,CAAA,KAAA,CAAA,GAAU,MAAA;AAAA,MACxD,cAAY,IAAA,CAAK,KAAA;AAAA,MACjB,SAAA,EAAW,EAAA,CAAG,kBAAA,CAAmB,EAAE,UAAA,EAAY,QAAA,EAAU,IAAA,CAAK,QAAA,IAAY,IAAA,EAAM,CAAA,EAAG,SAAS,CAAA;AAAA,MAC5F,WAAA,EAAU,aAAA;AAAA,MACV,IAAA,EAAK,UAAA;AAAA,MACL,QAAA,EAAU,CAAA;AAAA,MACV,OAAA,EAAS,WAAA;AAAA,MACT,SAAA,EAAW,aAAA;AAAA,MAGV,QAAA,EAAA;AAAA,QAAA,IAAA,CAAK,MAAA,IAAU,IAAA,CAAK,MAAA,CAAO,MAAA,GAAS,CAAA,wBAClC,KAAA,EAAA,EAAI,SAAA,EAAU,sBAAA,EAAuB,WAAA,EAAU,oBAAA,EAC7C,QAAA,EAAA;AAAA,UAAA,IAAA,CAAK,OAAO,KAAA,CAAM,CAAA,EAAG,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,KAAA,qBAC5B,GAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cAEC,WAAW,mBAAA,EAAoB;AAAA,cAC/B,KAAA,EAAO,EAAE,eAAA,EAAiB,CAAA,EAAG,MAAM,KAAK,CAAA,EAAA,CAAA,EAAM,KAAA,EAAO,KAAA,CAAM,KAAA,EAAM;AAAA,cAEhE,QAAA,EAAA,KAAA,CAAM;AAAA,aAAA;AAAA,YAJF,KAAA,CAAM;AAAA,WAMd,CAAA;AAAA,UACA,KAAK,MAAA,CAAO,MAAA,GAAS,oBACpB,IAAA,CAAC,MAAA,EAAA,EAAK,WAAU,+BAAA,EAAgC,QAAA,EAAA;AAAA,YAAA,GAAA;AAAA,YAC5C,IAAA,CAAK,OAAO,MAAA,GAAS;AAAA,WAAA,EACzB,CAAA,GACE;AAAA,SAAA,EACN,CAAA,GACE,IAAA;AAAA,wBAGJ,GAAA,CAAC,SAAI,SAAA,EAAW,uBAAA,IAA2B,WAAA,EAAU,mBAAA,EAClD,eAAK,KAAA,EACR,CAAA;AAAA,QAGC,KAAK,WAAA,mBACJ,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,WAAW,6BAAA,EAA8B;AAAA,YACzC,WAAA,EAAU,yBAAA;AAAA,YACV,EAAA,EAAI,GAAG,MAAM,CAAA,KAAA,CAAA;AAAA,YAEZ,QAAA,EAAA,IAAA,CAAK;AAAA;AAAA,SACR,GACE,IAAA;AAAA,QAGH,0BACC,IAAA,CAAC,KAAA,EAAA,EAAI,WAAW,sBAAA,EAAuB,EAAG,aAAU,kBAAA,EAEjD,QAAA,EAAA;AAAA,UAAA,IAAA,CAAK,OAAA,mBACJ,IAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,EAAA;AAAA,gBACT,yBAAA;AAAA,gBACA,IAAI,IAAA,CAAK,IAAA,CAAK,OAAO,CAAA,mBAAI,IAAI,MAAK,IAAK;AAAA,eACzC;AAAA,cACA,KAAA,EAAO,CAAA,KAAA,EAAQ,IAAA,CAAK,OAAA,CAAQ,oBAAoB,CAAA,CAAA;AAAA,cAEhD,QAAA,EAAA;AAAA,gCAAA,GAAA,CAAC,QAAA,EAAA,EAAS,WAAU,SAAA,EAAU,CAAA;AAAA,gBAC7B,aAAA,CAAc,IAAI,IAAA,CAAK,IAAA,CAAK,OAAO,CAAC;AAAA;AAAA;AAAA,WACvC,GACE,IAAA;AAAA,UAGH,KAAK,QAAA,mBACJ,IAAA,CAAC,UAAK,SAAA,EAAU,yBAAA,EAA0B,OAAM,mBAAA,EAC7C,QAAA,EAAA;AAAA,YAAA,IAAA,CAAK,QAAA,CAAS,SAAA;AAAA,YAAU,GAAA;AAAA,YAAE,KAAK,QAAA,CAAS;AAAA,WAAA,EAC3C,CAAA,GACE,IAAA;AAAA,UAGH,IAAA,CAAK,QAAA,mBACJ,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,yBAAA,EAA0B,KAAA,EAAO,CAAA,EAAG,MAAA,CAAO,IAAA,CAAK,QAAQ,CAAC,CAAA,SAAA,CAAA,EACvE,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,aAAA,EAAA,EAAc,WAAU,SAAA,EAAU,CAAA;AAAA,YAClC,IAAA,CAAK;AAAA,WAAA,EACR,CAAA,GACE,IAAA;AAAA,UAGH,IAAA,CAAK,WAAA,mBACJ,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,yBAAA,EAA0B,KAAA,EAAO,CAAA,EAAG,MAAA,CAAO,IAAA,CAAK,WAAW,CAAC,CAAA,YAAA,CAAA,EAC1E,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,SAAA,EAAA,EAAU,WAAU,SAAA,EAAU,CAAA;AAAA,YAC9B,IAAA,CAAK;AAAA,WAAA,EACR,CAAA,GACE,IAAA;AAAA,0BAGJ,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,QAAA,EAAS,CAAA;AAAA,UAGvB,IAAA,CAAK,SAAA,IAAa,IAAA,CAAK,SAAA,CAAU,MAAA,GAAS,CAAA,mBACzC,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iBAAA,EAAkB,WAAA,EAAU,uBAAA,EACxC,QAAA,EAAA;AAAA,YAAA,IAAA,CAAK,UAAU,KAAA,CAAM,CAAA,EAAG,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,IAAA,qBAC/B,IAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBAEC,SAAA,EAAU,oCAAA;AAAA,gBACV,OAAO,IAAA,CAAK,IAAA;AAAA,gBAEX,QAAA,EAAA;AAAA,kBAAA,IAAA,CAAK,MAAA,uBACH,WAAA,EAAA,EAAY,GAAA,EAAK,KAAK,IAAA,EAAM,GAAA,EAAK,IAAA,CAAK,MAAA,EAAQ,CAAA,GAC7C,IAAA;AAAA,sCACH,cAAA,EAAA,EAAe,SAAA,EAAU,WACvB,QAAA,EAAA,WAAA,CAAY,IAAA,CAAK,IAAI,CAAA,EACxB;AAAA;AAAA,eAAA;AAAA,cATK,IAAA,CAAK;AAAA,aAWb,CAAA;AAAA,YACA,KAAK,SAAA,CAAU,MAAA,GAAS,oBACvB,IAAA,CAAC,MAAA,EAAA,EAAK,WAAU,mGAAA,EAAoG,QAAA,EAAA;AAAA,cAAA,GAAA;AAAA,cAChH,IAAA,CAAK,UAAU,MAAA,GAAS;AAAA,aAAA,EAC5B,CAAA,GACE;AAAA,WAAA,EACN,CAAA,GACE;AAAA,SAAA,EACN,CAAA,GACE;AAAA;AAAA;AAAA,GACN;AAEJ;AASA,SAAS,YAAA,CAAa;AAAA,EACpB,YAAA,GAAe,IAAA;AAAA,EACf,SAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA,GAAS,KAAA;AAAA,EACT,KAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA;AAAA,EACA,gBAAA;AAAA,EACA,eAAA,GAAkB,IAAA;AAAA,EAClB,aAAA,GAAgB;AAClB,CAAA,EAAsB;AACpB,EAAA,MAAM,WAAW,KAAA,EAAM;AACvB,EAAA,MAAM,SAAA,GAAY,YAAA,CAAa,KAAA,CAAM,MAAA,EAAQ,OAAO,QAAQ,CAAA;AAC5D,EAAA,MAAM,WAAA,GAAc,OAAO,WAAA,IAAe,KAAA;AAE1C,EAAA,MAAM,gBAAgB,MAAM;AAC1B,IAAA,SAAA,GAAY,EAAE,QAAA,EAAU,MAAA,CAAO,EAAA,EAAI,CAAA;AAAA,EACrC,CAAA;AAEA,EAAA,MAAM,aAAA,GAAgB,CAAC,KAAA,KAAyC;AAC9D,IAAA,IAAI,KAAA,CAAM,GAAA,KAAQ,WAAA,IAAe,KAAA,CAAM,QAAQ,SAAA,EAAW;AACxD,MAAA,MAAM,SAAS,KAAA,CAAM,aAAA;AACrB,MAAA,MAAM,QAAQ,CAAC,GAAG,MAAA,CAAO,gBAAA,CAAiB,2BAA2B,CAAC,CAAA;AACtE,MAAA,MAAM,UAAU,QAAA,CAAS,aAAA;AACzB,MAAA,MAAM,YAAA,GAAe,KAAA,CAAM,OAAA,CAAQ,OAAO,CAAA;AAE1C,MAAA,IAAI,iBAAiB,EAAA,EAAI;AACvB,QAAA,KAAA,CAAM,CAAC,GAAG,KAAA,EAAM;AAChB,QAAA;AAAA,MACF;AAEA,MAAA,MAAM,YAAY,KAAA,CAAM,GAAA,KAAQ,WAAA,GAC5B,IAAA,CAAK,IAAI,YAAA,GAAe,CAAA,EAAG,KAAA,CAAM,MAAA,GAAS,CAAC,CAAA,GAC3C,IAAA,CAAK,GAAA,CAAI,YAAA,GAAe,GAAG,CAAC,CAAA;AAEhC,MAAA,MAAM,WAAA,GAAc,MAAM,SAAS,CAAA;AACnC,MAAA,WAAA,EAAa,KAAA,EAAM;AACnB,MAAA,KAAA,CAAM,cAAA,EAAe;AAAA,IACvB;AAAA,EACF,CAAA;AAGA,EAAA,IAAI,WAAA,EAAa;AACf,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,gBAAA,EAAc,IAAA;AAAA,QACd,SAAA,EAAW,EAAA,CAAG,oBAAA,CAAqB,EAAE,WAAA,EAAa,MAAM,MAAA,EAAQ,KAAA,EAAO,CAAA,EAAG,SAAS,CAAA;AAAA,QACnF,WAAA,EAAU,eAAA;AAAA,QAEV,QAAA,kBAAA,IAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,eAAA,EAAe,KAAA;AAAA,YACf,YAAA,EAAY,CAAA,OAAA,EAAU,MAAA,CAAO,KAAK,CAAA,CAAA;AAAA,YAClC,SAAA,EAAU,mEAAA;AAAA,YACV,OAAA,EAAQ,OAAA;AAAA,YACR,OAAA,EAAS,gBAAA;AAAA,YAET,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,YAAA,EAAA,EAAa,WAAU,SAAA,EAAU,CAAA;AAAA,8BAClC,GAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAU,6CAAA;AAAA,kBACV,KAAA,EAAO,EAAE,WAAA,EAAa,aAAA,EAAc;AAAA,kBAEnC,QAAA,EAAA,MAAA,CAAO;AAAA;AAAA,eACV;AAAA,cACC,eAAA,mBACC,GAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAU,MAAA,EAAO,KAAA,EAAM,OAAA,EAAQ,IAAA,EAAK,YAAA,EACxC,QAAA,EAAA,KAAA,CAAM,MAAA,EACT,CAAA,GACE;AAAA;AAAA;AAAA;AACN;AAAA,KACF;AAAA,EAEJ;AAEA,EAAA,uBACE,GAAA,CAAC,SAAA,EAAA,EAAU,IAAA,EAAM,EAAE,MAAM,QAAA,EAAU,MAAA,EAAO,EAAG,EAAA,EAAI,OAAO,EAAA,EACrD,QAAA,EAAA,CAAC,EAAE,MAAA,EAAQ,iBAAgB,qBAC1B,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,qBAAqB,EAAE,WAAA,EAAa,OAAO,MAAA,EAAQ,MAAA,IAAU,iBAAiB,CAAA;AAAA,QAC9E;AAAA,OACF;AAAA,MACA,YAAA,EAAY,CAAA,EAAG,MAAA,CAAO,KAAK,CAAA,OAAA,CAAA;AAAA,MAC3B,WAAA,EAAU,eAAA;AAAA,MACV,IAAA,EAAK,MAAA;AAAA,MACL,SAAA,EAAW,aAAA;AAAA,MAGX,QAAA,EAAA;AAAA,wBAAA,IAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,0BAAA,CAA2B,EAAE,SAAA,EAAW,CAAA;AAAA,YACnD,WAAA,EAAU,sBAAA;AAAA,YAEV,QAAA,EAAA;AAAA,8BAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yBAAA,EACZ,QAAA,EAAA;AAAA,gBAAA,MAAA,CAAO,KAAA,mBACN,GAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACC,SAAA,EAAU,sBAAA;AAAA,oBACV,KAAA,EAAO,EAAE,eAAA,EAAiB,MAAA,CAAO,KAAA;AAAM;AAAA,iBACzC,GACE,IAAA;AAAA,gCACJ,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,uBAAA,EAAyB,iBAAO,KAAA,EAAM,CAAA;AAAA,gBACrD,eAAA,mBACC,GAAA,CAAC,KAAA,EAAA,EAAM,KAAA,EAAM,OAAA,EAAQ,WAAA,EAAU,cAAA,EAAe,IAAA,EAAK,YAAA,EAChD,QAAA,EAAA,KAAA,CAAM,MAAA,EACT,CAAA,GACE,IAAA;AAAA,gBACH,aAAA,IAAiB,OAAO,QAAA,mBACvB,IAAA;AAAA,kBAAC,MAAA;AAAA,kBAAA;AAAA,oBACC,SAAA,EAAU,SAAA;AAAA,oBACV,WAAA,EAAU,eAAA;AAAA,oBACV,KAAA,EAAO,CAAA,WAAA,EAAc,MAAA,CAAO,MAAA,CAAO,QAAQ,CAAC,CAAA,CAAA;AAAA,oBAC7C,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,sBACG,MAAA,CAAO;AAAA;AAAA;AAAA,iBACX,GACE;AAAA,eAAA,EACN,CAAA;AAAA,cACC,gBAAA,mBACC,GAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,eAAA,EAAe,IAAA;AAAA,kBACf,YAAA,EAAY,CAAA,SAAA,EAAY,MAAA,CAAO,KAAK,CAAA,CAAA;AAAA,kBACpC,SAAA,EAAU,aAAA;AAAA,kBACV,IAAA,EAAK,IAAA;AAAA,kBACL,OAAA,EAAQ,OAAA;AAAA,kBACR,OAAA,EAAS,gBAAA;AAAA,kBAET,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAU,SAAA,EAAU;AAAA;AAAA,eACnC,GACE;AAAA;AAAA;AAAA,SACN;AAAA,wBAGA,GAAA;AAAA,UAAC,eAAA;AAAA,UAAA;AAAA,YACC,OAAO,KAAA,CAAM,GAAA,CAAI,CAAC,CAAA,KAAM,EAAE,EAAE,CAAA;AAAA,YAC5B,QAAA,EAAU,2BAAA;AAAA,YAEV,QAAA,kBAAA,IAAA;AAAA,cAAC,KAAA;AAAA,cAAA;AAAA,gBACC,iBAAA,EAAiB,QAAA;AAAA,gBACjB,WAAW,2BAAA,EAA4B;AAAA,gBACvC,WAAA,EAAU,uBAAA;AAAA,gBAET,QAAA,EAAA;AAAA,kBAAA,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,qBACV,GAAA;AAAA,oBAAC,YAAA;AAAA,oBAAA;AAAA,sBAEC,MAAM,EAAE,IAAA,EAAM,QAAQ,IAAA,EAAM,QAAA,EAAU,OAAO,EAAA,EAAG;AAAA,sBAChD,IAAI,IAAA,CAAK,EAAA;AAAA,sBAER,WAAC,EAAE,UAAA,uBACF,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,UAAA,EACb,QAAA,EAAA;AAAA,wCAAA,GAAA;AAAA,0BAAC,UAAA;AAAA,0BAAA;AAAA,4BACC,YAAA,EAAY,CAAA,KAAA,EAAQ,IAAA,CAAK,KAAK,CAAA,CAAA;AAAA,4BAC9B,SAAA,EAAU,2KAAA;AAAA,4BAEV,QAAA,kBAAA,GAAA,CAAC,YAAA,EAAA,EAAa,SAAA,EAAU,+BAAA,EAAgC;AAAA;AAAA,yBAC1D;AAAA,wCACA,GAAA;AAAA,0BAAC,UAAA;AAAA,0BAAA;AAAA,4BACC,UAAA;AAAA,4BACA,IAAA;AAAA,4BACA,OAAA,EAAS,WAAA;AAAA,4BACT,QAAA,EAAU;AAAA;AAAA;AACZ,uBAAA,EACF;AAAA,qBAAA;AAAA,oBAlBG,IAAA,CAAK;AAAA,mBAqBb,CAAA;AAAA,kBAGA,YAAA,mBACC,IAAA;AAAA,oBAAC,QAAA;AAAA,oBAAA;AAAA,sBACC,YAAA,EAAY,CAAA,YAAA,EAAe,MAAA,CAAO,KAAK,CAAA,CAAA;AAAA,sBACvC,WAAW,uBAAA,EAAwB;AAAA,sBACnC,IAAA,EAAK,QAAA;AAAA,sBACL,OAAA,EAAS,aAAA;AAAA,sBAET,QAAA,EAAA;AAAA,wCAAA,GAAA,CAAC,IAAA,EAAA,EAAK,WAAU,SAAA,EAAU,CAAA;AAAA,wBAAE;AAAA;AAAA;AAAA,mBAE9B,GACE;AAAA;AAAA;AAAA;AACN;AAAA;AACF;AAAA;AAAA,GACF,EAEJ,CAAA;AAEJ;AAkCA,SAAS,WAAA,CAAY;AAAA,EACnB,cAAA,GAAiB,KAAA;AAAA,EACjB,YAAA,GAAe,IAAA;AAAA,EACf,kBAAA,GAAqB,KAAA;AAAA,EACrB,SAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA,GAAc,GAAA;AAAA,EACd,QAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,cAAA,EAAgB,eAAA;AAAA,EAChB,eAAA,EAAiB,gBAAA;AAAA,EACjB,cAAA,EAAgB,eAAA;AAAA,EAChB,SAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA,EAAc,aAAA;AAAA,EACd,UAAA,GAAa,KAAA;AAAA,EACb,eAAA,GAAkB,IAAA;AAAA,EAClB,aAAA,GAAgB,IAAA;AAAA,EAChB,OAAA,GAAU,SAAA;AAAA,EACV,MAAA,GAAS,YAAA;AAAA,EACT,GAAG;AACL,CAAA,EAAqB;AACnB,EAAiB,KAAA;AACjB,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAS,EAAE,CAAA;AACjD,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAkC,IAAI,CAAA;AACtE,EAAA,MAAM,CAAC,kBAAkB,mBAAmB,CAAA,GAAI,SAAsB,sBAAM,IAAI,KAAK,CAAA;AAGrF,EAAA,MAAM,aAAA,GAAgB,QAAQ,MAAM;AAClC,IAAA,IAAI,MAAA,GAAS,CAAC,GAAG,KAAK,CAAA;AAGtB,IAAA,IAAI,WAAA,EAAa;AACf,MAAA,MAAM,KAAA,GAAQ,YAAY,WAAA,EAAY;AACtC,MAAA,MAAA,GAAS,MAAA,CAAO,MAAA;AAAA,QACd,CAAC,IAAA,KACC,IAAA,CAAK,KAAA,CAAM,aAAY,CAAE,QAAA,CAAS,KAAK,CAAA,IACvC,IAAA,CAAK,WAAA,EAAa,WAAA,EAAY,CAAE,SAAS,KAAK;AAAA,OAClD;AAAA,IACF;AAGA,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,IAAI,QAAA,CAAS,UAAU,MAAA,EAAQ;AAC7B,QAAA,MAAA,GAAS,MAAA,CAAO,MAAA;AAAA,UAAO,CAAC,SACtB,IAAA,CAAK,QAAA,IAAY,SAAS,QAAA,EAAU,QAAA,CAAS,KAAK,QAAQ;AAAA,SAC5D;AAAA,MACF;AACA,MAAA,IAAI,QAAA,CAAS,WAAW,MAAA,EAAQ;AAC9B,QAAA,MAAA,GAAS,MAAA,CAAO,MAAA;AAAA,UAAO,CAAC,IAAA,KACtB,IAAA,CAAK,SAAA,EAAW,IAAA,CAAK,CAAC,CAAA,KAAM,QAAA,CAAS,SAAA,EAAW,QAAA,CAAS,CAAA,CAAE,EAAE,CAAC;AAAA,SAChE;AAAA,MACF;AACA,MAAA,IAAI,QAAA,CAAS,QAAQ,MAAA,EAAQ;AAC3B,QAAA,MAAA,GAAS,MAAA,CAAO,MAAA;AAAA,UAAO,CAAC,IAAA,KACtB,IAAA,CAAK,MAAA,EAAQ,IAAA,CAAK,CAAC,CAAA,KAAM,QAAA,CAAS,MAAA,EAAQ,QAAA,CAAS,CAAA,CAAE,EAAE,CAAC;AAAA,SAC1D;AAAA,MACF;AACA,MAAA,IAAI,SAAS,OAAA,EAAS;AACpB,QAAA,MAAA,GAAS,MAAA,CAAO,MAAA,CAAO,CAAC,IAAA,KAAS;AAC/B,UAAA,IAAI,CAAC,IAAA,CAAK,OAAA,EAAS,OAAO,KAAA;AAC1B,UAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,IAAA,CAAK,OAAO,CAAA;AAClC,UAAA,IAAI,SAAS,OAAA,EAAS,IAAA,IAAQ,OAAO,QAAA,CAAS,OAAA,CAAQ,MAAM,OAAO,KAAA;AACnE,UAAA,IAAI,SAAS,OAAA,EAAS,EAAA,IAAM,OAAO,QAAA,CAAS,OAAA,CAAQ,IAAI,OAAO,KAAA;AAC/D,UAAA,OAAO,IAAA;AAAA,QACT,CAAC,CAAA;AAAA,MACH;AAAA,IACF;AAEA,IAAA,OAAO,MAAA;AAAA,EACT,CAAA,EAAG,CAAC,KAAA,EAAO,WAAA,EAAa,QAAQ,CAAC,CAAA;AAGjC,EAAA,MAAM,cAAA,GAAiB,CAAC,QAAA,KAAqB;AAC3C,IAAA,OAAO,aAAA,CACJ,MAAA,CAAO,CAAC,IAAA,KAAS,KAAK,QAAA,KAAa,QAAQ,CAAA,CAC3C,IAAA,CAAK,CAAC,CAAA,EAAG,CAAA,KAAM,CAAA,CAAE,KAAA,GAAQ,EAAE,KAAK,CAAA;AAAA,EACrC,CAAA;AAGA,EAAA,MAAM,UAAA,GAAa,QAAQ,MAAM;AAC/B,IAAA,IAAI,CAAC,UAAU,OAAO,IAAA;AACtB,IAAA,OAAO,MAAM,IAAA,CAAK,CAAC,SAAS,IAAA,CAAK,EAAA,KAAO,QAAQ,CAAA,IAAK,IAAA;AAAA,EACvD,CAAA,EAAG,CAAC,QAAA,EAAU,KAAK,CAAC,CAAA;AAGpB,EAAA,MAAM,oBAAA,GAAuB,CAAC,QAAA,KAAqB;AACjD,IAAA,mBAAA,CAAoB,CAAC,IAAA,KAAS;AAC5B,MAAA,MAAM,IAAA,GAAO,IAAI,GAAA,CAAI,IAAI,CAAA;AACzB,MAAA,IAAI,IAAA,CAAK,GAAA,CAAI,QAAQ,CAAA,EAAG;AACtB,QAAA,IAAA,CAAK,OAAO,QAAQ,CAAA;AAAA,MACtB,CAAA,MAAO;AACL,QAAA,IAAA,CAAK,IAAI,QAAQ,CAAA;AAAA,MACnB;AACA,MAAA,OAAO,IAAA;AAAA,IACT,CAAC,CAAA;AAAA,EACH,CAAA;AAGA,EAAA,MAAM,eAAA,GAAkB,CAAC,KAAA,KAA0B;AACjD,IAAA,WAAA,CAAY,KAAA,CAAM,OAAO,EAAE,CAAA;AAAA,EAC7B,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,CAAC,MAAA,KAA0B;AAAA,EAElD,CAAA;AAEA,EAAA,MAAM,aAAA,GAAgB,CAAC,KAAA,KAAwB;AAC7C,IAAA,MAAM,EAAE,MAAA,EAAQ,IAAA,EAAK,GAAI,KAAA;AACzB,IAAA,WAAA,CAAY,IAAI,CAAA;AAEhB,IAAA,IAAI,CAAC,IAAA,EAAM;AAEX,IAAA,MAAM,UAAA,GAAa,OAAO,IAAA,CAAK,OAAA;AAC/B,IAAA,MAAM,QAAA,GAAW,KAAK,IAAA,CAAK,OAAA;AAE3B,IAAA,IAAI,UAAA,EAAY,SAAS,MAAA,EAAQ;AAEjC,IAAA,MAAMA,cAAa,UAAA,CAAW,IAAA;AAC9B,IAAA,IAAI,CAACA,WAAAA,EAAY;AAEjB,IAAA,IAAI,QAAA;AACJ,IAAA,IAAI,KAAA,GAAQ,CAAA;AAEZ,IAAA,IAAI,QAAA,EAAU,SAAS,QAAA,EAAU;AAE/B,MAAA,QAAA,GAAW,QAAA,CAAS,QAAQ,EAAA,IAAM,EAAA;AAClC,MAAA,KAAA,GAAQ,cAAA,CAAe,QAAQ,CAAA,CAAE,MAAA;AAAA,IACnC,CAAA,MAAA,IAAW,QAAA,EAAU,IAAA,KAAS,MAAA,EAAQ;AAEpC,MAAA,QAAA,GAAW,QAAA,CAAS,MAAM,QAAA,IAAY,EAAA;AACtC,MAAA,MAAM,WAAA,GAAc,eAAe,QAAQ,CAAA;AAC3C,MAAA,MAAM,WAAW,QAAA,CAAS,IAAA;AAC1B,MAAA,KAAA,GAAQ,QAAA,GAAW,YAAY,SAAA,CAAU,CAAC,MAAM,CAAA,CAAE,EAAA,KAAO,QAAA,CAAS,EAAE,CAAA,GAAI,CAAA;AAAA,IAC1E,CAAA,MAAO;AACL,MAAA;AAAA,IACF;AAEA,IAAA,IAAIA,YAAW,QAAA,KAAa,QAAA,IAAY,MAAA,CAAO,EAAA,KAAO,KAAK,EAAA,EAAI;AAC7D,MAAA,UAAA,GAAa;AAAA,QACX,YAAYA,WAAAA,CAAW,QAAA;AAAA,QACvB,KAAA;AAAA,QACA,QAAQA,WAAAA,CAAW,EAAA;AAAA,QACnB;AAAA,OACD,CAAA;AAAA,IACH;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,mBAAmB,MAAM;AAC7B,IAAA,WAAA,CAAY,IAAI,CAAA;AAAA,EAClB,CAAA;AAGA,EAAA,MAAM,gBAAA,GAAmB,OAAA,CAAQ,GAAA,CAAI,CAAC,GAAA,MAAS;AAAA,IAC7C,GAAG,GAAA;AAAA,IACH,aAAa,gBAAA,CAAiB,GAAA,CAAI,GAAA,CAAI,EAAE,KAAK,GAAA,CAAI;AAAA,GACnD,CAAE,CAAA;AAGF,EAAA,MAAM,SAAA,GAAY,QAAQ,MAAM;AAC9B,IAAA,IAAI,CAAC,OAAA,IAAW,OAAA,KAAY,WAAA,EAAa,OAAO,IAAA;AAEhD,IAAA,MAAM,MAAA,uBAAa,GAAA,EAA0B;AAC7C,IAAA,KAAA,MAAW,QAAQ,aAAA,EAAe;AAChC,MAAA,MAAM,GAAA,GAAO,IAAA,CAAK,YAAA,GAAe,OAAO,CAAA,IAA4B,WAAA;AACpE,MAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,GAAA,CAAI,GAAG,KAAK,EAAC;AAClC,MAAA,KAAA,CAAM,KAAK,IAAI,CAAA;AACf,MAAA,MAAA,CAAO,GAAA,CAAI,KAAK,KAAK,CAAA;AAAA,IACvB;AACA,IAAA,OAAO,MAAA;AAAA,EACT,CAAA,EAAG,CAAC,aAAA,EAAe,OAAA,EAAS,OAAO,CAAC,CAAA;AAGpC,EAAA,MAAM,UAAA,GAAa,OAAO,WAAA,KAAgB,QAAA,GAAW,GAAG,MAAA,CAAO,WAAW,CAAC,CAAA,EAAA,CAAA,GAAO,WAAA;AAClF,EAAA,MAAM,WAAA,GAAc;AAAA,IAClB,QAAA,EAAU,UAAA;AAAA,IACV,KAAA,EAAO;AAAA,GACT;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAW,cAAA;AAAA,MACX,SAAA,EAAU,qBAAA;AAAA,MACV,WAAA,EAAU,sBAAA;AAAA,MACV,IAAA,EAAK,QAAA;AAAA,MACJ,GAAG,KAAA;AAAA,MAGH,QAAA,EAAA;AAAA,QAAA,UAAA,wBACE,KAAA,EAAA,EAAI,SAAA,EAAW,oBAAA,EAAqB,EAAG,aAAU,eAAA,EAChD,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,MAAA,EAAA,EAAO,WAAU,+BAAA,EAAgC,CAAA;AAAA,0BAClD,GAAA;AAAA,YAAC,OAAA;AAAA,YAAA;AAAA,cACC,YAAA,EAAW,cAAA;AAAA,cACX,SAAA,EAAU,8EAAA;AAAA,cACV,WAAA,EAAY,iBAAA;AAAA,cACZ,IAAA,EAAK,MAAA;AAAA,cACL,KAAA,EAAO,WAAA;AAAA,cACP,QAAA,EAAU,CAAC,CAAA,KAAM;AAAE,gBAAA,cAAA,CAAe,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,cAAG;AAAA;AAAA;AACrD,SAAA,EACF,CAAA,GACE,IAAA;AAAA,wBAGJ,IAAA;AAAA,UAAC,UAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,GAAG,mBAAA,CAAoB,EAAE,QAAQ,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,YACjE,YAAA,EAAc,gBAAA;AAAA,YACd,SAAA,EAAW,aAAA;AAAA,YACX,UAAA,EAAY,cAAA;AAAA,YACZ,WAAA,EAAa,eAAA;AAAA,YAEZ,QAAA,EAAA;AAAA,cAAA,OAAA,KAAY,WAAA,IAAe,SAAA;AAAA;AAAA,gCAE1B,GAAA,CAAC,SAAI,SAAA,EAAU,qBAAA,EAAsB,aAAU,kBAAA,EAC5C,QAAA,EAAA,CAAC,GAAG,SAAA,CAAU,OAAA,EAAS,CAAA,CAAE,GAAA,CAAI,CAAC,CAAC,IAAA,EAAM,UAAU,CAAA,qBAC9C,IAAA,CAAC,KAAA,EAAA,EAAe,SAAA,EAAU,qBAAA,EACxB,QAAA,EAAA;AAAA,kCAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,6CAAA,EACZ,QAAA,EAAA,IAAA,EACH,CAAA;AAAA,kCACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,4BAAA,EACb,QAAA,kBAAA,GAAA;AAAA,oBAAC,eAAA;AAAA,oBAAA;AAAA,sBACC,UAAU,CAAC,kBAAA;AAAA,sBACX,OAAO,gBAAA,CAAiB,GAAA,CAAI,CAAC,CAAA,KAAM,EAAE,EAAE,CAAA;AAAA,sBACvC,QAAA,EAAU,6BAAA;AAAA,sBAET,2BAAiB,GAAA,CAAI,CAAC,2BACrB,GAAA,CAAC,KAAA,EAAA,EAAoB,OAAO,WAAA,EAC1B,QAAA,kBAAA,GAAA;AAAA,wBAAC,YAAA;AAAA,wBAAA;AAAA,0BACC,KAAA,EAAO,cAAA,CAAe,MAAA,CAAO,EAAE,CAAA,CAAE,MAAA;AAAA,4BAC/B,CAAC,IAAA,KAAA,CAAW,IAAA,CAAK,eAAe,OAAA,IAAW,EAAE,KAA4B,WAAA,MAAiB;AAAA,2BAC5F;AAAA,0BACA,YAAA;AAAA,0BACA,MAAA;AAAA,0BACA,eAAA;AAAA,0BACA,aAAA;AAAA,0BACA,SAAA;AAAA,0BACA,WAAA;AAAA,0BACA,YAAA;AAAA,0BACA,kBAAkB,MAAM;AAAE,4BAAA,oBAAA,CAAqB,OAAO,EAAE,CAAA;AAAA,0BAAG;AAAA;AAAA,uBAC7D,EAAA,EAbQ,MAAA,CAAO,EAcjB,CACD;AAAA;AAAA,mBACH,EACF;AAAA,iBAAA,EAAA,EA5BQ,IA6BV,CACD,CAAA,EACH;AAAA;AAAA;AAAA,gCAGA,IAAA;AAAA,kBAAC,eAAA;AAAA,kBAAA;AAAA,oBACC,UAAU,CAAC,kBAAA;AAAA,oBACX,OAAO,gBAAA,CAAiB,GAAA,CAAI,CAAC,CAAA,KAAM,EAAE,EAAE,CAAA;AAAA,oBACvC,QAAA,EAAU,6BAAA;AAAA,oBAET,QAAA,EAAA;AAAA,sBAAA,gBAAA,CAAiB,GAAA,CAAI,CAAC,MAAA,qBACrB,GAAA,CAAC,SAAoB,KAAA,EAAO,MAAA,CAAO,WAAA,GAAc,MAAA,GAAY,WAAA,EAC3D,QAAA,kBAAA,GAAA;AAAA,wBAAC,YAAA;AAAA,wBAAA;AAAA,0BACC,YAAA;AAAA,0BACA,MAAA;AAAA,0BACA,KAAA,EAAO,cAAA,CAAe,MAAA,CAAO,EAAE,CAAA;AAAA,0BAC/B,eAAA;AAAA,0BACA,aAAA;AAAA,0BACA,SAAA;AAAA,0BACA,WAAA;AAAA,0BACA,YAAA;AAAA,0BACA,kBAAkB,MAAM;AAAE,4BAAA,oBAAA,CAAqB,OAAO,EAAE,CAAA;AAAA,0BAAG;AAAA;AAAA,uBAC7D,EAAA,EAXQ,MAAA,CAAO,EAYjB,CACD,CAAA;AAAA,sBAGA,cAAA,mBACC,IAAA;AAAA,wBAAC,QAAA;AAAA,wBAAA;AAAA,0BACC,SAAA,EAAW,EAAA;AAAA,4BACT,uBAAA,EAAwB;AAAA,4BACxB;AAAA,2BACF;AAAA,0BACA,YAAA,EAAW,YAAA;AAAA,0BACX,IAAA,EAAK,QAAA;AAAA,0BACL,OAAA,EAAS,WAAA;AAAA,0BAET,QAAA,EAAA;AAAA,4CAAA,GAAA,CAAC,IAAA,EAAA,EAAK,WAAU,SAAA,EAAU,CAAA;AAAA,4BAAE;AAAA;AAAA;AAAA,uBAE9B,GACE;AAAA;AAAA;AAAA;AACN,eAAA;AAAA,8BAIF,GAAA,CAAC,eACE,QAAA,EAAA,UAAA,mBACC,GAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAU,qBAAA;AAAA,kBACV,KAAA,EAAO,WAAA;AAAA,kBAEP,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,UAAA,EAAU,IAAA,EAAC,MAAM,UAAA,EAAY;AAAA;AAAA,kBAEzC,IAAA,EACN;AAAA;AAAA;AAAA;AACF;AAAA;AAAA,GACF;AAEJ","file":"chunk-KBU4KJKC.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/* eslint-disable sonarjs/no-duplicate-string -- CVA variants require repeated class patterns */\n\n/**\n * Board container variants\n */\nexport const kanbanBoardVariants = cva(\n [\n \"flex\",\n \"w-full\",\n \"min-w-0\",\n \"gap-4\",\n \"p-4\",\n \"bg-muted/30\",\n \"rounded-lg\",\n \"overflow-x-auto\",\n ],\n {\n defaultVariants: {\n layout: \"horizontal\",\n variant: \"default\",\n },\n variants: {\n layout: {\n horizontal: \"flex-row\",\n vertical: \"flex-col\",\n },\n variant: {\n collapsed: \"\",\n compact: \"[&_[data-slot=kanban-card]]:p-2 [&_[data-slot=kanban-column]]:w-60\",\n default: \"\",\n swimlanes: \"flex-col gap-6\",\n },\n },\n }\n)\n\n/**\n * Column container variants\n */\nexport const kanbanColumnVariants = cva(\n [\n \"flex\",\n \"flex-col\",\n \"gap-2\",\n \"rounded-lg\",\n \"bg-muted/50\",\n \"min-h-52\",\n ],\n {\n defaultVariants: {\n isCollapsed: false,\n isOver: false,\n },\n variants: {\n isCollapsed: {\n false: \"w-72\",\n true: \"w-12\",\n },\n isOver: {\n false: \"\",\n true: \"ring-2 ring-primary/50 bg-primary/5\",\n },\n },\n }\n)\n\n/**\n * Column header variants\n */\nexport const kanbanColumnHeaderVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"justify-between\",\n \"gap-2\",\n \"p-3\",\n \"bg-card\",\n \"rounded-t-lg\",\n \"border-b\",\n ],\n {\n defaultVariants: {\n wipStatus: \"normal\",\n },\n variants: {\n wipStatus: {\n exceeded: \"[&_[data-slot=wip-indicator]]:text-destructive\",\n normal: \"\",\n warning: \"[&_[data-slot=wip-indicator]]:text-warning\",\n },\n },\n }\n)\n\n/**\n * Column content (cards area) variants\n */\nexport const kanbanColumnContentVariants = cva(\n [\n \"flex\",\n \"flex-col\",\n \"flex-1\",\n \"gap-2\",\n \"p-2\",\n \"min-h-24\",\n ],\n {\n defaultVariants: {},\n variants: {},\n }\n)\n\n/**\n * Kanban card variants\n */\nexport const kanbanCardVariants = cva(\n [\n \"group\",\n \"flex\",\n \"flex-col\",\n \"gap-2\",\n \"p-3\",\n \"bg-card\",\n \"rounded-md\",\n \"border\",\n \"shadow-sm\",\n \"cursor-pointer\",\n \"transition-all\",\n \"duration-200\",\n \"hover:shadow-md\",\n \"hover:border-primary/30\",\n ],\n {\n defaultVariants: {\n isDragging: false,\n priority: null,\n },\n variants: {\n isDragging: {\n false: \"\",\n true: \"opacity-50 ring-2 ring-primary shadow-lg\",\n },\n priority: {\n high: \"border-l-4 border-l-orange-500\",\n low: \"border-l-4 border-l-gray-400\",\n medium: \"border-l-4 border-l-yellow-500\",\n null: \"\",\n urgent: \"border-l-4 border-l-destructive\",\n },\n },\n }\n)\n\n/**\n * Card title variants\n */\nexport const kanbanCardTitleVariants = cva(\n [\n \"text-sm\",\n \"font-medium\",\n \"text-foreground\",\n \"line-clamp-2\",\n ],\n {\n defaultVariants: {},\n variants: {},\n }\n)\n\n/**\n * Card description variants\n */\nexport const kanbanCardDescriptionVariants = cva(\n [\n \"text-xs\",\n \"text-muted-foreground\",\n \"line-clamp-2\",\n ],\n {\n defaultVariants: {},\n variants: {},\n }\n)\n\n/**\n * Card metadata row variants\n */\nexport const kanbanCardMetaVariants = cva(\n [\n \"flex\",\n \"flex-wrap\",\n \"items-center\",\n \"gap-2\",\n \"text-xs\",\n \"text-muted-foreground\",\n ],\n {\n defaultVariants: {},\n variants: {},\n }\n)\n\n/**\n * Label badge variants\n */\nexport const kanbanLabelVariants = cva(\n [\n \"inline-flex\",\n \"items-center\",\n \"px-1.5\",\n \"py-0.5\",\n \"rounded-sm\",\n \"text-xs\",\n \"font-medium\",\n ],\n {\n defaultVariants: {},\n variants: {},\n }\n)\n\n/**\n * Drop indicator variants\n */\nexport const kanbanDropIndicatorVariants = cva(\n [\n \"h-1\",\n \"rounded-full\",\n \"bg-primary/20\",\n \"border\",\n \"border-primary\",\n \"transition-opacity\",\n ],\n {\n defaultVariants: {\n isVisible: false,\n },\n variants: {\n isVisible: {\n false: \"opacity-0\",\n true: \"opacity-100\",\n },\n },\n }\n)\n\n/**\n * Add button variants\n */\nexport const kanbanAddButtonVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"justify-center\",\n \"gap-1\",\n \"w-full\",\n \"p-2\",\n \"text-sm\",\n \"text-muted-foreground\",\n \"rounded-md\",\n \"border\",\n \"border-dashed\",\n \"hover:bg-muted/50\",\n \"hover:text-foreground\",\n \"transition-colors\",\n ],\n {\n defaultVariants: {},\n variants: {},\n }\n)\n\n/**\n * Swimlane header variants\n */\nexport const kanbanSwimlaneVariants = cva(\n [\n \"flex\",\n \"flex-col\",\n \"gap-2\",\n \"p-3\",\n \"rounded-lg\",\n \"bg-muted/20\",\n ],\n {\n defaultVariants: {},\n variants: {},\n }\n)\n\n/**\n * Search input variants\n */\nexport const kanbanSearchVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"gap-2\",\n \"px-3\",\n \"py-2\",\n \"bg-background\",\n \"border\",\n \"rounded-md\",\n \"focus-within:ring-2\",\n \"focus-within:ring-primary/50\",\n ],\n {\n defaultVariants: {},\n variants: {},\n }\n)\n","import type {\n KanbanBoardProps,\n KanbanCardProps,\n KanbanColumn,\n KanbanColumnProps,\n KanbanItem,\n} from \"./KanbanBoard.types\"\nimport type { DragEndEvent, DragOverEvent, DragStartEvent, UniqueIdentifier } from \"@dnd-kit/core\"\nimport type { KeyboardEvent } from \"react\"\n\nimport { horizontalListSortingStrategy, SortableContext, verticalListSortingStrategy } from \"@dnd-kit/sortable\"\nimport {\n Calendar,\n ChevronDown,\n ChevronRight,\n GripVertical,\n MessageSquare,\n Paperclip,\n Plus,\n Search,\n} from \"lucide-react\"\nimport { useId, useMemo, useState } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n DndContext,\n DragHandle,\n DragOverlay,\n Droppable,\n SortableItem,\n} from \"../../advanced/DragAndDrop\"\nimport { Avatar, AvatarFallback, AvatarImage } from \"../../primitives/Avatar\"\nimport { Badge } from \"../../primitives/Badge\"\nimport { Button } from \"../../primitives/Button\"\nimport {\n kanbanAddButtonVariants,\n kanbanBoardVariants,\n kanbanCardDescriptionVariants,\n kanbanCardMetaVariants,\n kanbanCardTitleVariants,\n kanbanCardVariants,\n kanbanColumnContentVariants,\n kanbanColumnHeaderVariants,\n kanbanColumnVariants,\n kanbanLabelVariants,\n kanbanSearchVariants,\n} from \"./KanbanBoard.variants\"\n\n// ============================================\n// HELPER FUNCTIONS\n// ============================================\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 date for display\n */\nfunction formatDueDate(date: Date): string {\n const now = new Date()\n const diff = date.getTime() - now.getTime()\n const days = Math.ceil(diff / (1000 * 60 * 60 * 24))\n\n if (days < 0) return \"Overdue\"\n if (days === 0) return \"Today\"\n if (days === 1) return \"Tomorrow\"\n if (days <= 7) return `${String(days)} days`\n return date.toLocaleDateString()\n}\n\n/**\n * Get WIP status for column\n */\nfunction getWipStatus(\n itemCount: number,\n wipLimit?: number\n): \"exceeded\" | \"normal\" | \"warning\" {\n if (!wipLimit) return \"normal\"\n if (itemCount >= wipLimit) return \"exceeded\"\n if (itemCount >= wipLimit - 1) return \"warning\"\n return \"normal\"\n}\n\n// ============================================\n// KANBAN CARD\n// ============================================\n\n/**\n * KanbanCard displays an individual task item\n */\n// eslint-disable-next-line sonarjs/cognitive-complexity -- Complexity inherent to rendering multiple optional card elements\nfunction KanbanCard({\n className,\n isDragging = false,\n item,\n onClick,\n onDelete: _onDelete,\n}: KanbanCardProps) {\n const cardId = useId()\n const hasMeta = Boolean(\n item.assignees?.length ??\n item.labels?.length ??\n item.dueDate ??\n item.comments ??\n item.attachments ??\n item.subtasks\n )\n\n const handleClick = () => {\n onClick?.({ item })\n }\n\n const handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault()\n handleClick()\n }\n }\n\n return (\n <div\n aria-describedby={item.description ? `${cardId}-desc` : undefined}\n aria-label={item.title}\n className={cn(kanbanCardVariants({ isDragging, priority: item.priority ?? null }), className)}\n data-slot=\"kanban-card\"\n role=\"listitem\"\n tabIndex={0}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n {/* Labels */}\n {item.labels && item.labels.length > 0 ? (\n <div className=\"flex flex-wrap gap-1\" data-slot=\"kanban-card-labels\">\n {item.labels.slice(0, 3).map((label) => (\n <span\n key={label.id}\n className={kanbanLabelVariants()}\n style={{ backgroundColor: `${label.color}20`, color: label.color }}\n >\n {label.name}\n </span>\n ))}\n {item.labels.length > 3 ? (\n <span className=\"text-xs text-muted-foreground\">\n +{item.labels.length - 3}\n </span>\n ) : null}\n </div>\n ) : null}\n\n {/* Title */}\n <div className={kanbanCardTitleVariants()} data-slot=\"kanban-card-title\">\n {item.title}\n </div>\n\n {/* Description */}\n {item.description ? (\n <div\n className={kanbanCardDescriptionVariants()}\n data-slot=\"kanban-card-description\"\n id={`${cardId}-desc`}\n >\n {item.description}\n </div>\n ) : null}\n\n {/* Metadata row */}\n {hasMeta ? (\n <div className={kanbanCardMetaVariants()} data-slot=\"kanban-card-meta\">\n {/* Due date */}\n {item.dueDate ? (\n <span\n className={cn(\n \"flex items-center gap-1\",\n new Date(item.dueDate) < new Date() && \"text-destructive\"\n )}\n title={`Due: ${item.dueDate.toLocaleDateString()}`}\n >\n <Calendar className=\"h-3 w-3\" />\n {formatDueDate(new Date(item.dueDate))}\n </span>\n ) : null}\n\n {/* Subtasks */}\n {item.subtasks ? (\n <span className=\"flex items-center gap-1\" title=\"Subtasks progress\">\n {item.subtasks.completed}/{item.subtasks.total}\n </span>\n ) : null}\n\n {/* Comments */}\n {item.comments ? (\n <span className=\"flex items-center gap-1\" title={`${String(item.comments)} comments`}>\n <MessageSquare className=\"h-3 w-3\" />\n {item.comments}\n </span>\n ) : null}\n\n {/* Attachments */}\n {item.attachments ? (\n <span className=\"flex items-center gap-1\" title={`${String(item.attachments)} attachments`}>\n <Paperclip className=\"h-3 w-3\" />\n {item.attachments}\n </span>\n ) : null}\n\n {/* Spacer */}\n <div className=\"flex-1\" />\n\n {/* Assignees */}\n {item.assignees && item.assignees.length > 0 ? (\n <div className=\"flex -space-x-1\" data-slot=\"kanban-card-assignees\">\n {item.assignees.slice(0, 3).map((user) => (\n <Avatar\n key={user.id}\n className=\"h-5 w-5 border-2 border-background\"\n title={user.name}\n >\n {user.avatar ? (\n <AvatarImage alt={user.name} src={user.avatar} />\n ) : null}\n <AvatarFallback className=\"text-xs\">\n {getInitials(user.name)}\n </AvatarFallback>\n </Avatar>\n ))}\n {item.assignees.length > 3 ? (\n <span className=\"flex h-5 w-5 items-center justify-center rounded-full bg-muted text-xs border-2 border-background\">\n +{item.assignees.length - 3}\n </span>\n ) : null}\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n )\n}\n\n// ============================================\n// KANBAN COLUMN\n// ============================================\n\n/**\n * KanbanColumn displays a single column with its items\n */\nfunction KanbanColumn({\n allowAddItem = true,\n className,\n column,\n isOver = false,\n items,\n onItemAdd,\n onItemClick,\n onItemDelete,\n onToggleCollapse,\n showColumnCount = true,\n showWipLimits = true,\n}: KanbanColumnProps) {\n const columnId = useId()\n const wipStatus = getWipStatus(items.length, column.wipLimit)\n const isCollapsed = column.isCollapsed ?? false\n\n const handleAddItem = () => {\n onItemAdd?.({ columnId: column.id })\n }\n\n const handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n const target = event.currentTarget\n const cards = [...target.querySelectorAll('[data-slot=\"kanban-card\"]')] as HTMLElement[]\n const focused = document.activeElement as HTMLElement\n const currentIndex = cards.indexOf(focused)\n\n if (currentIndex === -1) {\n cards[0]?.focus()\n return\n }\n\n const nextIndex = event.key === \"ArrowDown\"\n ? Math.min(currentIndex + 1, cards.length - 1)\n : Math.max(currentIndex - 1, 0)\n\n const nextElement = cards[nextIndex]\n nextElement?.focus()\n event.preventDefault()\n }\n }\n\n // Collapsed column view\n if (isCollapsed) {\n return (\n <div\n data-collapsed\n className={cn(kanbanColumnVariants({ isCollapsed: true, isOver: false }), className)}\n data-slot=\"kanban-column\"\n >\n <Button\n aria-expanded={false}\n aria-label={`Expand ${column.title}`}\n className=\"h-full w-full flex flex-col items-center justify-start pt-3 gap-2\"\n variant=\"ghost\"\n onClick={onToggleCollapse}\n >\n <ChevronRight className=\"h-4 w-4\" />\n <span\n className=\"text-sm font-semibold writing-mode-vertical\"\n style={{ writingMode: \"vertical-rl\" }}\n >\n {column.title}\n </span>\n {showColumnCount ? (\n <Badge className=\"mt-2\" color=\"muted\" type=\"pill-color\">\n {items.length}\n </Badge>\n ) : null}\n </Button>\n </div>\n )\n }\n\n return (\n <Droppable data={{ type: \"column\", column }} id={column.id}>\n {({ isOver: droppableIsOver }) => (\n <div\n className={cn(\n kanbanColumnVariants({ isCollapsed: false, isOver: isOver || droppableIsOver }),\n className\n )}\n aria-label={`${column.title} column`}\n data-slot=\"kanban-column\"\n role=\"list\"\n onKeyDown={handleKeyDown}\n >\n {/* Column Header */}\n <div\n className={kanbanColumnHeaderVariants({ wipStatus })}\n data-slot=\"kanban-column-header\"\n >\n <div className=\"flex items-center gap-2\">\n {column.color ? (\n <div\n className=\"h-3 w-3 rounded-full\"\n style={{ backgroundColor: column.color }}\n />\n ) : null}\n <span className=\"text-sm font-semibold\">{column.title}</span>\n {showColumnCount ? (\n <Badge color=\"muted\" data-slot=\"column-count\" type=\"pill-color\">\n {items.length}\n </Badge>\n ) : null}\n {showWipLimits && column.wipLimit ? (\n <span\n className=\"text-xs\"\n data-slot=\"wip-indicator\"\n title={`WIP Limit: ${String(column.wipLimit)}`}\n >\n /{column.wipLimit}\n </span>\n ) : null}\n </div>\n {onToggleCollapse ? (\n <Button\n aria-expanded={true}\n aria-label={`Collapse ${column.title}`}\n className=\"h-6 w-6 p-0\"\n size=\"sm\"\n variant=\"ghost\"\n onClick={onToggleCollapse}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </Button>\n ) : null}\n </div>\n\n {/* Cards */}\n <SortableContext\n items={items.map((i) => i.id)}\n strategy={verticalListSortingStrategy}\n >\n <div\n aria-labelledby={columnId}\n className={kanbanColumnContentVariants()}\n data-slot=\"kanban-column-content\"\n >\n {items.map((item) => (\n <SortableItem\n key={item.id}\n data={{ type: \"item\", item, columnId: column.id }}\n id={item.id}\n >\n {({ isDragging }) => (\n <div className=\"relative\">\n <DragHandle\n aria-label={`Drag ${item.title}`}\n className=\"absolute left-1 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 transition-opacity cursor-grab active:cursor-grabbing h-6 w-6 flex items-center justify-center\"\n >\n <GripVertical className=\"h-4 w-4 text-muted-foreground\" />\n </DragHandle>\n <KanbanCard\n isDragging={isDragging}\n item={item}\n onClick={onItemClick}\n onDelete={onItemDelete}\n />\n </div>\n )}\n </SortableItem>\n ))}\n\n {/* Add card button */}\n {allowAddItem ? (\n <button\n aria-label={`Add item to ${column.title}`}\n className={kanbanAddButtonVariants()}\n type=\"button\"\n onClick={handleAddItem}\n >\n <Plus className=\"h-4 w-4\" />\n Add card\n </button>\n ) : null}\n </div>\n </SortableContext>\n </div>\n )}\n </Droppable>\n )\n}\n\n// ============================================\n// KANBAN BOARD\n// ============================================\n\n/**\n * KanbanBoard component for visual task management.\n *\n * Organizes items into columns representing workflow stages with drag-and-drop\n * support for moving items between columns.\n *\n * @example\n * ```tsx\n * const columns = [\n * { id: 'todo', title: 'To Do' },\n * { id: 'doing', title: 'In Progress', wipLimit: 3 },\n * { id: 'done', title: 'Done' },\n * ]\n *\n * const items = [\n * { id: '1', title: 'Task 1', columnId: 'todo', order: 0 },\n * { id: '2', title: 'Task 2', columnId: 'doing', order: 0 },\n * ]\n *\n * <KanbanBoard\n * columns={columns}\n * items={items}\n * onItemMove={({ itemId, fromColumn, toColumn }) => {\n * console.log(`Moved ${itemId} from ${fromColumn} to ${toColumn}`)\n * }}\n * />\n * ```\n */\nfunction KanbanBoard({\n allowAddColumn = false,\n allowAddItem = true,\n allowColumnReorder = false,\n className,\n columns,\n columnWidth = 288,\n filterBy,\n groupBy,\n items,\n onColumnAdd,\n onColumnDelete: _onColumnDelete,\n onColumnReorder: _onColumnReorder,\n onColumnUpdate: _onColumnUpdate,\n onItemAdd,\n onItemClick,\n onItemDelete,\n onItemMove,\n onItemUpdate: _onItemUpdate,\n searchable = false,\n showColumnCount = true,\n showWipLimits = true,\n variant = \"default\",\n layout = \"horizontal\",\n ...props\n}: KanbanBoardProps) {\n const _boardId = useId()\n const [searchQuery, setSearchQuery] = useState(\"\")\n const [activeId, setActiveId] = useState<null | UniqueIdentifier>(null)\n const [collapsedColumns, setCollapsedColumns] = useState<Set<string>>(() => new Set())\n\n // Filter items based on search and filters\n const filteredItems = useMemo(() => {\n let result = [...items]\n\n // Apply search filter\n if (searchQuery) {\n const query = searchQuery.toLowerCase()\n result = result.filter(\n (item) =>\n item.title.toLowerCase().includes(query) ||\n item.description?.toLowerCase().includes(query)\n )\n }\n\n // Apply filter config\n if (filterBy) {\n if (filterBy.priority?.length) {\n result = result.filter((item) =>\n item.priority && filterBy.priority?.includes(item.priority)\n )\n }\n if (filterBy.assignees?.length) {\n result = result.filter((item) =>\n item.assignees?.some((a) => filterBy.assignees?.includes(a.id))\n )\n }\n if (filterBy.labels?.length) {\n result = result.filter((item) =>\n item.labels?.some((l) => filterBy.labels?.includes(l.id))\n )\n }\n if (filterBy.dueDate) {\n result = result.filter((item) => {\n if (!item.dueDate) return false\n const date = new Date(item.dueDate)\n if (filterBy.dueDate?.from && date < filterBy.dueDate.from) return false\n if (filterBy.dueDate?.to && date > filterBy.dueDate.to) return false\n return true\n })\n }\n }\n\n return result\n }, [items, searchQuery, filterBy])\n\n // Get items for a specific column\n const getColumnItems = (columnId: string) => {\n return filteredItems\n .filter((item) => item.columnId === columnId)\n .sort((a, b) => a.order - b.order)\n }\n\n // Get the active item being dragged\n const activeItem = useMemo(() => {\n if (!activeId) return null\n return items.find((item) => item.id === activeId) ?? null\n }, [activeId, items])\n\n // Toggle column collapse\n const handleToggleCollapse = (columnId: string) => {\n setCollapsedColumns((prev) => {\n const next = new Set(prev)\n if (next.has(columnId)) {\n next.delete(columnId)\n } else {\n next.add(columnId)\n }\n return next\n })\n }\n\n // Drag handlers\n const handleDragStart = (event: DragStartEvent) => {\n setActiveId(event.active.id)\n }\n\n const handleDragOver = (_event: DragOverEvent) => {\n // Could implement preview of drop here\n }\n\n const handleDragEnd = (event: DragEndEvent) => {\n const { active, over } = event\n setActiveId(null)\n\n if (!over) return\n\n const activeData = active.data.current as undefined | { columnId?: string; item?: KanbanItem; type?: string }\n const overData = over.data.current as undefined | { column?: KanbanColumn; columnId?: string; item?: KanbanItem; type?: string }\n\n if (activeData?.type !== \"item\") return\n\n const activeItem = activeData.item\n if (!activeItem) return\n\n let toColumn: string\n let index = 0\n\n if (overData?.type === \"column\") {\n // Dropped on column\n toColumn = overData.column?.id ?? \"\"\n index = getColumnItems(toColumn).length\n } else if (overData?.type === \"item\") {\n // Dropped on item\n toColumn = overData.item?.columnId ?? \"\"\n const targetItems = getColumnItems(toColumn)\n const overItem = overData.item\n index = overItem ? targetItems.findIndex((i) => i.id === overItem.id) : 0\n } else {\n return\n }\n\n if (activeItem.columnId !== toColumn || active.id !== over.id) {\n onItemMove?.({\n fromColumn: activeItem.columnId,\n index,\n itemId: activeItem.id,\n toColumn,\n })\n }\n }\n\n const handleDragCancel = () => {\n setActiveId(null)\n }\n\n // Prepare columns with collapse state\n const columnsWithState = columns.map((col) => ({\n ...col,\n isCollapsed: collapsedColumns.has(col.id) || col.isCollapsed,\n }))\n\n // Group items by swimlane if groupBy is specified\n const swimlanes = useMemo(() => {\n if (!groupBy || variant !== \"swimlanes\") return null\n\n const groups = new Map<string, KanbanItem[]>()\n for (const item of filteredItems) {\n const key = (item.customFields?.[groupBy] as string | undefined) ?? \"Ungrouped\"\n const group = groups.get(key) ?? []\n group.push(item)\n groups.set(key, group)\n }\n return groups\n }, [filteredItems, groupBy, variant])\n\n // Column width style\n const widthValue = typeof columnWidth === \"number\" ? `${String(columnWidth)}px` : columnWidth\n const columnStyle = {\n minWidth: widthValue,\n width: widthValue,\n }\n\n return (\n <div\n aria-label=\"Kanban board\"\n className=\"flex flex-col gap-4\"\n data-slot=\"kanban-board-wrapper\"\n role=\"region\"\n {...props}\n >\n {/* Search bar */}\n {searchable ? (\n <div className={kanbanSearchVariants()} data-slot=\"kanban-search\">\n <Search className=\"h-4 w-4 text-muted-foreground\" />\n <input\n aria-label=\"Search items\"\n className=\"flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground\"\n placeholder=\"Search items...\"\n type=\"text\"\n value={searchQuery}\n onChange={(e) => { setSearchQuery(e.target.value); }}\n />\n </div>\n ) : null}\n\n {/* Board */}\n <DndContext\n className={cn(kanbanBoardVariants({ layout, variant }), className)}\n onDragCancel={handleDragCancel}\n onDragEnd={handleDragEnd}\n onDragOver={handleDragOver}\n onDragStart={handleDragStart}\n >\n {variant === \"swimlanes\" && swimlanes ? (\n // Swimlanes layout\n <div className=\"flex flex-col gap-6\" data-slot=\"kanban-swimlanes\">\n {[...swimlanes.entries()].map(([lane, _laneItems]) => (\n <div key={lane} className=\"flex flex-col gap-2\">\n <div className=\"text-sm font-semibold text-muted-foreground\">\n {lane}\n </div>\n <div className=\"flex gap-4 overflow-x-auto\">\n <SortableContext\n disabled={!allowColumnReorder}\n items={columnsWithState.map((c) => c.id)}\n strategy={horizontalListSortingStrategy}\n >\n {columnsWithState.map((column) => (\n <div key={column.id} style={columnStyle}>\n <KanbanColumn\n items={getColumnItems(column.id).filter(\n (item) => ((item.customFields?.[groupBy ?? \"\"] as string | undefined) ?? \"Ungrouped\") === lane\n )}\n allowAddItem={allowAddItem}\n column={column}\n showColumnCount={showColumnCount}\n showWipLimits={showWipLimits}\n onItemAdd={onItemAdd}\n onItemClick={onItemClick}\n onItemDelete={onItemDelete}\n onToggleCollapse={() => { handleToggleCollapse(column.id); }}\n />\n </div>\n ))}\n </SortableContext>\n </div>\n </div>\n ))}\n </div>\n ) : (\n // Standard layout\n <SortableContext\n disabled={!allowColumnReorder}\n items={columnsWithState.map((c) => c.id)}\n strategy={horizontalListSortingStrategy}\n >\n {columnsWithState.map((column) => (\n <div key={column.id} style={column.isCollapsed ? undefined : columnStyle}>\n <KanbanColumn\n allowAddItem={allowAddItem}\n column={column}\n items={getColumnItems(column.id)}\n showColumnCount={showColumnCount}\n showWipLimits={showWipLimits}\n onItemAdd={onItemAdd}\n onItemClick={onItemClick}\n onItemDelete={onItemDelete}\n onToggleCollapse={() => { handleToggleCollapse(column.id); }}\n />\n </div>\n ))}\n\n {/* Add column button */}\n {allowAddColumn ? (\n <button\n className={cn(\n kanbanAddButtonVariants(),\n \"min-w-52 h-52 flex-col\"\n )}\n aria-label=\"Add column\"\n type=\"button\"\n onClick={onColumnAdd}\n >\n <Plus className=\"h-6 w-6\" />\n Add column\n </button>\n ) : null}\n </SortableContext>\n )}\n\n {/* Drag overlay */}\n <DragOverlay>\n {activeItem ? (\n <div\n className=\"opacity-90 rotate-3\"\n style={columnStyle}\n >\n <KanbanCard isDragging item={activeItem} />\n </div>\n ) : null}\n </DragOverlay>\n </DndContext>\n </div>\n )\n}\n\n// ============================================\n// EXPORTS\n// ============================================\n\nexport {\n KanbanBoard,\n kanbanBoardVariants,\n KanbanCard,\n kanbanCardVariants,\n kanbanColumnVariants,\n}\n\nexport type {\n ItemAddPayload,\n ItemClickPayload,\n ItemDeletePayload,\n ItemMovePayload,\n KanbanBoardProps,\n KanbanCardProps,\n KanbanColumn,\n KanbanColumnProps,\n KanbanFilterConfig,\n KanbanItem,\n KanbanLabel,\n KanbanSubtasks,\n KanbanUser,\n} from \"./KanbanBoard.types\"\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Dialog, DialogHeader, DialogTitle, DialogDescription, DialogContent } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { Dialog, DialogHeader, DialogTitle, DialogDescription, DialogContent } from './chunk-TIPKU427.js';
|
|
2
|
+
import { cn } from './chunk-RVAYDRMA.js';
|
|
3
3
|
import { Command as Command$1 } from 'cmdk';
|
|
4
4
|
import { SearchIcon, XIcon } from 'lucide-react';
|
|
5
5
|
import * as React from 'react';
|
|
@@ -462,5 +462,5 @@ function CommandShortcut({
|
|
|
462
462
|
}
|
|
463
463
|
|
|
464
464
|
export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, commandEmptyVariants, commandGroupVariants, commandInputClearVariants, commandInputIconVariants, commandInputVariants, commandInputWrapperVariants, commandItemVariants, commandListVariants, commandSeparatorVariants, commandShortcutVariants, commandVariants };
|
|
465
|
-
//# sourceMappingURL=chunk-
|
|
466
|
-
//# sourceMappingURL=chunk-
|
|
465
|
+
//# sourceMappingURL=chunk-KDNTSZF5.js.map
|
|
466
|
+
//# sourceMappingURL=chunk-KDNTSZF5.js.map
|