@etus/ui 0.4.0-beta.17 → 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-ZP4HYVDG.js → chunk-3R6MY3YJ.js} +4 -4
- package/dist/{chunk-ZP4HYVDG.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-N4UTBJRY.js → chunk-4SFBDK4E.js} +4 -4
- package/dist/{chunk-N4UTBJRY.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-XYYOV5GW.js → chunk-5YUUE5JJ.js} +5 -5
- package/dist/{chunk-XYYOV5GW.js.map → chunk-5YUUE5JJ.js.map} +1 -1
- package/dist/{chunk-D6TH3EGA.js → chunk-627ZZ6HO.js} +6 -6
- package/dist/{chunk-D6TH3EGA.js.map → chunk-627ZZ6HO.js.map} +1 -1
- package/dist/{chunk-OXDWUKGP.js → chunk-6G5QK3SU.js} +5 -5
- package/dist/chunk-6G5QK3SU.js.map +1 -0
- package/dist/{chunk-U74PNG4S.js → chunk-6QVXMYKH.js} +4 -4
- package/dist/{chunk-U74PNG4S.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-EYSTEGV5.js → chunk-7QEFKWUR.js} +10 -10
- package/dist/{chunk-EYSTEGV5.js.map → chunk-7QEFKWUR.js.map} +1 -1
- package/dist/{chunk-Z4KW5VW6.js → chunk-7TX5X4EP.js} +6 -6
- package/dist/{chunk-Z4KW5VW6.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-2ROFZG3A.js → chunk-7Y325TBV.js} +4 -4
- package/dist/{chunk-2ROFZG3A.js.map → chunk-7Y325TBV.js.map} +1 -1
- package/dist/{chunk-4RSHPKHB.js → chunk-7YZ7HNXX.js} +4 -4
- package/dist/{chunk-4RSHPKHB.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-CKD4UBV6.js → chunk-AJUOTABG.js} +4 -4
- package/dist/{chunk-CKD4UBV6.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-U6EOAIPK.js → chunk-ARJAIH7Q.js} +4 -4
- package/dist/chunk-ARJAIH7Q.js.map +1 -0
- 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-WKWLKGNI.js → chunk-BUCXPZYE.js} +6 -6
- package/dist/chunk-BUCXPZYE.js.map +1 -0
- 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-U2R47SPY.js → chunk-DJHDCDU6.js} +4 -4
- package/dist/{chunk-U2R47SPY.js.map → chunk-DJHDCDU6.js.map} +1 -1
- package/dist/{chunk-5GE3BQA7.js → chunk-DQGBTZRX.js} +7 -7
- package/dist/chunk-DQGBTZRX.js.map +1 -0
- 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-NCT5WXKG.js → chunk-EDSIOUUR.js} +4 -4
- package/dist/{chunk-NCT5WXKG.js.map → chunk-EDSIOUUR.js.map} +1 -1
- package/dist/{chunk-TAZPML2P.js → chunk-ELRIFGMN.js} +4 -4
- package/dist/{chunk-TAZPML2P.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-VBJ26PZJ.js → chunk-EZYXD2YI.js} +4 -4
- package/dist/{chunk-VBJ26PZJ.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-VAVE4ZJF.js → chunk-FVRSXJKS.js} +4 -4
- package/dist/chunk-FVRSXJKS.js.map +1 -0
- package/dist/{chunk-X3AXEE3S.js → chunk-FXFVFSG5.js} +5 -5
- package/dist/{chunk-X3AXEE3S.js.map → chunk-FXFVFSG5.js.map} +1 -1
- package/dist/{chunk-IFHF4UES.js → chunk-GDZECJFS.js} +12 -12
- package/dist/chunk-GDZECJFS.js.map +1 -0
- package/dist/{chunk-7J5OM4ZD.js → chunk-GLHKHYJY.js} +8 -8
- package/dist/{chunk-7J5OM4ZD.js.map → chunk-GLHKHYJY.js.map} +1 -1
- package/dist/{chunk-4KOJTZVU.js → chunk-GRODCJS4.js} +29 -29
- package/dist/chunk-GRODCJS4.js.map +1 -0
- package/dist/{chunk-TNDW52VZ.js → chunk-GVNG5ME6.js} +36 -18
- 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-W7S7GPU5.js → chunk-HHWUROMA.js} +6 -6
- package/dist/{chunk-W7S7GPU5.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-4GVOOXYD.js → chunk-HNQX6ZG7.js} +7 -7
- package/dist/chunk-HNQX6ZG7.js.map +1 -0
- 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-P27ERD6W.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-XOGMDABS.js → chunk-JDETM3FL.js} +9 -9
- package/dist/chunk-JDETM3FL.js.map +1 -0
- package/dist/{chunk-R3HUGCGR.js → chunk-JE46MFMN.js} +6 -6
- package/dist/{chunk-R3HUGCGR.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-7Y2UQMX6.js → chunk-JYYB6F5O.js} +37 -37
- package/dist/chunk-JYYB6F5O.js.map +1 -0
- 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-PWCMCMDN.js → chunk-K4UCALQQ.js} +4 -4
- package/dist/{chunk-PWCMCMDN.js.map → chunk-K4UCALQQ.js.map} +1 -1
- package/dist/{chunk-OBRJXVWO.js → chunk-KBU4KJKC.js} +7 -7
- package/dist/{chunk-OBRJXVWO.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-3NSIUZGP.js → chunk-KHCHATTD.js} +5 -5
- package/dist/{chunk-3NSIUZGP.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-TQBUBD3E.js → chunk-KLFYTLF3.js} +4 -4
- package/dist/{chunk-TQBUBD3E.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-7TF5PVEU.js → chunk-L4OQ6BJ5.js} +7 -7
- package/dist/chunk-L4OQ6BJ5.js.map +1 -0
- package/dist/{chunk-3L5G7VI2.js → chunk-LCBB3N5H.js} +4 -4
- package/dist/chunk-LCBB3N5H.js.map +1 -0
- package/dist/{chunk-BS5XDYOE.js → chunk-LDK6ADKM.js} +6 -6
- package/dist/{chunk-BS5XDYOE.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-G7PBPX3K.js → chunk-LRE3LJMW.js} +5 -5
- package/dist/{chunk-G7PBPX3K.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-H5N3VPBG.js → chunk-MGIGDALC.js} +4 -4
- package/dist/{chunk-H5N3VPBG.js.map → chunk-MGIGDALC.js.map} +1 -1
- package/dist/{chunk-WXBC3D2N.js → chunk-MNYU5MHO.js} +7 -7
- package/dist/{chunk-WXBC3D2N.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-3KOLK3OB.js → chunk-N5YGAESZ.js} +5 -5
- package/dist/{chunk-3KOLK3OB.js.map → chunk-N5YGAESZ.js.map} +1 -1
- package/dist/{chunk-W3JVNX35.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-GGUWEAYD.js → chunk-NLPVF34P.js} +4 -4
- package/dist/{chunk-GGUWEAYD.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-Y4RKKQMB.js → chunk-ONN5XVYC.js} +4 -4
- package/dist/chunk-ONN5XVYC.js.map +1 -0
- package/dist/{chunk-GL56KIFL.js → chunk-OWZ3MZ5C.js} +4 -4
- package/dist/{chunk-GL56KIFL.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-T6XRYT6Q.js → chunk-P4WMDGAQ.js} +4 -4
- package/dist/{chunk-T6XRYT6Q.js.map → chunk-P4WMDGAQ.js.map} +1 -1
- package/dist/{chunk-NXQ25PKF.js → chunk-PBZI5XNV.js} +8 -8
- package/dist/chunk-PBZI5XNV.js.map +1 -0
- 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-P7D6S6GX.js → chunk-PTXC4KPQ.js} +39 -5
- package/dist/chunk-PTXC4KPQ.js.map +1 -0
- package/dist/{chunk-UYC7M3FM.js → chunk-PVIIIQJI.js} +6 -6
- package/dist/{chunk-UYC7M3FM.js.map → chunk-PVIIIQJI.js.map} +1 -1
- package/dist/{chunk-E2TI5V67.js → chunk-PXR6CZIL.js} +4 -4
- package/dist/{chunk-E2TI5V67.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-3NLWCX2F.js → chunk-QJOWG2D4.js} +5 -5
- package/dist/{chunk-3NLWCX2F.js.map → chunk-QJOWG2D4.js.map} +1 -1
- package/dist/{chunk-Q43KJP5A.js → chunk-QLYH3GCV.js} +8 -8
- package/dist/{chunk-Q43KJP5A.js.map → chunk-QLYH3GCV.js.map} +1 -1
- package/dist/{chunk-IRIIK3BU.js → chunk-QO6TOE45.js} +11 -11
- package/dist/chunk-QO6TOE45.js.map +1 -0
- package/dist/{chunk-66TBTTZO.js → chunk-QWWA4FZP.js} +15 -15
- package/dist/chunk-QWWA4FZP.js.map +1 -0
- package/dist/{chunk-2YSZPUQZ.js → chunk-QXET2TML.js} +4 -4
- package/dist/{chunk-2YSZPUQZ.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-SUU3HNOX.js → chunk-R42LSLJL.js} +6 -6
- package/dist/{chunk-SUU3HNOX.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-XLTSCY22.js → chunk-ROPW65RD.js} +5 -5
- package/dist/chunk-ROPW65RD.js.map +1 -0
- package/dist/{chunk-6ZAMTPGN.js → chunk-RQBYBBMP.js} +4 -4
- package/dist/{chunk-6ZAMTPGN.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-UPK5B2FL.js → chunk-S6BREP2G.js} +7 -7
- package/dist/chunk-S6BREP2G.js.map +1 -0
- 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-3W7FXRO5.js → chunk-SKI25Q7O.js} +6 -6
- package/dist/{chunk-3W7FXRO5.js.map → chunk-SKI25Q7O.js.map} +1 -1
- package/dist/{chunk-LLI3JFJL.js → chunk-SSKSWSVO.js} +5 -5
- package/dist/{chunk-LLI3JFJL.js.map → chunk-SSKSWSVO.js.map} +1 -1
- package/dist/{chunk-VLDAHAG6.js → chunk-STADVFL2.js} +5 -5
- package/dist/{chunk-VLDAHAG6.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-DYDXGWH2.js → chunk-T3LWBCVR.js} +4 -4
- package/dist/chunk-T3LWBCVR.js.map +1 -0
- 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-YUHPTV2A.js → chunk-TNSMTINE.js} +4 -4
- package/dist/{chunk-YUHPTV2A.js.map → chunk-TNSMTINE.js.map} +1 -1
- package/dist/{chunk-VT4IMHGE.js → chunk-TRTVYFOF.js} +5 -5
- package/dist/chunk-TRTVYFOF.js.map +1 -0
- package/dist/{chunk-46ESMCEQ.js → chunk-TSE3PKWQ.js} +6 -6
- package/dist/chunk-TSE3PKWQ.js.map +1 -0
- 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-5I7AXWJU.js → chunk-UC5J6GWG.js} +5 -5
- package/dist/{chunk-5I7AXWJU.js.map → chunk-UC5J6GWG.js.map} +1 -1
- package/dist/{chunk-ZKK7L7H7.js → chunk-UNHPLKMR.js} +3 -3
- package/dist/{chunk-ZKK7L7H7.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-SXPBKGLT.js → chunk-UZZCEQH4.js} +4 -4
- package/dist/{chunk-SXPBKGLT.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-VZZ3HP7G.js → chunk-VHJ6ALIE.js} +4 -4
- package/dist/{chunk-VZZ3HP7G.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-OEXQ2MOY.js → chunk-WGKOYZRI.js} +4 -4
- package/dist/{chunk-OEXQ2MOY.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-JPA2VQRW.js → chunk-WSDWJX4Y.js} +4 -4
- package/dist/{chunk-JPA2VQRW.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-K45MMHLA.js → chunk-WWK7UIKK.js} +5 -5
- package/dist/{chunk-K45MMHLA.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-7EGN7IGY.js → chunk-YMCKML6D.js} +7 -7
- package/dist/{chunk-7EGN7IGY.js.map → chunk-YMCKML6D.js.map} +1 -1
- package/dist/{chunk-7HT32DZG.js → chunk-YMQDTTO7.js} +6 -6
- package/dist/{chunk-7HT32DZG.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-4Y72SPNL.js → chunk-ZVSMLMMS.js} +5 -5
- package/dist/chunk-ZVSMLMMS.js.map +1 -0
- 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 +10 -10
- package/dist/components/advanced/MarkdownEditor/index.js +6 -6
- package/dist/components/advanced/ReportBuilder/index.js +8 -8
- 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 +31 -31
- 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 +10 -10
- package/dist/components/data-display/DataTable/index.js +17 -17
- 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 +57 -57
- 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 +4 -4
- 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 +10 -10
- 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 +3 -3
- package/dist/components/forms/PasswordInput/index.js +4 -4
- 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 +4 -4
- 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 +3 -3
- 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 +4 -4
- package/dist/components/forms/index.js +51 -51
- package/dist/components/index.js +186 -186
- 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 +12 -12
- 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 +33 -33
- 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 +10 -10
- 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 +27 -27
- package/dist/index.d.ts +62 -14
- package/dist/index.js +186 -186
- package/dist/lib/utils.d.ts +2 -1
- package/dist/lib/utils.js +1 -1
- package/dist/styles.css +27 -703
- package/package.json +2 -2
- package/dist/chunk-3L5G7VI2.js.map +0 -1
- package/dist/chunk-46ESMCEQ.js.map +0 -1
- package/dist/chunk-4GVOOXYD.js.map +0 -1
- package/dist/chunk-4KOJTZVU.js.map +0 -1
- package/dist/chunk-4Y72SPNL.js.map +0 -1
- package/dist/chunk-5GE3BQA7.js.map +0 -1
- package/dist/chunk-66TBTTZO.js.map +0 -1
- package/dist/chunk-7TF5PVEU.js.map +0 -1
- package/dist/chunk-7Y2UQMX6.js.map +0 -1
- package/dist/chunk-DYDXGWH2.js.map +0 -1
- package/dist/chunk-HRNDJU7D.js +0 -11
- package/dist/chunk-HRNDJU7D.js.map +0 -1
- package/dist/chunk-IFHF4UES.js.map +0 -1
- package/dist/chunk-IRIIK3BU.js.map +0 -1
- package/dist/chunk-IZC5YFGO.js.map +0 -1
- package/dist/chunk-NXQ25PKF.js.map +0 -1
- package/dist/chunk-OXDWUKGP.js.map +0 -1
- package/dist/chunk-P27ERD6W.js.map +0 -1
- package/dist/chunk-P7D6S6GX.js.map +0 -1
- package/dist/chunk-TNDW52VZ.js.map +0 -1
- package/dist/chunk-U6EOAIPK.js.map +0 -1
- package/dist/chunk-UPK5B2FL.js.map +0 -1
- package/dist/chunk-VAVE4ZJF.js.map +0 -1
- package/dist/chunk-VT4IMHGE.js.map +0 -1
- package/dist/chunk-W3JVNX35.js.map +0 -1
- package/dist/chunk-WKWLKGNI.js.map +0 -1
- package/dist/chunk-XLTSCY22.js.map +0 -1
- package/dist/chunk-XOGMDABS.js.map +0 -1
- package/dist/chunk-Y4RKKQMB.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/advanced/FilterBuilder/FilterBuilder.types.ts","../src/components/advanced/FilterBuilder/FilterBuilder.variants.ts","../src/components/advanced/FilterBuilder/FilterBuilder.tsx"],"names":["rulesCount"],"mappings":"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","file":"chunk-W7S7GPU5.js","sourcesContent":["// FilterBuilder/FilterBuilder.types.ts\n\nimport type { filterBuilderVariants } from \"./FilterBuilder.variants\"\nimport type { VariantProps } from \"class-variance-authority\"\n\n// ============================================\n// OPERATOR TYPES\n// ============================================\n\n/**\n * Available operator types for filter rules\n */\nexport type OperatorType =\n | \"between\"\n | \"contains\"\n | \"ends_with\"\n | \"equals\"\n | \"greater_than\"\n | \"greater_than_or_equal\"\n | \"in\"\n | \"is_empty\"\n | \"is_not_empty\"\n | \"less_than\"\n | \"less_than_or_equal\"\n | \"not_equals\"\n | \"not_in\"\n | \"starts_with\"\n\n/**\n * Field types that determine available operators\n */\nexport type FieldType = \"boolean\" | \"date\" | \"number\" | \"select\" | \"string\"\n\n// ============================================\n// DATA STRUCTURES\n// ============================================\n\n/**\n * Option for select-type fields\n */\nexport interface FieldOption {\n /** Display label */\n label: string\n /** Option value */\n value: string\n}\n\n/**\n * Field definition for available filter fields\n */\nexport interface FieldDefinition {\n /** Display label */\n label: string\n /** Unique field identifier */\n name: string\n /** Override default operators for this field */\n operators?: OperatorType[]\n /** Options for select-type fields */\n options?: FieldOption[]\n /** Field data type */\n type: FieldType\n}\n\n/**\n * Individual filter rule\n */\nexport interface FilterRule {\n /** Field name to filter */\n field: string\n /** Unique rule identifier */\n id: string\n /** Operator to apply */\n operator: \"\" | OperatorType\n /** Filter value(s) */\n value: unknown\n}\n\n/**\n * Group of rules with logical combinator\n */\nexport interface FilterGroup {\n /** Logical combinator (and/or) */\n combinator: \"and\" | \"or\"\n /** Unique group identifier */\n id: string\n /** Rules and/or nested groups */\n rules: (FilterGroup | FilterRule)[]\n}\n\n// ============================================\n// EVENT PAYLOADS\n// ============================================\n\n/**\n * Event payload for filter changes\n */\nexport interface FilterBuilderEventPayload {\n /** The updated filter structure */\n filter: FilterGroup\n /** Timestamp of the event */\n timestamp: number\n}\n\n/**\n * Event payload for rule changes\n */\nexport interface FilterRuleEventPayload {\n /** Path to the rule in the filter structure */\n path: string[]\n /** The rule that changed */\n rule: FilterRule\n /** Timestamp of the event */\n timestamp: number\n}\n\n// ============================================\n// COMPONENT PROPS\n// ============================================\n\n/**\n * Props for the FilterBuilder root component\n */\nexport interface FilterBuilderProps\n extends Omit<React.ComponentProps<\"div\">, \"onChange\">,\n VariantProps<typeof filterBuilderVariants> {\n /** Additional CSS classes */\n className?: string\n /** Available fields for filtering */\n fields: FieldDefinition[]\n /** Maximum nesting depth for groups */\n maxDepth?: number\n /** Maximum number of rules allowed */\n maxRules?: number\n /** Callback when filters are applied */\n onApply?: (filter: FilterGroup) => void\n /** Callback when filter changes */\n onChange?: (filter: FilterGroup) => void\n /** Callback when filters are cleared */\n onClear?: () => void\n /** Show preview of the resulting query */\n showPreview?: boolean\n /** Current filter value (controlled) */\n value?: FilterGroup\n}\n\n/**\n * Props for FilterGroup component\n */\nexport interface FilterGroupProps {\n /** Current nesting depth */\n depth: number\n /** Available fields */\n fields: FieldDefinition[]\n /** The group data */\n group: FilterGroup\n /** Whether this is the root group */\n isRoot?: boolean\n /** Maximum nesting depth */\n maxDepth: number\n /** Maximum number of rules */\n maxRules: number\n /** Callback when group changes */\n onChange: (group: FilterGroup) => void\n /** Callback when group is removed */\n onRemove?: () => void\n /** Current total rules count */\n rulesCount: number\n}\n\n/**\n * Props for FilterRule component\n */\nexport interface FilterRuleProps {\n /** Available fields */\n fields: FieldDefinition[]\n /** Callback when rule changes */\n onChange: (rule: FilterRule) => void\n /** Callback when rule is removed */\n onRemove: () => void\n /** The rule data */\n rule: FilterRule\n}\n\n/**\n * Props for FilterToolbar component\n */\nexport interface FilterToolbarProps {\n /** Whether adding groups is disabled (max depth reached) */\n canAddGroup: boolean\n /** Whether adding rules is disabled (max reached) */\n canAddRule: boolean\n /** Whether there are rules to clear */\n hasRules: boolean\n /** Callback to add a new group */\n onAddGroup: () => void\n /** Callback to add a new rule */\n onAddRule: () => void\n /** Callback to apply filters */\n onApply?: () => void\n /** Callback to clear all rules */\n onClear?: () => void\n}\n\n/**\n * Props for FilterPreview component\n */\nexport interface FilterPreviewProps {\n /** Available fields (for label lookup) */\n fields: FieldDefinition[]\n /** The filter to preview */\n filter: FilterGroup\n}\n\n// ============================================\n// UTILITY TYPES\n// ============================================\n\n/**\n * Default operators by field type\n */\nexport type OperatorsByType = Record<FieldType, OperatorType[]>\n\n/**\n * Operator display info\n */\nexport interface OperatorInfo {\n /** Display label */\n label: string\n /** Operator value */\n value: OperatorType\n}\n\n/**\n * Check if an item is a FilterGroup\n */\nexport function isFilterGroup(\n item: FilterGroup | FilterRule\n): item is FilterGroup {\n return \"combinator\" in item && \"rules\" in item\n}\n\n/**\n * Check if an item is a FilterRule\n */\nexport function isFilterRule(\n item: FilterGroup | FilterRule\n): item is FilterRule {\n return \"field\" in item && \"operator\" in item\n}\n","// FilterBuilder/FilterBuilder.variants.ts\n\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\n// Common style constants\nconst ROUNDED_MD = \"rounded-md\"\n\n/**\n * FilterBuilder root container variants\n */\nexport const filterBuilderVariants = cva(\n [\n \"w-full\",\n \"rounded-lg\",\n \"border border-border\",\n \"bg-background\",\n ],\n {\n variants: {\n size: {\n sm: \"p-3 text-sm\",\n default: \"p-4 text-sm\",\n lg: \"p-6 text-base\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * FilterGroup container variants\n */\nexport const filterGroupVariants = cva(\n [\n \"relative\",\n ROUNDED_MD,\n \"border border-border\",\n \"bg-muted/30\",\n ],\n {\n variants: {\n size: {\n sm: \"p-2 gap-2\",\n default: \"p-4 gap-3\",\n lg: \"p-5 gap-4\",\n },\n isRoot: {\n true: \"border-0 bg-transparent p-0\",\n false: \"\",\n },\n },\n defaultVariants: {\n size: \"default\",\n isRoot: false,\n },\n }\n)\n\n/**\n * FilterGroup header (combinator toggle) variants\n */\nexport const filterGroupHeaderVariants = cva(\n [\n \"flex items-center\",\n \"font-medium\",\n ],\n {\n variants: {\n size: {\n sm: \"gap-1.5 text-xs mb-2\",\n default: \"gap-2 text-sm mb-3\",\n lg: \"gap-3 text-base mb-4\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Combinator toggle button variants\n */\nexport const combinatorToggleVariants = cva(\n [\n \"inline-flex items-center justify-center\",\n ROUNDED_MD,\n \"font-semibold uppercase tracking-wide\",\n \"transition-colors duration-200\",\n \"cursor-pointer\",\n \"select-none\",\n ],\n {\n variants: {\n size: {\n sm: \"px-2 py-0.5 text-xs min-w-9\",\n default: \"px-2.5 py-1 text-xs min-w-11\",\n lg: \"px-3 py-1.5 text-sm min-w-14\",\n },\n active: {\n true: \"bg-primary text-primary-foreground\",\n false: \"bg-muted text-muted-foreground hover:bg-muted/80\",\n },\n },\n defaultVariants: {\n size: \"default\",\n active: false,\n },\n }\n)\n\n/**\n * FilterRule container variants\n */\nexport const filterRuleVariants = cva(\n [\n \"flex items-start\",\n ROUNDED_MD,\n \"bg-background\",\n \"border border-border\",\n \"transition-all duration-200\",\n \"focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-1\",\n ],\n {\n variants: {\n size: {\n sm: \"p-2 gap-1.5\",\n default: \"p-3 gap-2\",\n lg: \"p-4 gap-3\",\n },\n invalid: {\n true: \"border-destructive\",\n false: \"\",\n },\n },\n defaultVariants: {\n size: \"default\",\n invalid: false,\n },\n }\n)\n\n/**\n * Rule field select variants\n */\nexport const ruleFieldVariants = cva(\n [\n \"flex-shrink-0\",\n ],\n {\n variants: {\n size: {\n sm: \"w-32\",\n default: \"w-40\",\n lg: \"w-52\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Rule operator select variants\n */\nexport const ruleOperatorVariants = cva(\n [\n \"flex-shrink-0\",\n ],\n {\n variants: {\n size: {\n sm: \"w-24\",\n default: \"w-36\",\n lg: \"w-44\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Rule value input variants\n */\nexport const ruleValueVariants = cva(\n [\n \"flex-1 min-w-0\",\n ],\n {\n variants: {\n size: {\n sm: \"\",\n default: \"\",\n lg: \"\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Rules container variants\n */\nexport const rulesContainerVariants = cva(\n [\n \"flex flex-col\",\n ],\n {\n variants: {\n size: {\n sm: \"gap-2\",\n default: \"gap-3\",\n lg: \"gap-4\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * FilterToolbar variants\n */\nexport const filterToolbarVariants = cva(\n [\n \"flex items-center justify-between\",\n \"pt-3 mt-3\",\n \"border-t border-border\",\n ],\n {\n variants: {\n size: {\n sm: \"gap-2\",\n default: \"gap-3\",\n lg: \"gap-4\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * FilterPreview variants\n */\nexport const filterPreviewVariants = cva(\n [\n ROUNDED_MD,\n \"bg-muted/50\",\n \"font-mono\",\n \"overflow-x-auto\",\n ],\n {\n variants: {\n size: {\n sm: \"p-2 text-xs mt-3\",\n default: \"p-3 text-xs mt-4\",\n lg: \"p-4 text-sm mt-5\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Empty state variants\n */\nexport const emptyStateVariants = cva(\n [\n \"flex flex-col items-center justify-center\",\n \"text-muted-foreground\",\n \"border border-dashed border-border\",\n ROUNDED_MD,\n ],\n {\n variants: {\n size: {\n sm: \"py-4 px-3 text-xs gap-1\",\n default: \"py-6 px-4 text-sm gap-2\",\n lg: \"py-8 px-6 text-base gap-3\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n// ============================================\n// VARIANT PROP TYPES\n// ============================================\n\nexport type FilterBuilderVariantProps = VariantProps<typeof filterBuilderVariants>\nexport type FilterGroupVariantProps = VariantProps<typeof filterGroupVariants>\nexport type FilterRuleVariantProps = VariantProps<typeof filterRuleVariants>\nexport type CombinatorToggleVariantProps = VariantProps<typeof combinatorToggleVariants>\n","// FilterBuilder/FilterBuilder.tsx\n\"use client\"\n\nimport type {\n FieldDefinition,\n FilterBuilderProps,\n FilterGroup,\n FilterGroupProps,\n FilterPreviewProps,\n FilterRule,\n FilterRuleProps,\n FilterToolbarProps,\n OperatorInfo,\n OperatorsByType,\n OperatorType,\n} from \"./FilterBuilder.types\"\n\nimport { PlusIcon, TrashIcon, XIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"../../forms/Select\"\nimport { TextInput } from \"../../forms/TextInput\"\nimport { Button } from \"../../primitives/Button\"\nimport { isFilterGroup } from \"./FilterBuilder.types\"\nimport {\n combinatorToggleVariants,\n emptyStateVariants,\n filterBuilderVariants,\n filterGroupHeaderVariants,\n filterGroupVariants,\n filterPreviewVariants,\n filterRuleVariants,\n filterToolbarVariants,\n ruleFieldVariants,\n ruleOperatorVariants,\n rulesContainerVariants,\n ruleValueVariants,\n} from \"./FilterBuilder.variants\"\n\n// ============================================\n// CONSTANTS\n// ============================================\n\n/**\n * Default operators available for each field type\n */\nconst DEFAULT_OPERATORS_BY_TYPE: OperatorsByType = {\n boolean: [\"equals\", \"not_equals\"],\n date: [\n \"equals\",\n \"not_equals\",\n \"greater_than\",\n \"less_than\",\n \"between\",\n ],\n number: [\n \"equals\",\n \"not_equals\",\n \"greater_than\",\n \"greater_than_or_equal\",\n \"less_than\",\n \"less_than_or_equal\",\n \"between\",\n ],\n select: [\"equals\", \"not_equals\", \"in\", \"not_in\"],\n string: [\n \"equals\",\n \"not_equals\",\n \"contains\",\n \"starts_with\",\n \"ends_with\",\n \"is_empty\",\n \"is_not_empty\",\n ],\n}\n\n/**\n * Operator display labels\n */\nconst OPERATOR_LABELS: Record<OperatorType, string> = {\n between: \"between\",\n contains: \"contains\",\n ends_with: \"ends with\",\n equals: \"equals\",\n greater_than: \"greater than\",\n greater_than_or_equal: \"greater than or equal\",\n in: \"is any of\",\n is_empty: \"is empty\",\n is_not_empty: \"is not empty\",\n less_than: \"less than\",\n less_than_or_equal: \"less than or equal\",\n not_equals: \"does not equal\",\n not_in: \"is none of\",\n starts_with: \"starts with\",\n}\n\n/**\n * Generate a unique ID for rules and groups\n */\nfunction generateId(): string {\n return Math.random().toString(36).slice(2, 11)\n}\n\n/**\n * Create an empty rule\n */\nfunction createEmptyRule(): FilterRule {\n return {\n field: \"\",\n id: generateId(),\n operator: \"\",\n value: \"\",\n }\n}\n\n/**\n * Create an empty group\n */\nfunction createEmptyGroup(): FilterGroup {\n return {\n combinator: \"and\",\n id: generateId(),\n rules: [],\n }\n}\n\n/**\n * Get operators for a field\n */\nfunction getOperatorsForField(\n field: FieldDefinition | undefined\n): OperatorInfo[] {\n if (!field) return []\n\n const operators = field.operators ?? DEFAULT_OPERATORS_BY_TYPE[field.type]\n return operators.map((op) => ({\n label: OPERATOR_LABELS[op],\n value: op,\n }))\n}\n\n/**\n * Count total rules in a filter group (including nested)\n */\nfunction countRules(group: FilterGroup): number {\n return group.rules.reduce((count, item) => {\n if (isFilterGroup(item)) {\n return count + countRules(item)\n }\n return count + 1\n }, 0)\n}\n\n/**\n * Get size for input components\n */\nfunction getInputSize(size: \"default\" | \"lg\" | \"sm\"): \"lg\" | \"md\" | \"sm\" {\n if (size === \"lg\") return \"lg\"\n if (size === \"sm\") return \"sm\"\n return \"md\"\n}\n\n// ============================================\n// CONTEXT\n// ============================================\n\ninterface FilterBuilderContextValue {\n fields: FieldDefinition[]\n size: \"default\" | \"lg\" | \"sm\"\n}\n\nconst FilterBuilderContext = React.createContext<FilterBuilderContextValue>({\n fields: [],\n size: \"default\",\n})\n\nfunction useFilterBuilderContext() {\n return React.use(FilterBuilderContext)\n}\n\n// ============================================\n// VALUE INPUT COMPONENT (extracted to reduce complexity)\n// ============================================\n\ninterface ValueInputProps {\n needsSecondValue: boolean\n onChange: (value: string) => void\n selectedField: FieldDefinition | undefined\n size: \"default\" | \"lg\" | \"sm\"\n value: unknown\n}\n\nfunction ValueInput({\n needsSecondValue,\n onChange,\n selectedField,\n size,\n value,\n}: ValueInputProps) {\n const inputSize = getInputSize(size)\n\n // Select field type\n if (selectedField?.type === \"select\" && selectedField.options) {\n return (\n <Select\n value={value as string}\n onValueChange={onChange}\n >\n <SelectTrigger\n aria-label=\"Select value\"\n size={inputSize}\n >\n <SelectValue placeholder=\"Select value\" />\n </SelectTrigger>\n <SelectContent>\n {selectedField.options.map((option) => (\n <SelectItem key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n )\n }\n\n // Boolean field type\n if (selectedField?.type === \"boolean\") {\n return (\n <Select\n value={String(value)}\n onValueChange={onChange}\n >\n <SelectTrigger\n aria-label=\"Select value\"\n size={inputSize}\n >\n <SelectValue placeholder=\"Select value\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"true\">True</SelectItem>\n <SelectItem value=\"false\">False</SelectItem>\n </SelectContent>\n </Select>\n )\n }\n\n // Between operator (two inputs)\n if (needsSecondValue) {\n const rawArray = Array.isArray(value) ? value : [\"\", \"\"]\n const fromValue = String(rawArray[0] ?? \"\")\n const toValue = String(rawArray[1] ?? \"\")\n return (\n <div className=\"flex items-center gap-2\">\n <TextInput\n aria-label=\"From value\"\n placeholder=\"From\"\n size={inputSize}\n type={selectedField?.type === \"number\" ? \"number\" : \"text\"}\n value={fromValue}\n onChange={(e) =>\n { onChange(JSON.stringify([e.target.value, toValue])); }\n }\n />\n <span className=\"text-sm text-muted-foreground\">and</span>\n <TextInput\n aria-label=\"To value\"\n placeholder=\"To\"\n size={inputSize}\n type={selectedField?.type === \"number\" ? \"number\" : \"text\"}\n value={toValue}\n onChange={(e) =>\n { onChange(JSON.stringify([fromValue, e.target.value])); }\n }\n />\n </div>\n )\n }\n\n // Default text/number/date input\n const inputType =\n selectedField?.type === \"number\"\n ? \"number\"\n : selectedField?.type === \"date\"\n ? \"date\"\n : \"text\"\n\n return (\n <TextInput\n aria-label=\"Filter value\"\n placeholder=\"Enter value\"\n size={inputSize}\n type={inputType}\n value={value as string}\n onChange={(e) => { onChange(e.target.value); }}\n />\n )\n}\n\n// ============================================\n// FILTER RULE COMPONENT\n// ============================================\n\nfunction FilterRuleComponent({\n fields,\n onChange,\n onRemove,\n rule,\n}: FilterRuleProps) {\n const { size } = useFilterBuilderContext()\n\n const selectedField = fields.find((f) => f.name === rule.field)\n const operators = getOperatorsForField(selectedField)\n const isInvalid = Boolean(rule.field && !rule.operator)\n const inputSize = getInputSize(size)\n\n const handleFieldChange = (fieldName: string) => {\n const newField = fields.find((f) => f.name === fieldName)\n const newOperators = getOperatorsForField(newField)\n\n onChange({\n ...rule,\n field: fieldName,\n operator: newOperators[0]?.value ?? \"\",\n value: \"\",\n })\n }\n\n const handleOperatorChange = (operator: string) => {\n onChange({\n ...rule,\n operator: operator as OperatorType,\n value: [\"is_empty\", \"is_not_empty\"].includes(operator) ? \"\" : rule.value,\n })\n }\n\n const handleValueChange = (value: string) => {\n onChange({ ...rule, value })\n }\n\n const needsValue = rule.operator && ![\"is_empty\", \"is_not_empty\"].includes(rule.operator)\n const needsSecondValue = rule.operator === \"between\"\n\n return (\n <div\n aria-label={`Filter rule: ${selectedField?.label ?? \"Select field\"}`}\n className={cn(filterRuleVariants({ invalid: isInvalid, size }))}\n data-slot=\"filter-rule\"\n role=\"group\"\n >\n {/* Field Select */}\n <div className={cn(ruleFieldVariants({ size }))}>\n <Select\n value={rule.field}\n onValueChange={handleFieldChange}\n >\n <SelectTrigger\n aria-label=\"Select field\"\n size={inputSize}\n >\n <SelectValue placeholder=\"Select field\" />\n </SelectTrigger>\n <SelectContent>\n {fields.map((field) => (\n <SelectItem key={field.name} value={field.name}>\n {field.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n\n {/* Operator Select */}\n {rule.field && (\n <div className={cn(ruleOperatorVariants({ size }))}>\n <Select\n value={rule.operator}\n onValueChange={handleOperatorChange}\n >\n <SelectTrigger\n aria-label=\"Select operator\"\n size={inputSize}\n >\n <SelectValue placeholder=\"Operator\" />\n </SelectTrigger>\n <SelectContent>\n {operators.map((op) => (\n <SelectItem key={op.value} value={op.value}>\n {op.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n )}\n\n {/* Value Input */}\n {needsValue && (\n <div className={cn(ruleValueVariants({ size }))}>\n <ValueInput\n needsSecondValue={needsSecondValue}\n selectedField={selectedField}\n size={size}\n value={rule.value}\n onChange={handleValueChange}\n />\n </div>\n )}\n\n {/* Remove Button */}\n <Button\n aria-label=\"Remove rule\"\n className=\"flex-shrink-0 text-muted-foreground hover:text-destructive\"\n size=\"icon\"\n type=\"button\"\n variant=\"ghost\"\n onClick={onRemove}\n >\n <XIcon className=\"size-4\" />\n </Button>\n </div>\n )\n}\n\n// ============================================\n// FILTER GROUP COMPONENT\n// ============================================\n\nfunction FilterGroupComponent({\n depth,\n fields,\n group,\n isRoot = false,\n maxDepth,\n maxRules,\n onChange,\n onRemove,\n rulesCount,\n}: FilterGroupProps) {\n const { size } = useFilterBuilderContext()\n\n const handleCombinatorChange = (combinator: \"and\" | \"or\") => {\n onChange({ ...group, combinator })\n }\n\n const handleAddRule = () => {\n if (rulesCount >= maxRules) return\n onChange({ ...group, rules: [...group.rules, createEmptyRule()] })\n }\n\n const handleAddGroup = () => {\n if (depth >= maxDepth || rulesCount >= maxRules) return\n onChange({ ...group, rules: [...group.rules, createEmptyGroup()] })\n }\n\n const handleRuleChange = (index: number, updatedItem: FilterGroup | FilterRule) => {\n const newRules = [...group.rules]\n newRules[index] = updatedItem\n onChange({ ...group, rules: newRules })\n }\n\n const handleRemoveItem = (index: number) => {\n onChange({ ...group, rules: group.rules.filter((_, i) => i !== index) })\n }\n\n const canAddRule = rulesCount < maxRules\n const canAddGroup = depth < maxDepth && rulesCount < maxRules\n const buttonSize = size === \"lg\" ? \"default\" : \"sm\"\n\n return (\n <div\n aria-label={`Filter group with ${group.combinator.toUpperCase()} combinator`}\n className={cn(filterGroupVariants({ isRoot, size }))}\n data-slot=\"filter-group\"\n role=\"group\"\n >\n {/* Group Header - Combinator Toggle */}\n {!isRoot && (\n <div className={cn(filterGroupHeaderVariants({ size }))}>\n <div className=\"flex items-center gap-1\">\n <button\n className={cn(\n combinatorToggleVariants({\n active: group.combinator === \"and\",\n size,\n })\n )}\n aria-pressed={group.combinator === \"and\"}\n type=\"button\"\n onClick={() => { handleCombinatorChange(\"and\"); }}\n >\n AND\n </button>\n <button\n className={cn(\n combinatorToggleVariants({\n active: group.combinator === \"or\",\n size,\n })\n )}\n aria-pressed={group.combinator === \"or\"}\n type=\"button\"\n onClick={() => { handleCombinatorChange(\"or\"); }}\n >\n OR\n </button>\n </div>\n\n {onRemove && (\n <Button\n aria-label=\"Remove group\"\n className=\"ml-auto text-muted-foreground hover:text-destructive\"\n size=\"icon\"\n type=\"button\"\n variant=\"ghost\"\n onClick={onRemove}\n >\n <TrashIcon className=\"size-4\" />\n </Button>\n )}\n </div>\n )}\n\n {/* Rules Container */}\n <div className={cn(rulesContainerVariants({ size }))}>\n {group.rules.length === 0 ? (\n <div className={cn(emptyStateVariants({ size }))}>\n <span>No filters added</span>\n <span className=\"text-xs\">Click "Add Rule" to create a filter</span>\n </div>\n ) : (\n group.rules.map((item, index) => (\n <React.Fragment key={item.id}>\n {/* Combinator Label between rules (not for first item) */}\n {index > 0 && (\n <div className=\"flex items-center gap-2 pl-2\">\n <span className=\"text-xs font-medium uppercase text-muted-foreground\">\n {group.combinator}\n </span>\n <div className=\"h-px flex-1 bg-border\" />\n </div>\n )}\n\n {isFilterGroup(item) ? (\n <FilterGroupComponent\n depth={depth + 1}\n fields={fields}\n group={item}\n maxDepth={maxDepth}\n maxRules={maxRules}\n rulesCount={rulesCount}\n onChange={(updated) => { handleRuleChange(index, updated); }}\n onRemove={() => { handleRemoveItem(index); }}\n />\n ) : (\n <FilterRuleComponent\n fields={fields}\n rule={item}\n onChange={(updated) => { handleRuleChange(index, updated); }}\n onRemove={() => { handleRemoveItem(index); }}\n />\n )}\n </React.Fragment>\n ))\n )}\n </div>\n\n {/* Add Buttons */}\n <div className=\"mt-2 flex items-center gap-2\">\n <Button\n className=\"gap-1\"\n disabled={!canAddRule}\n size={buttonSize}\n type=\"button\"\n variant=\"outline\"\n onClick={handleAddRule}\n >\n <PlusIcon className=\"size-3\" />\n Add Rule\n </Button>\n\n {!isRoot && (\n <Button\n className=\"gap-1\"\n disabled={!canAddGroup}\n size={buttonSize}\n type=\"button\"\n variant=\"outline\"\n onClick={handleAddGroup}\n >\n <PlusIcon className=\"size-3\" />\n Add Group\n </Button>\n )}\n </div>\n </div>\n )\n}\n\n// ============================================\n// FILTER TOOLBAR COMPONENT\n// ============================================\n\nfunction FilterToolbar({\n canAddGroup,\n canAddRule,\n hasRules,\n onAddGroup,\n onAddRule,\n onApply,\n onClear,\n}: FilterToolbarProps) {\n const { size } = useFilterBuilderContext()\n const buttonSize = size === \"lg\" ? \"default\" : \"sm\"\n\n return (\n <div\n className={cn(filterToolbarVariants({ size }))}\n data-slot=\"filter-toolbar\"\n >\n <div className=\"flex items-center gap-2\">\n <Button\n className=\"gap-1\"\n disabled={!canAddRule}\n size={buttonSize}\n type=\"button\"\n variant=\"outline\"\n onClick={onAddRule}\n >\n <PlusIcon className=\"size-3\" />\n Add Rule\n </Button>\n\n <Button\n className=\"gap-1\"\n disabled={!canAddGroup}\n size={buttonSize}\n type=\"button\"\n variant=\"outline\"\n onClick={onAddGroup}\n >\n <PlusIcon className=\"size-3\" />\n Add Group\n </Button>\n </div>\n\n <div className=\"flex items-center gap-2\">\n {onClear && hasRules && (\n <Button\n size={buttonSize}\n type=\"button\"\n variant=\"ghost\"\n onClick={onClear}\n >\n Clear All\n </Button>\n )}\n\n {onApply && (\n <Button\n size={buttonSize}\n type=\"button\"\n variant=\"default\"\n onClick={onApply}\n >\n Apply Filters\n </Button>\n )}\n </div>\n </div>\n )\n}\n\n// ============================================\n// FILTER PREVIEW COMPONENT\n// ============================================\n\nfunction FilterPreview({ fields, filter }: FilterPreviewProps) {\n const { size } = useFilterBuilderContext()\n\n const getFieldLabel = (fieldName: string): string => {\n const field = fields.find((f) => f.name === fieldName)\n return field?.label ?? fieldName\n }\n\n const formatValue = (value: unknown): string => {\n if (Array.isArray(value)) {\n return value.join(\" and \")\n }\n return String(value)\n }\n\n const renderRule = (rule: FilterRule): string => {\n if (!rule.field || !rule.operator) return \"\"\n\n const fieldLabel = getFieldLabel(rule.field)\n // After the check above, rule.operator is guaranteed to be a valid OperatorType\n const operatorLabel = OPERATOR_LABELS[rule.operator]\n\n if ([\"is_empty\", \"is_not_empty\"].includes(rule.operator)) {\n return `${fieldLabel} ${operatorLabel}`\n }\n\n return `${fieldLabel} ${operatorLabel} \"${formatValue(rule.value)}\"`\n }\n\n const renderGroup = (group: FilterGroup): string => {\n const parts = group.rules\n .map((item) => {\n if (isFilterGroup(item)) {\n return `(${renderGroup(item)})`\n }\n return renderRule(item)\n })\n .filter(Boolean)\n\n return parts.join(` ${group.combinator.toUpperCase()} `)\n }\n\n const preview = renderGroup(filter)\n\n if (!preview) {\n return (\n <div\n className={cn(filterPreviewVariants({ size }), \"italic text-muted-foreground\")}\n data-slot=\"filter-preview\"\n >\n No filters defined\n </div>\n )\n }\n\n return (\n <div\n className={cn(filterPreviewVariants({ size }))}\n data-slot=\"filter-preview\"\n >\n <code>{preview}</code>\n </div>\n )\n}\n\n// ============================================\n// MAIN FILTER BUILDER COMPONENT\n// ============================================\n\n/**\n * FilterBuilder - Advanced visual query builder component\n *\n * Allows creating complex filters with multiple conditions,\n * logical operators (AND/OR), nested groups, and various field types.\n *\n * @example\n * ```tsx\n * const fields = [\n * { name: \"name\", label: \"Name\", type: \"string\" },\n * { name: \"age\", label: \"Age\", type: \"number\" },\n * { name: \"status\", label: \"Status\", type: \"select\", options: [\n * { value: \"active\", label: \"Active\" },\n * { value: \"inactive\", label: \"Inactive\" },\n * ]},\n * ]\n *\n * <FilterBuilder\n * fields={fields}\n * value={filter}\n * onChange={setFilter}\n * onApply={(f) => console.log(\"Apply:\", f)}\n * />\n * ```\n */\nfunction FilterBuilder({\n className,\n fields,\n maxDepth = 3,\n maxRules = 20,\n onApply,\n onChange,\n onClear,\n showPreview = false,\n size = \"default\",\n value,\n ...props\n}: FilterBuilderProps) {\n const filter = value ?? createEmptyGroup()\n\n const handleChange = (updatedFilter: FilterGroup) => {\n onChange?.(updatedFilter)\n }\n\n const handleAddRule = () => {\n const rulesCount = countRules(filter)\n if (rulesCount >= maxRules) return\n handleChange({ ...filter, rules: [...filter.rules, createEmptyRule()] })\n }\n\n const handleAddGroup = () => {\n const rulesCount = countRules(filter)\n if (rulesCount >= maxRules) return\n handleChange({ ...filter, rules: [...filter.rules, createEmptyGroup()] })\n }\n\n const handleClear = () => {\n handleChange(createEmptyGroup())\n onClear?.()\n }\n\n const handleApply = () => {\n onApply?.(filter)\n }\n\n const rulesCount = countRules(filter)\n const hasRules = rulesCount > 0\n const canAddRule = rulesCount < maxRules\n const canAddGroup = rulesCount < maxRules\n\n return (\n <FilterBuilderContext value={{ fields, size: size ?? \"default\" }}>\n <div\n aria-label=\"Filter builder\"\n className={cn(filterBuilderVariants({ size }), className)}\n data-slot=\"filter-builder\"\n role=\"region\"\n {...props}\n >\n {/* Main Filter Group */}\n <FilterGroupComponent\n isRoot\n depth={0}\n fields={fields}\n group={filter}\n maxDepth={maxDepth}\n maxRules={maxRules}\n rulesCount={rulesCount}\n onChange={handleChange}\n />\n\n {/* Toolbar */}\n <FilterToolbar\n canAddGroup={canAddGroup}\n canAddRule={canAddRule}\n hasRules={hasRules}\n onAddGroup={handleAddGroup}\n onAddRule={handleAddRule}\n onApply={onApply ? handleApply : undefined}\n onClear={onClear ? handleClear : undefined}\n />\n\n {/* Preview */}\n {showPreview && (\n <FilterPreview fields={fields} filter={filter} />\n )}\n </div>\n </FilterBuilderContext>\n )\n}\n\nFilterBuilder.displayName = \"FilterBuilder\"\n\n// ============================================\n// EXPORTS\n// ============================================\n\nexport {\n FilterBuilder,\n type FilterBuilderProps,\n FilterGroupComponent as FilterGroup,\n type FilterGroupProps,\n FilterPreview,\n type FilterPreviewProps,\n FilterRuleComponent as FilterRule,\n type FilterRuleProps,\n FilterToolbar,\n type FilterToolbarProps,\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/advanced/FilterBuilder/FilterBuilder.types.ts","../src/components/advanced/FilterBuilder/FilterBuilder.variants.ts","../src/components/advanced/FilterBuilder/FilterBuilder.tsx"],"names":["rulesCount"],"mappings":"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","file":"chunk-HHWUROMA.js","sourcesContent":["// FilterBuilder/FilterBuilder.types.ts\n\nimport type { filterBuilderVariants } from \"./FilterBuilder.variants\"\nimport type { VariantProps } from \"class-variance-authority\"\n\n// ============================================\n// OPERATOR TYPES\n// ============================================\n\n/**\n * Available operator types for filter rules\n */\nexport type OperatorType =\n | \"between\"\n | \"contains\"\n | \"ends_with\"\n | \"equals\"\n | \"greater_than\"\n | \"greater_than_or_equal\"\n | \"in\"\n | \"is_empty\"\n | \"is_not_empty\"\n | \"less_than\"\n | \"less_than_or_equal\"\n | \"not_equals\"\n | \"not_in\"\n | \"starts_with\"\n\n/**\n * Field types that determine available operators\n */\nexport type FieldType = \"boolean\" | \"date\" | \"number\" | \"select\" | \"string\"\n\n// ============================================\n// DATA STRUCTURES\n// ============================================\n\n/**\n * Option for select-type fields\n */\nexport interface FieldOption {\n /** Display label */\n label: string\n /** Option value */\n value: string\n}\n\n/**\n * Field definition for available filter fields\n */\nexport interface FieldDefinition {\n /** Display label */\n label: string\n /** Unique field identifier */\n name: string\n /** Override default operators for this field */\n operators?: OperatorType[]\n /** Options for select-type fields */\n options?: FieldOption[]\n /** Field data type */\n type: FieldType\n}\n\n/**\n * Individual filter rule\n */\nexport interface FilterRule {\n /** Field name to filter */\n field: string\n /** Unique rule identifier */\n id: string\n /** Operator to apply */\n operator: \"\" | OperatorType\n /** Filter value(s) */\n value: unknown\n}\n\n/**\n * Group of rules with logical combinator\n */\nexport interface FilterGroup {\n /** Logical combinator (and/or) */\n combinator: \"and\" | \"or\"\n /** Unique group identifier */\n id: string\n /** Rules and/or nested groups */\n rules: (FilterGroup | FilterRule)[]\n}\n\n// ============================================\n// EVENT PAYLOADS\n// ============================================\n\n/**\n * Event payload for filter changes\n */\nexport interface FilterBuilderEventPayload {\n /** The updated filter structure */\n filter: FilterGroup\n /** Timestamp of the event */\n timestamp: number\n}\n\n/**\n * Event payload for rule changes\n */\nexport interface FilterRuleEventPayload {\n /** Path to the rule in the filter structure */\n path: string[]\n /** The rule that changed */\n rule: FilterRule\n /** Timestamp of the event */\n timestamp: number\n}\n\n// ============================================\n// COMPONENT PROPS\n// ============================================\n\n/**\n * Props for the FilterBuilder root component\n */\nexport interface FilterBuilderProps\n extends Omit<React.ComponentProps<\"div\">, \"onChange\">,\n VariantProps<typeof filterBuilderVariants> {\n /** Additional CSS classes */\n className?: string\n /** Available fields for filtering */\n fields: FieldDefinition[]\n /** Maximum nesting depth for groups */\n maxDepth?: number\n /** Maximum number of rules allowed */\n maxRules?: number\n /** Callback when filters are applied */\n onApply?: (filter: FilterGroup) => void\n /** Callback when filter changes */\n onChange?: (filter: FilterGroup) => void\n /** Callback when filters are cleared */\n onClear?: () => void\n /** Show preview of the resulting query */\n showPreview?: boolean\n /** Current filter value (controlled) */\n value?: FilterGroup\n}\n\n/**\n * Props for FilterGroup component\n */\nexport interface FilterGroupProps {\n /** Current nesting depth */\n depth: number\n /** Available fields */\n fields: FieldDefinition[]\n /** The group data */\n group: FilterGroup\n /** Whether this is the root group */\n isRoot?: boolean\n /** Maximum nesting depth */\n maxDepth: number\n /** Maximum number of rules */\n maxRules: number\n /** Callback when group changes */\n onChange: (group: FilterGroup) => void\n /** Callback when group is removed */\n onRemove?: () => void\n /** Current total rules count */\n rulesCount: number\n}\n\n/**\n * Props for FilterRule component\n */\nexport interface FilterRuleProps {\n /** Available fields */\n fields: FieldDefinition[]\n /** Callback when rule changes */\n onChange: (rule: FilterRule) => void\n /** Callback when rule is removed */\n onRemove: () => void\n /** The rule data */\n rule: FilterRule\n}\n\n/**\n * Props for FilterToolbar component\n */\nexport interface FilterToolbarProps {\n /** Whether adding groups is disabled (max depth reached) */\n canAddGroup: boolean\n /** Whether adding rules is disabled (max reached) */\n canAddRule: boolean\n /** Whether there are rules to clear */\n hasRules: boolean\n /** Callback to add a new group */\n onAddGroup: () => void\n /** Callback to add a new rule */\n onAddRule: () => void\n /** Callback to apply filters */\n onApply?: () => void\n /** Callback to clear all rules */\n onClear?: () => void\n}\n\n/**\n * Props for FilterPreview component\n */\nexport interface FilterPreviewProps {\n /** Available fields (for label lookup) */\n fields: FieldDefinition[]\n /** The filter to preview */\n filter: FilterGroup\n}\n\n// ============================================\n// UTILITY TYPES\n// ============================================\n\n/**\n * Default operators by field type\n */\nexport type OperatorsByType = Record<FieldType, OperatorType[]>\n\n/**\n * Operator display info\n */\nexport interface OperatorInfo {\n /** Display label */\n label: string\n /** Operator value */\n value: OperatorType\n}\n\n/**\n * Check if an item is a FilterGroup\n */\nexport function isFilterGroup(\n item: FilterGroup | FilterRule\n): item is FilterGroup {\n return \"combinator\" in item && \"rules\" in item\n}\n\n/**\n * Check if an item is a FilterRule\n */\nexport function isFilterRule(\n item: FilterGroup | FilterRule\n): item is FilterRule {\n return \"field\" in item && \"operator\" in item\n}\n","// FilterBuilder/FilterBuilder.variants.ts\n\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\n// Common style constants\nconst ROUNDED_MD = \"rounded-md\"\n\n/**\n * FilterBuilder root container variants\n */\nexport const filterBuilderVariants = cva(\n [\n \"w-full\",\n \"rounded-lg\",\n \"border border-border\",\n \"bg-background\",\n ],\n {\n variants: {\n size: {\n sm: \"p-3 text-sm\",\n default: \"p-4 text-sm\",\n lg: \"p-6 text-base\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * FilterGroup container variants\n */\nexport const filterGroupVariants = cva(\n [\n \"relative\",\n ROUNDED_MD,\n \"border border-border\",\n \"bg-muted/30\",\n ],\n {\n variants: {\n size: {\n sm: \"p-2 gap-2\",\n default: \"p-4 gap-3\",\n lg: \"p-5 gap-4\",\n },\n isRoot: {\n true: \"border-0 bg-transparent p-0\",\n false: \"\",\n },\n },\n defaultVariants: {\n size: \"default\",\n isRoot: false,\n },\n }\n)\n\n/**\n * FilterGroup header (combinator toggle) variants\n */\nexport const filterGroupHeaderVariants = cva(\n [\n \"flex items-center\",\n \"font-medium\",\n ],\n {\n variants: {\n size: {\n sm: \"gap-1.5 text-xs mb-2\",\n default: \"gap-2 text-sm mb-3\",\n lg: \"gap-3 text-base mb-4\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Combinator toggle button variants\n */\nexport const combinatorToggleVariants = cva(\n [\n \"inline-flex items-center justify-center\",\n ROUNDED_MD,\n \"font-semibold uppercase tracking-wide\",\n \"transition-colors duration-200\",\n \"cursor-pointer\",\n \"select-none\",\n ],\n {\n variants: {\n size: {\n sm: \"px-2 py-0.5 text-xs min-w-9\",\n default: \"px-2.5 py-1 text-xs min-w-11\",\n lg: \"px-3 py-1.5 text-sm min-w-14\",\n },\n active: {\n true: \"bg-primary text-primary-foreground\",\n false: \"bg-muted text-muted-foreground hover:bg-muted/80\",\n },\n },\n defaultVariants: {\n size: \"default\",\n active: false,\n },\n }\n)\n\n/**\n * FilterRule container variants\n */\nexport const filterRuleVariants = cva(\n [\n \"flex items-start\",\n ROUNDED_MD,\n \"bg-background\",\n \"border border-border\",\n \"transition-all duration-200\",\n \"focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-1\",\n ],\n {\n variants: {\n size: {\n sm: \"p-2 gap-1.5\",\n default: \"p-3 gap-2\",\n lg: \"p-4 gap-3\",\n },\n invalid: {\n true: \"border-destructive\",\n false: \"\",\n },\n },\n defaultVariants: {\n size: \"default\",\n invalid: false,\n },\n }\n)\n\n/**\n * Rule field select variants\n */\nexport const ruleFieldVariants = cva(\n [\n \"flex-shrink-0\",\n ],\n {\n variants: {\n size: {\n sm: \"w-32\",\n default: \"w-40\",\n lg: \"w-52\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Rule operator select variants\n */\nexport const ruleOperatorVariants = cva(\n [\n \"flex-shrink-0\",\n ],\n {\n variants: {\n size: {\n sm: \"w-24\",\n default: \"w-36\",\n lg: \"w-44\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Rule value input variants\n */\nexport const ruleValueVariants = cva(\n [\n \"flex-1 min-w-0\",\n ],\n {\n variants: {\n size: {\n sm: \"\",\n default: \"\",\n lg: \"\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Rules container variants\n */\nexport const rulesContainerVariants = cva(\n [\n \"flex flex-col\",\n ],\n {\n variants: {\n size: {\n sm: \"gap-2\",\n default: \"gap-3\",\n lg: \"gap-4\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * FilterToolbar variants\n */\nexport const filterToolbarVariants = cva(\n [\n \"flex items-center justify-between\",\n \"pt-3 mt-3\",\n \"border-t border-border\",\n ],\n {\n variants: {\n size: {\n sm: \"gap-2\",\n default: \"gap-3\",\n lg: \"gap-4\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * FilterPreview variants\n */\nexport const filterPreviewVariants = cva(\n [\n ROUNDED_MD,\n \"bg-muted/50\",\n \"font-mono\",\n \"overflow-x-auto\",\n ],\n {\n variants: {\n size: {\n sm: \"p-2 text-xs mt-3\",\n default: \"p-3 text-xs mt-4\",\n lg: \"p-4 text-sm mt-5\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Empty state variants\n */\nexport const emptyStateVariants = cva(\n [\n \"flex flex-col items-center justify-center\",\n \"text-muted-foreground\",\n \"border border-dashed border-border\",\n ROUNDED_MD,\n ],\n {\n variants: {\n size: {\n sm: \"py-4 px-3 text-xs gap-1\",\n default: \"py-6 px-4 text-sm gap-2\",\n lg: \"py-8 px-6 text-base gap-3\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n// ============================================\n// VARIANT PROP TYPES\n// ============================================\n\nexport type FilterBuilderVariantProps = VariantProps<typeof filterBuilderVariants>\nexport type FilterGroupVariantProps = VariantProps<typeof filterGroupVariants>\nexport type FilterRuleVariantProps = VariantProps<typeof filterRuleVariants>\nexport type CombinatorToggleVariantProps = VariantProps<typeof combinatorToggleVariants>\n","// FilterBuilder/FilterBuilder.tsx\n\"use client\"\n\nimport type {\n FieldDefinition,\n FilterBuilderProps,\n FilterGroup,\n FilterGroupProps,\n FilterPreviewProps,\n FilterRule,\n FilterRuleProps,\n FilterToolbarProps,\n OperatorInfo,\n OperatorsByType,\n OperatorType,\n} from \"./FilterBuilder.types\"\n\nimport { PlusIcon, TrashIcon, XIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"../../forms/Select\"\nimport { TextInput } from \"../../forms/TextInput\"\nimport { Button } from \"../../primitives/Button\"\nimport { isFilterGroup } from \"./FilterBuilder.types\"\nimport {\n combinatorToggleVariants,\n emptyStateVariants,\n filterBuilderVariants,\n filterGroupHeaderVariants,\n filterGroupVariants,\n filterPreviewVariants,\n filterRuleVariants,\n filterToolbarVariants,\n ruleFieldVariants,\n ruleOperatorVariants,\n rulesContainerVariants,\n ruleValueVariants,\n} from \"./FilterBuilder.variants\"\n\n// ============================================\n// CONSTANTS\n// ============================================\n\n/**\n * Default operators available for each field type\n */\nconst DEFAULT_OPERATORS_BY_TYPE: OperatorsByType = {\n boolean: [\"equals\", \"not_equals\"],\n date: [\n \"equals\",\n \"not_equals\",\n \"greater_than\",\n \"less_than\",\n \"between\",\n ],\n number: [\n \"equals\",\n \"not_equals\",\n \"greater_than\",\n \"greater_than_or_equal\",\n \"less_than\",\n \"less_than_or_equal\",\n \"between\",\n ],\n select: [\"equals\", \"not_equals\", \"in\", \"not_in\"],\n string: [\n \"equals\",\n \"not_equals\",\n \"contains\",\n \"starts_with\",\n \"ends_with\",\n \"is_empty\",\n \"is_not_empty\",\n ],\n}\n\n/**\n * Operator display labels\n */\nconst OPERATOR_LABELS: Record<OperatorType, string> = {\n between: \"between\",\n contains: \"contains\",\n ends_with: \"ends with\",\n equals: \"equals\",\n greater_than: \"greater than\",\n greater_than_or_equal: \"greater than or equal\",\n in: \"is any of\",\n is_empty: \"is empty\",\n is_not_empty: \"is not empty\",\n less_than: \"less than\",\n less_than_or_equal: \"less than or equal\",\n not_equals: \"does not equal\",\n not_in: \"is none of\",\n starts_with: \"starts with\",\n}\n\n/**\n * Generate a unique ID for rules and groups\n */\nfunction generateId(): string {\n return Math.random().toString(36).slice(2, 11)\n}\n\n/**\n * Create an empty rule\n */\nfunction createEmptyRule(): FilterRule {\n return {\n field: \"\",\n id: generateId(),\n operator: \"\",\n value: \"\",\n }\n}\n\n/**\n * Create an empty group\n */\nfunction createEmptyGroup(): FilterGroup {\n return {\n combinator: \"and\",\n id: generateId(),\n rules: [],\n }\n}\n\n/**\n * Get operators for a field\n */\nfunction getOperatorsForField(\n field: FieldDefinition | undefined\n): OperatorInfo[] {\n if (!field) return []\n\n const operators = field.operators ?? DEFAULT_OPERATORS_BY_TYPE[field.type]\n return operators.map((op) => ({\n label: OPERATOR_LABELS[op],\n value: op,\n }))\n}\n\n/**\n * Count total rules in a filter group (including nested)\n */\nfunction countRules(group: FilterGroup): number {\n return group.rules.reduce((count, item) => {\n if (isFilterGroup(item)) {\n return count + countRules(item)\n }\n return count + 1\n }, 0)\n}\n\n/**\n * Get size for input components\n */\nfunction getInputSize(size: \"default\" | \"lg\" | \"sm\"): \"lg\" | \"md\" | \"sm\" {\n if (size === \"lg\") return \"lg\"\n if (size === \"sm\") return \"sm\"\n return \"md\"\n}\n\n// ============================================\n// CONTEXT\n// ============================================\n\ninterface FilterBuilderContextValue {\n fields: FieldDefinition[]\n size: \"default\" | \"lg\" | \"sm\"\n}\n\nconst FilterBuilderContext = React.createContext<FilterBuilderContextValue>({\n fields: [],\n size: \"default\",\n})\n\nfunction useFilterBuilderContext() {\n return React.use(FilterBuilderContext)\n}\n\n// ============================================\n// VALUE INPUT COMPONENT (extracted to reduce complexity)\n// ============================================\n\ninterface ValueInputProps {\n needsSecondValue: boolean\n onChange: (value: string) => void\n selectedField: FieldDefinition | undefined\n size: \"default\" | \"lg\" | \"sm\"\n value: unknown\n}\n\nfunction ValueInput({\n needsSecondValue,\n onChange,\n selectedField,\n size,\n value,\n}: ValueInputProps) {\n const inputSize = getInputSize(size)\n\n // Select field type\n if (selectedField?.type === \"select\" && selectedField.options) {\n return (\n <Select\n value={value as string}\n onValueChange={onChange}\n >\n <SelectTrigger\n aria-label=\"Select value\"\n size={inputSize}\n >\n <SelectValue placeholder=\"Select value\" />\n </SelectTrigger>\n <SelectContent>\n {selectedField.options.map((option) => (\n <SelectItem key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n )\n }\n\n // Boolean field type\n if (selectedField?.type === \"boolean\") {\n return (\n <Select\n value={String(value)}\n onValueChange={onChange}\n >\n <SelectTrigger\n aria-label=\"Select value\"\n size={inputSize}\n >\n <SelectValue placeholder=\"Select value\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"true\">True</SelectItem>\n <SelectItem value=\"false\">False</SelectItem>\n </SelectContent>\n </Select>\n )\n }\n\n // Between operator (two inputs)\n if (needsSecondValue) {\n const rawArray = Array.isArray(value) ? value : [\"\", \"\"]\n const fromValue = String(rawArray[0] ?? \"\")\n const toValue = String(rawArray[1] ?? \"\")\n return (\n <div className=\"flex items-center gap-2\">\n <TextInput\n aria-label=\"From value\"\n placeholder=\"From\"\n size={inputSize}\n type={selectedField?.type === \"number\" ? \"number\" : \"text\"}\n value={fromValue}\n onChange={(e) =>\n { onChange(JSON.stringify([e.target.value, toValue])); }\n }\n />\n <span className=\"text-sm text-muted-foreground\">and</span>\n <TextInput\n aria-label=\"To value\"\n placeholder=\"To\"\n size={inputSize}\n type={selectedField?.type === \"number\" ? \"number\" : \"text\"}\n value={toValue}\n onChange={(e) =>\n { onChange(JSON.stringify([fromValue, e.target.value])); }\n }\n />\n </div>\n )\n }\n\n // Default text/number/date input\n const inputType =\n selectedField?.type === \"number\"\n ? \"number\"\n : selectedField?.type === \"date\"\n ? \"date\"\n : \"text\"\n\n return (\n <TextInput\n aria-label=\"Filter value\"\n placeholder=\"Enter value\"\n size={inputSize}\n type={inputType}\n value={value as string}\n onChange={(e) => { onChange(e.target.value); }}\n />\n )\n}\n\n// ============================================\n// FILTER RULE COMPONENT\n// ============================================\n\nfunction FilterRuleComponent({\n fields,\n onChange,\n onRemove,\n rule,\n}: FilterRuleProps) {\n const { size } = useFilterBuilderContext()\n\n const selectedField = fields.find((f) => f.name === rule.field)\n const operators = getOperatorsForField(selectedField)\n const isInvalid = Boolean(rule.field && !rule.operator)\n const inputSize = getInputSize(size)\n\n const handleFieldChange = (fieldName: string) => {\n const newField = fields.find((f) => f.name === fieldName)\n const newOperators = getOperatorsForField(newField)\n\n onChange({\n ...rule,\n field: fieldName,\n operator: newOperators[0]?.value ?? \"\",\n value: \"\",\n })\n }\n\n const handleOperatorChange = (operator: string) => {\n onChange({\n ...rule,\n operator: operator as OperatorType,\n value: [\"is_empty\", \"is_not_empty\"].includes(operator) ? \"\" : rule.value,\n })\n }\n\n const handleValueChange = (value: string) => {\n onChange({ ...rule, value })\n }\n\n const needsValue = rule.operator && ![\"is_empty\", \"is_not_empty\"].includes(rule.operator)\n const needsSecondValue = rule.operator === \"between\"\n\n return (\n <div\n aria-label={`Filter rule: ${selectedField?.label ?? \"Select field\"}`}\n className={cn(filterRuleVariants({ invalid: isInvalid, size }))}\n data-slot=\"filter-rule\"\n role=\"group\"\n >\n {/* Field Select */}\n <div className={cn(ruleFieldVariants({ size }))}>\n <Select\n value={rule.field}\n onValueChange={handleFieldChange}\n >\n <SelectTrigger\n aria-label=\"Select field\"\n size={inputSize}\n >\n <SelectValue placeholder=\"Select field\" />\n </SelectTrigger>\n <SelectContent>\n {fields.map((field) => (\n <SelectItem key={field.name} value={field.name}>\n {field.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n\n {/* Operator Select */}\n {rule.field && (\n <div className={cn(ruleOperatorVariants({ size }))}>\n <Select\n value={rule.operator}\n onValueChange={handleOperatorChange}\n >\n <SelectTrigger\n aria-label=\"Select operator\"\n size={inputSize}\n >\n <SelectValue placeholder=\"Operator\" />\n </SelectTrigger>\n <SelectContent>\n {operators.map((op) => (\n <SelectItem key={op.value} value={op.value}>\n {op.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n )}\n\n {/* Value Input */}\n {needsValue && (\n <div className={cn(ruleValueVariants({ size }))}>\n <ValueInput\n needsSecondValue={needsSecondValue}\n selectedField={selectedField}\n size={size}\n value={rule.value}\n onChange={handleValueChange}\n />\n </div>\n )}\n\n {/* Remove Button */}\n <Button\n aria-label=\"Remove rule\"\n className=\"flex-shrink-0 text-muted-foreground hover:text-destructive\"\n size=\"icon\"\n type=\"button\"\n variant=\"ghost\"\n onClick={onRemove}\n >\n <XIcon className=\"size-4\" />\n </Button>\n </div>\n )\n}\n\n// ============================================\n// FILTER GROUP COMPONENT\n// ============================================\n\nfunction FilterGroupComponent({\n depth,\n fields,\n group,\n isRoot = false,\n maxDepth,\n maxRules,\n onChange,\n onRemove,\n rulesCount,\n}: FilterGroupProps) {\n const { size } = useFilterBuilderContext()\n\n const handleCombinatorChange = (combinator: \"and\" | \"or\") => {\n onChange({ ...group, combinator })\n }\n\n const handleAddRule = () => {\n if (rulesCount >= maxRules) return\n onChange({ ...group, rules: [...group.rules, createEmptyRule()] })\n }\n\n const handleAddGroup = () => {\n if (depth >= maxDepth || rulesCount >= maxRules) return\n onChange({ ...group, rules: [...group.rules, createEmptyGroup()] })\n }\n\n const handleRuleChange = (index: number, updatedItem: FilterGroup | FilterRule) => {\n const newRules = [...group.rules]\n newRules[index] = updatedItem\n onChange({ ...group, rules: newRules })\n }\n\n const handleRemoveItem = (index: number) => {\n onChange({ ...group, rules: group.rules.filter((_, i) => i !== index) })\n }\n\n const canAddRule = rulesCount < maxRules\n const canAddGroup = depth < maxDepth && rulesCount < maxRules\n const buttonSize = size === \"lg\" ? \"default\" : \"sm\"\n\n return (\n <div\n aria-label={`Filter group with ${group.combinator.toUpperCase()} combinator`}\n className={cn(filterGroupVariants({ isRoot, size }))}\n data-slot=\"filter-group\"\n role=\"group\"\n >\n {/* Group Header - Combinator Toggle */}\n {!isRoot && (\n <div className={cn(filterGroupHeaderVariants({ size }))}>\n <div className=\"flex items-center gap-1\">\n <button\n className={cn(\n combinatorToggleVariants({\n active: group.combinator === \"and\",\n size,\n })\n )}\n aria-pressed={group.combinator === \"and\"}\n type=\"button\"\n onClick={() => { handleCombinatorChange(\"and\"); }}\n >\n AND\n </button>\n <button\n className={cn(\n combinatorToggleVariants({\n active: group.combinator === \"or\",\n size,\n })\n )}\n aria-pressed={group.combinator === \"or\"}\n type=\"button\"\n onClick={() => { handleCombinatorChange(\"or\"); }}\n >\n OR\n </button>\n </div>\n\n {onRemove && (\n <Button\n aria-label=\"Remove group\"\n className=\"ml-auto text-muted-foreground hover:text-destructive\"\n size=\"icon\"\n type=\"button\"\n variant=\"ghost\"\n onClick={onRemove}\n >\n <TrashIcon className=\"size-4\" />\n </Button>\n )}\n </div>\n )}\n\n {/* Rules Container */}\n <div className={cn(rulesContainerVariants({ size }))}>\n {group.rules.length === 0 ? (\n <div className={cn(emptyStateVariants({ size }))}>\n <span>No filters added</span>\n <span className=\"text-xs\">Click "Add Rule" to create a filter</span>\n </div>\n ) : (\n group.rules.map((item, index) => (\n <React.Fragment key={item.id}>\n {/* Combinator Label between rules (not for first item) */}\n {index > 0 && (\n <div className=\"flex items-center gap-2 pl-2\">\n <span className=\"text-xs font-medium uppercase text-muted-foreground\">\n {group.combinator}\n </span>\n <div className=\"h-px flex-1 bg-border\" />\n </div>\n )}\n\n {isFilterGroup(item) ? (\n <FilterGroupComponent\n depth={depth + 1}\n fields={fields}\n group={item}\n maxDepth={maxDepth}\n maxRules={maxRules}\n rulesCount={rulesCount}\n onChange={(updated) => { handleRuleChange(index, updated); }}\n onRemove={() => { handleRemoveItem(index); }}\n />\n ) : (\n <FilterRuleComponent\n fields={fields}\n rule={item}\n onChange={(updated) => { handleRuleChange(index, updated); }}\n onRemove={() => { handleRemoveItem(index); }}\n />\n )}\n </React.Fragment>\n ))\n )}\n </div>\n\n {/* Add Buttons */}\n <div className=\"mt-2 flex items-center gap-2\">\n <Button\n className=\"gap-1\"\n disabled={!canAddRule}\n size={buttonSize}\n type=\"button\"\n variant=\"outline\"\n onClick={handleAddRule}\n >\n <PlusIcon className=\"size-3\" />\n Add Rule\n </Button>\n\n {!isRoot && (\n <Button\n className=\"gap-1\"\n disabled={!canAddGroup}\n size={buttonSize}\n type=\"button\"\n variant=\"outline\"\n onClick={handleAddGroup}\n >\n <PlusIcon className=\"size-3\" />\n Add Group\n </Button>\n )}\n </div>\n </div>\n )\n}\n\n// ============================================\n// FILTER TOOLBAR COMPONENT\n// ============================================\n\nfunction FilterToolbar({\n canAddGroup,\n canAddRule,\n hasRules,\n onAddGroup,\n onAddRule,\n onApply,\n onClear,\n}: FilterToolbarProps) {\n const { size } = useFilterBuilderContext()\n const buttonSize = size === \"lg\" ? \"default\" : \"sm\"\n\n return (\n <div\n className={cn(filterToolbarVariants({ size }))}\n data-slot=\"filter-toolbar\"\n >\n <div className=\"flex items-center gap-2\">\n <Button\n className=\"gap-1\"\n disabled={!canAddRule}\n size={buttonSize}\n type=\"button\"\n variant=\"outline\"\n onClick={onAddRule}\n >\n <PlusIcon className=\"size-3\" />\n Add Rule\n </Button>\n\n <Button\n className=\"gap-1\"\n disabled={!canAddGroup}\n size={buttonSize}\n type=\"button\"\n variant=\"outline\"\n onClick={onAddGroup}\n >\n <PlusIcon className=\"size-3\" />\n Add Group\n </Button>\n </div>\n\n <div className=\"flex items-center gap-2\">\n {onClear && hasRules && (\n <Button\n size={buttonSize}\n type=\"button\"\n variant=\"ghost\"\n onClick={onClear}\n >\n Clear All\n </Button>\n )}\n\n {onApply && (\n <Button\n size={buttonSize}\n type=\"button\"\n variant=\"default\"\n onClick={onApply}\n >\n Apply Filters\n </Button>\n )}\n </div>\n </div>\n )\n}\n\n// ============================================\n// FILTER PREVIEW COMPONENT\n// ============================================\n\nfunction FilterPreview({ fields, filter }: FilterPreviewProps) {\n const { size } = useFilterBuilderContext()\n\n const getFieldLabel = (fieldName: string): string => {\n const field = fields.find((f) => f.name === fieldName)\n return field?.label ?? fieldName\n }\n\n const formatValue = (value: unknown): string => {\n if (Array.isArray(value)) {\n return value.join(\" and \")\n }\n return String(value)\n }\n\n const renderRule = (rule: FilterRule): string => {\n if (!rule.field || !rule.operator) return \"\"\n\n const fieldLabel = getFieldLabel(rule.field)\n // After the check above, rule.operator is guaranteed to be a valid OperatorType\n const operatorLabel = OPERATOR_LABELS[rule.operator]\n\n if ([\"is_empty\", \"is_not_empty\"].includes(rule.operator)) {\n return `${fieldLabel} ${operatorLabel}`\n }\n\n return `${fieldLabel} ${operatorLabel} \"${formatValue(rule.value)}\"`\n }\n\n const renderGroup = (group: FilterGroup): string => {\n const parts = group.rules\n .map((item) => {\n if (isFilterGroup(item)) {\n return `(${renderGroup(item)})`\n }\n return renderRule(item)\n })\n .filter(Boolean)\n\n return parts.join(` ${group.combinator.toUpperCase()} `)\n }\n\n const preview = renderGroup(filter)\n\n if (!preview) {\n return (\n <div\n className={cn(filterPreviewVariants({ size }), \"italic text-muted-foreground\")}\n data-slot=\"filter-preview\"\n >\n No filters defined\n </div>\n )\n }\n\n return (\n <div\n className={cn(filterPreviewVariants({ size }))}\n data-slot=\"filter-preview\"\n >\n <code>{preview}</code>\n </div>\n )\n}\n\n// ============================================\n// MAIN FILTER BUILDER COMPONENT\n// ============================================\n\n/**\n * FilterBuilder - Advanced visual query builder component\n *\n * Allows creating complex filters with multiple conditions,\n * logical operators (AND/OR), nested groups, and various field types.\n *\n * @example\n * ```tsx\n * const fields = [\n * { name: \"name\", label: \"Name\", type: \"string\" },\n * { name: \"age\", label: \"Age\", type: \"number\" },\n * { name: \"status\", label: \"Status\", type: \"select\", options: [\n * { value: \"active\", label: \"Active\" },\n * { value: \"inactive\", label: \"Inactive\" },\n * ]},\n * ]\n *\n * <FilterBuilder\n * fields={fields}\n * value={filter}\n * onChange={setFilter}\n * onApply={(f) => console.log(\"Apply:\", f)}\n * />\n * ```\n */\nfunction FilterBuilder({\n className,\n fields,\n maxDepth = 3,\n maxRules = 20,\n onApply,\n onChange,\n onClear,\n showPreview = false,\n size = \"default\",\n value,\n ...props\n}: FilterBuilderProps) {\n const filter = value ?? createEmptyGroup()\n\n const handleChange = (updatedFilter: FilterGroup) => {\n onChange?.(updatedFilter)\n }\n\n const handleAddRule = () => {\n const rulesCount = countRules(filter)\n if (rulesCount >= maxRules) return\n handleChange({ ...filter, rules: [...filter.rules, createEmptyRule()] })\n }\n\n const handleAddGroup = () => {\n const rulesCount = countRules(filter)\n if (rulesCount >= maxRules) return\n handleChange({ ...filter, rules: [...filter.rules, createEmptyGroup()] })\n }\n\n const handleClear = () => {\n handleChange(createEmptyGroup())\n onClear?.()\n }\n\n const handleApply = () => {\n onApply?.(filter)\n }\n\n const rulesCount = countRules(filter)\n const hasRules = rulesCount > 0\n const canAddRule = rulesCount < maxRules\n const canAddGroup = rulesCount < maxRules\n\n return (\n <FilterBuilderContext value={{ fields, size: size ?? \"default\" }}>\n <div\n aria-label=\"Filter builder\"\n className={cn(filterBuilderVariants({ size }), className)}\n data-slot=\"filter-builder\"\n role=\"region\"\n {...props}\n >\n {/* Main Filter Group */}\n <FilterGroupComponent\n isRoot\n depth={0}\n fields={fields}\n group={filter}\n maxDepth={maxDepth}\n maxRules={maxRules}\n rulesCount={rulesCount}\n onChange={handleChange}\n />\n\n {/* Toolbar */}\n <FilterToolbar\n canAddGroup={canAddGroup}\n canAddRule={canAddRule}\n hasRules={hasRules}\n onAddGroup={handleAddGroup}\n onAddRule={handleAddRule}\n onApply={onApply ? handleApply : undefined}\n onClear={onClear ? handleClear : undefined}\n />\n\n {/* Preview */}\n {showPreview && (\n <FilterPreview fields={fields} filter={filter} />\n )}\n </div>\n </FilterBuilderContext>\n )\n}\n\nFilterBuilder.displayName = \"FilterBuilder\"\n\n// ============================================\n// EXPORTS\n// ============================================\n\nexport {\n FilterBuilder,\n type FilterBuilderProps,\n FilterGroupComponent as FilterGroup,\n type FilterGroupProps,\n FilterPreview,\n type FilterPreviewProps,\n FilterRuleComponent as FilterRule,\n type FilterRuleProps,\n FilterToolbar,\n type FilterToolbarProps,\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-RVAYDRMA.js';
|
|
2
2
|
import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
|
|
3
3
|
import 'react';
|
|
4
4
|
import { cva } from 'class-variance-authority';
|
|
@@ -107,5 +107,5 @@ function ScrollBar({
|
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
export { ScrollArea, ScrollBar, scrollAreaCornerVariants, scrollAreaVariants, scrollAreaViewportVariants, scrollBarThumbVariants, scrollBarVariants };
|
|
110
|
-
//# sourceMappingURL=chunk-
|
|
111
|
-
//# sourceMappingURL=chunk-
|
|
110
|
+
//# sourceMappingURL=chunk-HM6TEHA6.js.map
|
|
111
|
+
//# sourceMappingURL=chunk-HM6TEHA6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/layout/ScrollArea/ScrollArea.variants.ts","../src/components/layout/ScrollArea/ScrollArea.tsx"],"names":[],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/layout/ScrollArea/ScrollArea.variants.ts","../src/components/layout/ScrollArea/ScrollArea.tsx"],"names":[],"mappings":"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","file":"chunk-HM6TEHA6.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * ScrollArea root variant styles\n * Container for scrollable content\n */\nexport const scrollAreaVariants = cva([\"relative\", \"overflow-hidden\"])\n\n/**\n * ScrollArea viewport variant styles\n * The scrollable content container\n */\nexport const scrollAreaViewportVariants = cva([\n \"size-full rounded-[inherit]\",\n \"overflow-auto\",\n \"transition-[color,box-shadow] outline-none\",\n \"focus-visible:ring-ring/50 focus-visible:ring-[3px] focus-visible:outline-1\",\n])\n\n/**\n * ScrollBar variant styles\n * The scrollbar track with size and visibility variants\n */\nexport const scrollBarVariants = cva(\n [\"flex touch-none select-none transition-colors\"],\n {\n variants: {\n /**\n * Orientation of the scrollbar\n * - vertical: Vertical scrollbar on the right\n * - horizontal: Horizontal scrollbar at the bottom\n */\n orientation: {\n vertical: \"h-full w-[var(--scroll-bar-width-default)] border-l border-l-transparent p-px\",\n horizontal: \"h-[var(--scroll-bar-width-default)] w-full flex-col border-t border-t-transparent p-px\",\n },\n /**\n * Size of the scrollbar\n * - default: Standard scrollbar size (2.5 = 10px)\n * - thin: Thinner scrollbar (1.5 = 6px)\n * - wide: Wider scrollbar (3.5 = 14px)\n */\n size: {\n default: \"\",\n thin: \"\",\n wide: \"\",\n },\n },\n compoundVariants: [\n // Vertical size variants\n { orientation: \"vertical\", size: \"thin\", class: \"w-[var(--scroll-bar-width-thin)]\" },\n { orientation: \"vertical\", size: \"wide\", class: \"w-[var(--scroll-bar-width-wide)]\" },\n // Horizontal size variants\n { orientation: \"horizontal\", size: \"thin\", class: \"h-[var(--scroll-bar-width-thin)]\" },\n { orientation: \"horizontal\", size: \"wide\", class: \"h-[var(--scroll-bar-width-wide)]\" },\n ],\n defaultVariants: {\n orientation: \"vertical\",\n size: \"default\",\n },\n }\n)\n\n/**\n * ScrollBar thumb variant styles\n * The draggable part of the scrollbar\n */\nexport const scrollBarThumbVariants = cva([\n \"bg-[color:var(--scroll-bar-thumb-bg)] relative flex-1 rounded-full\",\n])\n\n/**\n * ScrollArea corner variant styles\n * Corner element when both scrollbars are visible\n */\nexport const scrollAreaCornerVariants = cva([\"bg-transparent\"])\n\nexport type ScrollAreaVariantProps = VariantProps<typeof scrollAreaVariants>\nexport type ScrollAreaViewportVariantProps = VariantProps<\n typeof scrollAreaViewportVariants\n>\nexport type ScrollBarVariantProps = VariantProps<typeof scrollBarVariants>\nexport type ScrollBarThumbVariantProps = VariantProps<\n typeof scrollBarThumbVariants\n>\n","\"use client\"\n\nimport type { ScrollAreaProps, ScrollBarProps } from \"./ScrollArea.types\"\n\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n scrollAreaCornerVariants,\n scrollAreaVariants,\n scrollAreaViewportVariants,\n scrollBarThumbVariants,\n scrollBarVariants,\n} from \"./ScrollArea.variants\"\n\nfunction ScrollArea({ className, children, ...props }: ScrollAreaProps) {\n return (\n <ScrollAreaPrimitive.Root\n className={cn(scrollAreaVariants(), className)}\n data-slot=\"scroll-area\"\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n className={cn(scrollAreaViewportVariants())}\n data-slot=\"scroll-area-viewport\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner\n className={cn(scrollAreaCornerVariants())}\n />\n </ScrollAreaPrimitive.Root>\n )\n}\n\nfunction ScrollBar({\n className,\n orientation = \"vertical\",\n size,\n ...props\n}: ScrollBarProps) {\n // Ensure orientation is never null (CVA allows null, Radix expects undefined)\n const resolvedOrientation = orientation ?? \"vertical\"\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n className={cn(scrollBarVariants({ orientation: resolvedOrientation, size }), className)}\n data-slot=\"scroll-area-scrollbar\"\n orientation={resolvedOrientation}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n className={cn(scrollBarThumbVariants())}\n data-slot=\"scroll-area-thumb\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n )\n}\n\nexport { ScrollArea, ScrollBar }\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Tooltip, TooltipTrigger, TooltipContent } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { Tooltip, TooltipTrigger, TooltipContent } from './chunk-TEVGCTUN.js';
|
|
2
|
+
import { cn } from './chunk-RVAYDRMA.js';
|
|
3
3
|
import { Slot } from '@radix-ui/react-slot';
|
|
4
4
|
import { cva } from 'class-variance-authority';
|
|
5
5
|
import { X } from 'lucide-react';
|
|
@@ -54,9 +54,9 @@ var badgeVariants = cva(
|
|
|
54
54
|
muted: ""
|
|
55
55
|
},
|
|
56
56
|
size: {
|
|
57
|
-
sm: "h-[var(--badge-size-sm-h)] px-[var(--badge-size-sm-px)] text-[length:var(--badge-size-sm-text)] [&_svg]:size-3",
|
|
58
|
-
default: "h-[var(--badge-size-md-h)] px-[var(--badge-size-md-px)] text-[length:var(--badge-size-md-text)] [&_svg]:size-3.5",
|
|
59
|
-
lg: "h-[var(--badge-size-lg-h)] px-[var(--badge-size-lg-px)] text-[length:var(--badge-size-lg-text)] [&_svg]:size-4"
|
|
57
|
+
sm: "h-[var(--badge-size-sm-h)] px-[var(--badge-size-sm-px)] text-[length:var(--badge-size-sm-text)] leading-[var(--badge-line-height-sm)] [&_svg]:size-3",
|
|
58
|
+
default: "h-[var(--badge-size-md-h)] px-[var(--badge-size-md-px)] text-[length:var(--badge-size-md-text)] leading-[var(--badge-line-height-md)] [&_svg]:size-3.5",
|
|
59
|
+
lg: "h-[var(--badge-size-lg-h)] px-[var(--badge-size-lg-px)] text-[length:var(--badge-size-lg-text)] leading-[var(--badge-line-height-lg)] [&_svg]:size-4"
|
|
60
60
|
}
|
|
61
61
|
},
|
|
62
62
|
compoundVariants: [
|
|
@@ -300,5 +300,5 @@ function Badge({
|
|
|
300
300
|
}
|
|
301
301
|
|
|
302
302
|
export { Badge, badgeVariants };
|
|
303
|
-
//# sourceMappingURL=chunk-
|
|
304
|
-
//# sourceMappingURL=chunk-
|
|
303
|
+
//# sourceMappingURL=chunk-HNQX6ZG7.js.map
|
|
304
|
+
//# sourceMappingURL=chunk-HNQX6ZG7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/primitives/Badge/Badge.tsx"],"names":[],"mappings":"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","file":"chunk-HNQX6ZG7.js","sourcesContent":["import type { BadgeAvatarProps, BadgeColor, BadgeProps } from \"./Badge.types\"\n\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { X } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../../feedback/Tooltip\"\n\n/* eslint-disable sonarjs/no-duplicate-string -- Badge variants require repeated color class patterns */\n\n// Legacy variant mapping for backwards compatibility\nconst legacyVariantMap: Record<string, { color: string; type: string; }> = {\n default: { type: \"pill-color\", color: \"primary\" },\n secondary: { type: \"pill-color\", color: \"muted\" },\n destructive: { type: \"pill-color\", color: \"destructive\" },\n outline: { type: \"pill-outline\", color: \"muted\" },\n}\n\n// Dot color mapping\nconst dotColorMap: Record<string, string> = {\n primary: \"bg-primary-foreground\",\n secondary: \"bg-secondary-foreground\",\n destructive: \"bg-white\",\n warning: \"bg-warning-foreground\",\n success: \"bg-success-foreground\",\n info: \"bg-white\",\n tip: \"bg-white\",\n muted: \"bg-muted-foreground\",\n}\n\n// Dismiss button color mapping\nconst dismissColorMap: Record<string, string> = {\n primary: \"text-primary-foreground hover:bg-primary-foreground/20\",\n secondary: \"text-secondary-foreground hover:bg-secondary-foreground/20\",\n destructive: \"text-white hover:bg-white/20\",\n warning: \"text-warning-foreground hover:bg-warning-foreground/20\",\n success: \"text-success-foreground hover:bg-success-foreground/20\",\n info: \"text-white hover:bg-white/20\",\n tip: \"text-white hover:bg-white/20\",\n muted: \"text-muted-foreground hover:bg-muted-foreground/20\",\n}\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center font-medium w-fit whitespace-nowrap shrink-0 gap-1.5 transition-[color,background-color,box-shadow,filter] overflow-hidden border focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 data-[disabled=true]:opacity-50 data-[disabled=true]:pointer-events-none\",\n {\n variants: {\n type: {\n \"pill-color\": \"rounded-[var(--badge-radius-pill)] border-transparent\",\n \"pill-outline\": \"rounded-[var(--badge-radius-pill)] bg-transparent\",\n \"badge-color\": \"rounded-[var(--badge-radius-default)] border-transparent\",\n \"badge-outline\": \"rounded-[var(--badge-radius-default)] bg-transparent\",\n \"badge-modern\": \"rounded-[var(--badge-radius-default)] border-transparent border-l-[3px] pr-2.5 pl-2 shadow-xs\",\n },\n color: {\n primary: \"\",\n secondary: \"\",\n destructive: \"\",\n warning: \"\",\n success: \"\",\n info: \"\",\n tip: \"\",\n muted: \"\",\n },\n size: {\n sm: \"h-[var(--badge-size-sm-h)] px-[var(--badge-size-sm-px)] text-[length:var(--badge-size-sm-text)] leading-[var(--badge-line-height-sm)] [&_svg]:size-3\",\n default: \"h-[var(--badge-size-md-h)] px-[var(--badge-size-md-px)] text-[length:var(--badge-size-md-text)] leading-[var(--badge-line-height-md)] [&_svg]:size-3.5\",\n lg: \"h-[var(--badge-size-lg-h)] px-[var(--badge-size-lg-px)] text-[length:var(--badge-size-lg-text)] leading-[var(--badge-line-height-lg)] [&_svg]:size-4\",\n },\n },\n compoundVariants: [\n // ========================================\n // PILL-COLOR VARIANTS\n // ========================================\n { type: \"pill-color\", color: \"primary\", className: \"bg-[color:var(--badge-color-primary-bg)] text-[color:var(--badge-color-primary-fg)]\" },\n { type: \"pill-color\", color: \"secondary\", className: \"bg-[color:var(--badge-color-secondary-bg)] text-[color:var(--badge-color-secondary-fg)]\" },\n { type: \"pill-color\", color: \"destructive\", className: \"bg-[color:var(--badge-color-destructive-bg)] text-[color:var(--badge-color-destructive-fg)]\" },\n { type: \"pill-color\", color: \"warning\", className: \"bg-[color:var(--badge-color-warning-bg)] text-[color:var(--badge-color-warning-fg)]\" },\n { type: \"pill-color\", color: \"success\", className: \"bg-[color:var(--badge-color-success-bg)] text-[color:var(--badge-color-success-fg)]\" },\n { type: \"pill-color\", color: \"info\", className: \"bg-info text-info-foreground\" },\n { type: \"pill-color\", color: \"tip\", className: \"bg-tip text-white\" },\n { type: \"pill-color\", color: \"muted\", className: \"bg-[color:var(--badge-color-secondary-bg)] text-[color:var(--badge-color-secondary-fg)]\" },\n\n // ========================================\n // PILL-OUTLINE VARIANTS\n // ========================================\n { type: \"pill-outline\", color: \"primary\", className: \"border-primary text-primary\" },\n { type: \"pill-outline\", color: \"secondary\", className: \"border-secondary text-secondary\" },\n { type: \"pill-outline\", color: \"destructive\", className: \"border-destructive text-destructive\" },\n { type: \"pill-outline\", color: \"warning\", className: \"border-warning text-warning\" },\n { type: \"pill-outline\", color: \"success\", className: \"border-success text-success\" },\n { type: \"pill-outline\", color: \"info\", className: \"border-info text-info\" },\n { type: \"pill-outline\", color: \"tip\", className: \"border-tip text-tip\" },\n { type: \"pill-outline\", color: \"muted\", className: \"border-border text-muted-foreground\" },\n\n // ========================================\n // BADGE-COLOR VARIANTS\n // ========================================\n { type: \"badge-color\", color: \"primary\", className: \"bg-primary text-primary-foreground\" },\n { type: \"badge-color\", color: \"secondary\", className: \"bg-[color:var(--badge-color-secondary-bg)] text-[color:var(--badge-color-secondary-fg)]\" },\n { type: \"badge-color\", color: \"destructive\", className: \"bg-destructive text-white\" },\n { type: \"badge-color\", color: \"warning\", className: \"bg-[color:var(--badge-color-warning-bg)] text-[color:var(--badge-color-warning-fg)]\" },\n { type: \"badge-color\", color: \"success\", className: \"bg-[color:var(--badge-color-success-bg)] text-[color:var(--badge-color-success-fg)]\" },\n { type: \"badge-color\", color: \"info\", className: \"bg-info text-info-foreground\" },\n { type: \"badge-color\", color: \"tip\", className: \"bg-tip text-white\" },\n { type: \"badge-color\", color: \"muted\", className: \"bg-muted text-muted-foreground\" },\n\n // ========================================\n // BADGE-OUTLINE VARIANTS\n // ========================================\n { type: \"badge-outline\", color: \"primary\", className: \"border-primary text-primary\" },\n { type: \"badge-outline\", color: \"secondary\", className: \"border-secondary text-secondary\" },\n { type: \"badge-outline\", color: \"destructive\", className: \"border-destructive text-destructive\" },\n { type: \"badge-outline\", color: \"warning\", className: \"border-warning text-warning\" },\n { type: \"badge-outline\", color: \"success\", className: \"border-success text-success\" },\n { type: \"badge-outline\", color: \"info\", className: \"border-info text-info\" },\n { type: \"badge-outline\", color: \"tip\", className: \"border-tip text-tip\" },\n { type: \"badge-outline\", color: \"muted\", className: \"border-border text-muted-foreground\" },\n\n // ========================================\n // BADGE-MODERN VARIANTS (with left accent)\n // ========================================\n { type: \"badge-modern\", color: \"primary\", className: \"bg-primary/10 text-primary border-l-primary\" },\n { type: \"badge-modern\", color: \"secondary\", className: \"bg-secondary/10 text-secondary border-l-secondary\" },\n { type: \"badge-modern\", color: \"destructive\", className: \"bg-destructive/10 text-destructive border-l-destructive\" },\n { type: \"badge-modern\", color: \"warning\", className: \"bg-warning/10 text-warning border-l-warning\" },\n { type: \"badge-modern\", color: \"success\", className: \"bg-success/10 text-success border-l-success\" },\n { type: \"badge-modern\", color: \"info\", className: \"bg-info/10 text-info border-l-info\" },\n { type: \"badge-modern\", color: \"tip\", className: \"bg-tip/10 text-tip border-l-tip\" },\n { type: \"badge-modern\", color: \"muted\", className: \"bg-muted text-muted-foreground border-l-muted-foreground\" },\n ],\n defaultVariants: {\n type: \"pill-color\",\n color: \"primary\",\n size: \"default\",\n },\n }\n)\n\n// Internal dot component\nfunction BadgeDot({ color }: { color: BadgeColor }) {\n return (\n <span\n className={cn(\"size-1.5 rounded-full shrink-0\", dotColorMap[color] ?? dotColorMap[\"primary\"])}\n data-slot=\"badge-dot\"\n />\n )\n}\n\n// Internal dismiss button component\nfunction BadgeDismiss({ onClick, color, type, dismissLabel = \"Dismiss\" }: { color: BadgeColor; dismissLabel?: string; onClick: () => void; type: string; }) {\n const handleClick = (e: React.MouseEvent) => {\n e.stopPropagation()\n onClick()\n }\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault()\n e.stopPropagation()\n onClick()\n }\n }\n\n // Adapt shape based on badge type: rounded for pills, square for badges\n const isPill = type === \"pill-color\" || type === \"pill-outline\"\n const shapeClass = isPill ? \"rounded-full\" : \"rounded-sm\"\n\n return (\n <button\n className={cn(\n \"size-4 -mr-1 inline-flex items-center justify-center shrink-0 transition-colors cursor-pointer\",\n shapeClass,\n \"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring\",\n dismissColorMap[color] ?? dismissColorMap[\"primary\"]\n )}\n aria-label={dismissLabel}\n data-slot=\"badge-dismiss\"\n type=\"button\"\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n <X className=\"size-3\" />\n </button>\n )\n}\n\n// Internal avatar component for badge\nfunction BadgeAvatar({ src, fallback, alt }: BadgeAvatarProps) {\n const [imageError, setImageError] = React.useState(false)\n\n // Get initials from fallback text\n const initials = fallback\n .split(\" \")\n .map((word) => word[0])\n .join(\"\")\n .toUpperCase()\n .slice(0, 2)\n\n return (\n <span\n className=\"size-4 -ml-1 rounded-full shrink-0 inline-flex items-center justify-center overflow-hidden bg-muted text-xs font-medium\"\n data-slot=\"badge-avatar\"\n >\n {src && !imageError ? (\n <img\n alt={alt ?? fallback}\n className=\"size-full object-cover\"\n src={src}\n onError={() => { setImageError(true); }}\n />\n ) : (\n <span aria-label={alt ?? fallback}>{initials}</span>\n )}\n </span>\n )\n}\n\n// Internal country flag component\nfunction BadgeCountry({ code }: { code: string }) {\n // Convert country code to flag emoji using regional indicator symbols\n const countryToFlag = (countryCode: string) => {\n // eslint-disable-next-line unicorn/prefer-spread -- Array.from handles Unicode correctly for country codes\n const codePoints = Array.from(countryCode.toUpperCase()).map(\n (char) => 127397 + char.charCodeAt(0)\n )\n return String.fromCodePoint(...codePoints)\n }\n\n return (\n <span\n aria-label={`Flag of ${code}`}\n className=\"text-base -ml-0.5 shrink-0 leading-none\"\n data-slot=\"badge-country\"\n role=\"img\"\n >\n {countryToFlag(code)}\n </span>\n )\n}\n\nfunction Badge({\n className,\n type,\n color,\n size,\n disabled,\n dot,\n icon,\n leadingIcon,\n trailingIcon,\n country,\n avatar,\n iconOnly,\n onDismiss,\n dismissLabel,\n interactive,\n tooltip,\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- Intentionally supporting legacy variant for backwards compatibility\n variant,\n asChild = false,\n children,\n onClick,\n ...props\n}: BadgeProps) {\n // Resolve legacy variant to new props (new props take precedence)\n const legacyMapping = variant ? legacyVariantMap[variant] : null\n const resolvedType = (type ?? legacyMapping?.type ?? \"pill-color\") as VariantProps<typeof badgeVariants>[\"type\"]\n const resolvedColor = (color ?? legacyMapping?.color ?? \"primary\") as BadgeColor\n\n // Icon-only badges are square with no horizontal padding\n const iconOnlyClass = iconOnly\n ? \"px-0 aspect-square\"\n : \"\"\n\n const badgeClassName = cn(\n badgeVariants({ type: resolvedType, color: resolvedColor, size }),\n iconOnlyClass,\n Boolean(interactive ?? onClick) && \"cursor-pointer hover:brightness-90\",\n className\n )\n\n // Disabled is a real state (not just a Figma style): toggle data-disabled + aria-disabled\n const stateAttrs = {\n \"aria-disabled\": disabled ? true : undefined,\n \"data-disabled\": disabled ? true : undefined,\n }\n\n // When asChild is true, use Slot which requires exactly one child\n // dot and onDismiss features are not supported with asChild\n if (asChild) {\n return (\n <Slot className={badgeClassName} data-slot=\"badge\" {...stateAttrs} {...props}>\n {children}\n </Slot>\n )\n }\n\n // Resolve leading content\n const resolvedLeadingIcon = leadingIcon ?? icon\n\n // Render leading content (avatar, country, dot, or leading icon)\n const renderLeading = () => {\n if (avatar) return <BadgeAvatar {...avatar} />\n if (country) return <BadgeCountry code={country} />\n if (dot) return <BadgeDot color={resolvedColor} />\n if (resolvedLeadingIcon) return <span className=\"shrink-0\" data-slot=\"badge-leading-icon\">{resolvedLeadingIcon}</span>\n return null\n }\n\n // Render trailing content (trailing icon or dismiss)\n const renderTrailing = () => {\n if (onDismiss) return <BadgeDismiss color={resolvedColor} dismissLabel={dismissLabel} type={resolvedType ?? \"pill-color\"} onClick={onDismiss} />\n if (trailingIcon) return <span className=\"shrink-0\" data-slot=\"badge-trailing-icon\">{trailingIcon}</span>\n return null\n }\n\n // Helper to wrap element with tooltip if tooltip prop is provided\n const wrapWithTooltip = (element: React.ReactElement) => {\n if (!tooltip) return element\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n {element}\n </TooltipTrigger>\n <TooltipContent>\n {tooltip}\n </TooltipContent>\n </Tooltip>\n )\n }\n\n // Icon-only variant: render only the icon, no children or other elements\n if (iconOnly) {\n return wrapWithTooltip(\n <span\n className={badgeClassName}\n data-slot=\"badge\"\n onClick={onClick}\n {...stateAttrs}\n {...props}\n >\n <span className=\"shrink-0\" data-slot=\"badge-icon-only\">{iconOnly}</span>\n </span>\n )\n }\n\n return wrapWithTooltip(\n <span\n className={badgeClassName}\n data-slot=\"badge\"\n onClick={onClick}\n {...stateAttrs}\n {...props}\n >\n {renderLeading()}\n {children}\n {renderTrailing()}\n </span>\n )\n}\n\n/* eslint-enable sonarjs/no-duplicate-string */\n\nexport { Badge, badgeVariants }\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-RVAYDRMA.js';
|
|
2
2
|
import * as SwitchPrimitive from '@radix-ui/react-switch';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { cva } from 'class-variance-authority';
|
|
@@ -118,5 +118,5 @@ function Switch({
|
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
export { Switch, switchThumbVariants, switchVariants };
|
|
121
|
-
//# sourceMappingURL=chunk-
|
|
122
|
-
//# sourceMappingURL=chunk-
|
|
121
|
+
//# sourceMappingURL=chunk-I5RDX6O3.js.map
|
|
122
|
+
//# sourceMappingURL=chunk-I5RDX6O3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/forms/Switch/Switch.variants.ts","../src/components/forms/Switch/Switch.tsx"],"names":[],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/forms/Switch/Switch.variants.ts","../src/components/forms/Switch/Switch.tsx"],"names":[],"mappings":"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","file":"chunk-I5RDX6O3.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\nexport const switchVariants = cva(\n [\n \"peer inline-flex shrink-0 items-center border border-transparent transition-all outline-none\",\n \"rounded-[var(--switch-track-radius)] shadow-[var(--switch-track-shadow)]\",\n \"bg-[color:var(--switch-track-bg-off)] data-[state=checked]:bg-[color:var(--switch-track-bg-on)]\",\n \"dark:bg-input dark:data-[state=checked]:bg-primary\",\n \"focus-visible:border-[color:var(--switch-track-ring-primary)] focus-visible:ring-[color:var(--switch-track-ring-primary)]/50 focus-visible:ring-[length:var(--switch-track-ring-width)]\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n \"disabled:cursor-not-allowed disabled:bg-[color:var(--switch-track-bg-disabled)] disabled:opacity-50\",\n ],\n {\n variants: {\n size: {\n sm: \"h-[var(--switch-size-sm-h)] w-[var(--switch-size-sm-w)]\",\n md: \"h-[var(--switch-size-md-h)] w-[var(--switch-size-md-w)]\",\n lg: \"h-[var(--switch-size-lg-h)] w-[var(--switch-size-lg-w)]\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\nexport const switchThumbVariants = cva(\n [\n \"pointer-events-none block ring-0 transition-transform\",\n \"rounded-[var(--switch-thumb-radius)] bg-[color:var(--switch-thumb-bg)]\",\n \"dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground\",\n \"data-[state=unchecked]:translate-x-0\",\n ],\n {\n variants: {\n size: {\n sm: \"size-[var(--switch-thumb-size-sm)] data-[state=checked]:translate-x-3\",\n md: \"size-[var(--switch-thumb-size-md)] data-[state=checked]:translate-x-4\",\n lg: \"size-[var(--switch-thumb-size-lg)] data-[state=checked]:translate-x-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\nexport type SwitchVariantProps = VariantProps<typeof switchVariants>\nexport type SwitchThumbVariantProps = VariantProps<typeof switchThumbVariants>\n","import type { SwitchProps } from \"./Switch.types\"\n\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { switchThumbVariants, switchVariants } from \"./Switch.variants\"\n\nfunction Switch({\n className,\n size = \"md\",\n type = \"default\",\n switchText,\n descriptionText,\n showText,\n showDescription,\n id,\n ...props\n}: SwitchProps) {\n const generatedId = React.useId()\n const switchId = id ?? generatedId\n\n const shouldShowText =\n (showText ?? Boolean(switchText)) && Boolean(switchText)\n const shouldShowDescription =\n (showDescription ?? Boolean(descriptionText)) && Boolean(descriptionText)\n const hasComposition = shouldShowText || shouldShowDescription\n\n const switchEl = (\n <SwitchPrimitive.Root\n className={cn(switchVariants({ size }), className)}\n data-slot=\"switch\"\n id={switchId}\n {...props}\n >\n <SwitchPrimitive.Thumb\n className={switchThumbVariants({ size })}\n data-slot=\"switch-thumb\"\n />\n </SwitchPrimitive.Root>\n )\n\n if (!hasComposition) {\n return switchEl\n }\n\n return (\n <div\n className={cn(\n \"flex items-start gap-3\",\n type === \"box\" && \"rounded-md border border-input p-4\"\n )}\n data-slot=\"switch-composition\"\n data-type={type}\n >\n {switchEl}\n <div className=\"flex flex-col gap-1\" data-slot=\"switch-text-content\">\n {shouldShowText && (\n <label\n className=\"text-sm font-medium leading-none\"\n data-slot=\"switch-text\"\n htmlFor={switchId}\n >\n {switchText}\n </label>\n )}\n {shouldShowDescription && (\n <p\n className=\"text-xs text-muted-foreground leading-normal\"\n data-slot=\"switch-description\"\n >\n {descriptionText}\n </p>\n )}\n </div>\n </div>\n )\n}\n\nexport { Switch }\n"]}
|