@etus/ui 0.4.0-beta.18 → 0.4.0-beta.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-U2CXFKRK.js → chunk-2SUZS6GZ.js} +4 -4
- package/dist/{chunk-U2CXFKRK.js.map → chunk-2SUZS6GZ.js.map} +1 -1
- package/dist/{chunk-UPYT2XM5.js → chunk-2XNMKALT.js} +3 -3
- package/dist/{chunk-UPYT2XM5.js.map → chunk-2XNMKALT.js.map} +1 -1
- package/dist/{chunk-SM4AZOEP.js → chunk-3MOBFZJM.js} +4 -4
- package/dist/{chunk-SM4AZOEP.js.map → chunk-3MOBFZJM.js.map} +1 -1
- package/dist/{chunk-TA4HCLP3.js → chunk-3R6MY3YJ.js} +4 -4
- package/dist/{chunk-TA4HCLP3.js.map → chunk-3R6MY3YJ.js.map} +1 -1
- package/dist/{chunk-EVUHEBWX.js → chunk-447INBQP.js} +3 -3
- package/dist/{chunk-EVUHEBWX.js.map → chunk-447INBQP.js.map} +1 -1
- package/dist/{chunk-F7XARQUW.js → chunk-4LZ53BAG.js} +3 -3
- package/dist/{chunk-F7XARQUW.js.map → chunk-4LZ53BAG.js.map} +1 -1
- package/dist/{chunk-CYIFWQ5Y.js → chunk-4OWRNWHW.js} +3 -3
- package/dist/{chunk-CYIFWQ5Y.js.map → chunk-4OWRNWHW.js.map} +1 -1
- package/dist/{chunk-OQCGQG47.js → chunk-4RNPI3LU.js} +3 -3
- package/dist/{chunk-OQCGQG47.js.map → chunk-4RNPI3LU.js.map} +1 -1
- package/dist/{chunk-3NHH7VPI.js → chunk-4SFBDK4E.js} +4 -4
- package/dist/{chunk-3NHH7VPI.js.map → chunk-4SFBDK4E.js.map} +1 -1
- package/dist/{chunk-B7ZLPQSO.js → chunk-4XXAIWQ4.js} +3 -3
- package/dist/{chunk-B7ZLPQSO.js.map → chunk-4XXAIWQ4.js.map} +1 -1
- package/dist/{chunk-D2V2HKLX.js → chunk-5ETVWWA5.js} +3 -3
- package/dist/{chunk-D2V2HKLX.js.map → chunk-5ETVWWA5.js.map} +1 -1
- package/dist/{chunk-U4H3XHSI.js → chunk-5GV4LDX7.js} +4 -4
- package/dist/{chunk-U4H3XHSI.js.map → chunk-5GV4LDX7.js.map} +1 -1
- package/dist/{chunk-BFBGESUI.js → chunk-5MJQ5XSR.js} +4 -4
- package/dist/{chunk-BFBGESUI.js.map → chunk-5MJQ5XSR.js.map} +1 -1
- package/dist/{chunk-GKMR5SVC.js → chunk-5QDKJMUA.js} +3 -3
- package/dist/{chunk-GKMR5SVC.js.map → chunk-5QDKJMUA.js.map} +1 -1
- package/dist/{chunk-3NFQXZHO.js → chunk-5T7EKOJ5.js} +3 -3
- package/dist/{chunk-3NFQXZHO.js.map → chunk-5T7EKOJ5.js.map} +1 -1
- package/dist/{chunk-WBE6VQOO.js → chunk-5W3T767A.js} +3 -3
- package/dist/{chunk-WBE6VQOO.js.map → chunk-5W3T767A.js.map} +1 -1
- package/dist/{chunk-F5X2BBGU.js → chunk-5YUUE5JJ.js} +3 -3
- package/dist/{chunk-F5X2BBGU.js.map → chunk-5YUUE5JJ.js.map} +1 -1
- package/dist/{chunk-IQKKPOI7.js → chunk-627ZZ6HO.js} +4 -4
- package/dist/{chunk-IQKKPOI7.js.map → chunk-627ZZ6HO.js.map} +1 -1
- package/dist/{chunk-WCMRVCIM.js → chunk-6G5QK3SU.js} +3 -3
- package/dist/{chunk-WCMRVCIM.js.map → chunk-6G5QK3SU.js.map} +1 -1
- package/dist/{chunk-SMVH56FQ.js → chunk-6QVXMYKH.js} +3 -3
- package/dist/{chunk-SMVH56FQ.js.map → chunk-6QVXMYKH.js.map} +1 -1
- package/dist/{chunk-NWVYQYKK.js → chunk-6VEQLD2P.js} +3 -3
- package/dist/{chunk-NWVYQYKK.js.map → chunk-6VEQLD2P.js.map} +1 -1
- package/dist/{chunk-S6ORCWM2.js → chunk-73DDLKBG.js} +3 -3
- package/dist/{chunk-S6ORCWM2.js.map → chunk-73DDLKBG.js.map} +1 -1
- package/dist/{chunk-E27SQ54A.js → chunk-7AR5QRRX.js} +3 -3
- package/dist/{chunk-E27SQ54A.js.map → chunk-7AR5QRRX.js.map} +1 -1
- package/dist/{chunk-3MJNJKAF.js → chunk-7IKX4AFY.js} +4 -4
- package/dist/{chunk-3MJNJKAF.js.map → chunk-7IKX4AFY.js.map} +1 -1
- package/dist/{chunk-A7YNTSVU.js → chunk-7PX3WBR3.js} +3 -3
- package/dist/{chunk-A7YNTSVU.js.map → chunk-7PX3WBR3.js.map} +1 -1
- package/dist/{chunk-LR56MGWT.js → chunk-7QEFKWUR.js} +7 -7
- package/dist/{chunk-LR56MGWT.js.map → chunk-7QEFKWUR.js.map} +1 -1
- package/dist/{chunk-JRVUEOKT.js → chunk-7TX5X4EP.js} +3 -3
- package/dist/{chunk-JRVUEOKT.js.map → chunk-7TX5X4EP.js.map} +1 -1
- package/dist/{chunk-BQMQULAC.js → chunk-7XJQYAGY.js} +4 -4
- package/dist/{chunk-BQMQULAC.js.map → chunk-7XJQYAGY.js.map} +1 -1
- package/dist/{chunk-KA7747GR.js → chunk-7Y325TBV.js} +3 -3
- package/dist/{chunk-KA7747GR.js.map → chunk-7Y325TBV.js.map} +1 -1
- package/dist/{chunk-6KMRMXR6.js → chunk-7YZ7HNXX.js} +3 -3
- package/dist/{chunk-6KMRMXR6.js.map → chunk-7YZ7HNXX.js.map} +1 -1
- package/dist/{chunk-YACIRNVP.js → chunk-AD4RW2JV.js} +3 -3
- package/dist/{chunk-YACIRNVP.js.map → chunk-AD4RW2JV.js.map} +1 -1
- package/dist/{chunk-YMYXWHDU.js → chunk-ADX6C3V7.js} +3 -3
- package/dist/{chunk-YMYXWHDU.js.map → chunk-ADX6C3V7.js.map} +1 -1
- package/dist/{chunk-WVFQKBDB.js → chunk-AJUOTABG.js} +3 -3
- package/dist/{chunk-WVFQKBDB.js.map → chunk-AJUOTABG.js.map} +1 -1
- package/dist/{chunk-G5TWK7L3.js → chunk-AP4ZM3DV.js} +3 -3
- package/dist/{chunk-G5TWK7L3.js.map → chunk-AP4ZM3DV.js.map} +1 -1
- package/dist/{chunk-2X35C55E.js → chunk-ARJAIH7Q.js} +3 -3
- package/dist/{chunk-2X35C55E.js.map → chunk-ARJAIH7Q.js.map} +1 -1
- package/dist/{chunk-YCZ6M6EF.js → chunk-BBKDABQK.js} +3 -3
- package/dist/{chunk-YCZ6M6EF.js.map → chunk-BBKDABQK.js.map} +1 -1
- package/dist/{chunk-GPW57XOW.js → chunk-BSTUCHL4.js} +4 -4
- package/dist/{chunk-GPW57XOW.js.map → chunk-BSTUCHL4.js.map} +1 -1
- package/dist/{chunk-ARYBNQNS.js → chunk-BUCXPZYE.js} +4 -4
- package/dist/{chunk-ARYBNQNS.js.map → chunk-BUCXPZYE.js.map} +1 -1
- package/dist/{chunk-ESLSPRYA.js → chunk-C2MAX4YK.js} +3 -3
- package/dist/{chunk-ESLSPRYA.js.map → chunk-C2MAX4YK.js.map} +1 -1
- package/dist/{chunk-2FJJOHHH.js → chunk-C34UNXMN.js} +3 -3
- package/dist/{chunk-2FJJOHHH.js.map → chunk-C34UNXMN.js.map} +1 -1
- package/dist/{chunk-AEHYYTFW.js → chunk-CV77MF4G.js} +3 -3
- package/dist/{chunk-AEHYYTFW.js.map → chunk-CV77MF4G.js.map} +1 -1
- package/dist/{chunk-MQ2446N7.js → chunk-DGOW65KM.js} +3 -3
- package/dist/{chunk-MQ2446N7.js.map → chunk-DGOW65KM.js.map} +1 -1
- package/dist/{chunk-NULX3RRN.js → chunk-DJHDCDU6.js} +4 -4
- package/dist/{chunk-NULX3RRN.js.map → chunk-DJHDCDU6.js.map} +1 -1
- package/dist/{chunk-USPITOG4.js → chunk-DQGBTZRX.js} +4 -4
- package/dist/{chunk-USPITOG4.js.map → chunk-DQGBTZRX.js.map} +1 -1
- package/dist/{chunk-2IFYXJ3H.js → chunk-DRIEZH7R.js} +3 -3
- package/dist/{chunk-2IFYXJ3H.js.map → chunk-DRIEZH7R.js.map} +1 -1
- package/dist/{chunk-VWW3DJKI.js → chunk-E6SAO2CY.js} +3 -3
- package/dist/{chunk-VWW3DJKI.js.map → chunk-E6SAO2CY.js.map} +1 -1
- package/dist/{chunk-5ACHKT35.js → chunk-EDSIOUUR.js} +4 -4
- package/dist/{chunk-5ACHKT35.js.map → chunk-EDSIOUUR.js.map} +1 -1
- package/dist/{chunk-G2CMEHW6.js → chunk-ELRIFGMN.js} +4 -4
- package/dist/{chunk-G2CMEHW6.js.map → chunk-ELRIFGMN.js.map} +1 -1
- package/dist/{chunk-IMUBWKZC.js → chunk-EO4NGM5W.js} +4 -4
- package/dist/{chunk-IMUBWKZC.js.map → chunk-EO4NGM5W.js.map} +1 -1
- package/dist/{chunk-AFCSDND5.js → chunk-EQ4YAADN.js} +3 -3
- package/dist/{chunk-AFCSDND5.js.map → chunk-EQ4YAADN.js.map} +1 -1
- package/dist/{chunk-AP3T3KMY.js → chunk-EZYXD2YI.js} +4 -4
- package/dist/{chunk-AP3T3KMY.js.map → chunk-EZYXD2YI.js.map} +1 -1
- package/dist/{chunk-HJ4E6YPW.js → chunk-F3ETIDS7.js} +4 -4
- package/dist/{chunk-HJ4E6YPW.js.map → chunk-F3ETIDS7.js.map} +1 -1
- package/dist/{chunk-LNY2EXOV.js → chunk-F3WDMYZ4.js} +3 -3
- package/dist/{chunk-LNY2EXOV.js.map → chunk-F3WDMYZ4.js.map} +1 -1
- package/dist/{chunk-FPCRGFNY.js → chunk-FRKB4Z2P.js} +3 -3
- package/dist/{chunk-FPCRGFNY.js.map → chunk-FRKB4Z2P.js.map} +1 -1
- package/dist/{chunk-YGLD22TU.js → chunk-FVRSXJKS.js} +3 -3
- package/dist/{chunk-YGLD22TU.js.map → chunk-FVRSXJKS.js.map} +1 -1
- package/dist/{chunk-AR7K7Y4L.js → chunk-FXFVFSG5.js} +5 -5
- package/dist/{chunk-AR7K7Y4L.js.map → chunk-FXFVFSG5.js.map} +1 -1
- package/dist/{chunk-WQI2USN7.js → chunk-GDZECJFS.js} +3 -3
- package/dist/{chunk-WQI2USN7.js.map → chunk-GDZECJFS.js.map} +1 -1
- package/dist/{chunk-7CMOCWFX.js → chunk-GLHKHYJY.js} +8 -8
- package/dist/{chunk-7CMOCWFX.js.map → chunk-GLHKHYJY.js.map} +1 -1
- package/dist/{chunk-IA24GUNV.js → chunk-GRODCJS4.js} +8 -8
- package/dist/{chunk-IA24GUNV.js.map → chunk-GRODCJS4.js.map} +1 -1
- package/dist/{chunk-JDG5A44W.js → chunk-GVNG5ME6.js} +22 -11
- package/dist/chunk-GVNG5ME6.js.map +1 -0
- package/dist/{chunk-5J5OL4IV.js → chunk-GWSM2XNV.js} +3 -3
- package/dist/{chunk-5J5OL4IV.js.map → chunk-GWSM2XNV.js.map} +1 -1
- package/dist/{chunk-2NY6DDLO.js → chunk-H32A6UPL.js} +3 -3
- package/dist/{chunk-2NY6DDLO.js.map → chunk-H32A6UPL.js.map} +1 -1
- package/dist/{chunk-HV2ZZXFN.js → chunk-HHWUROMA.js} +6 -6
- package/dist/{chunk-HV2ZZXFN.js.map → chunk-HHWUROMA.js.map} +1 -1
- package/dist/{chunk-CNRV2IGH.js → chunk-HM6TEHA6.js} +3 -3
- package/dist/{chunk-CNRV2IGH.js.map → chunk-HM6TEHA6.js.map} +1 -1
- package/dist/{chunk-6ABGMOE2.js → chunk-HNQX6ZG7.js} +4 -4
- package/dist/{chunk-6ABGMOE2.js.map → chunk-HNQX6ZG7.js.map} +1 -1
- package/dist/{chunk-HAEZLC7V.js → chunk-I5RDX6O3.js} +3 -3
- package/dist/{chunk-HAEZLC7V.js.map → chunk-I5RDX6O3.js.map} +1 -1
- package/dist/{chunk-B2OCNHUW.js → chunk-IKLFWGFS.js} +70 -52
- package/dist/chunk-IKLFWGFS.js.map +1 -0
- package/dist/{chunk-DL7D5F7B.js → chunk-IPCT4YZT.js} +3 -3
- package/dist/{chunk-DL7D5F7B.js.map → chunk-IPCT4YZT.js.map} +1 -1
- package/dist/{chunk-BIUVOZQG.js → chunk-IPDAFW4F.js} +3 -3
- package/dist/{chunk-BIUVOZQG.js.map → chunk-IPDAFW4F.js.map} +1 -1
- package/dist/{chunk-G2MAGZHQ.js → chunk-IXZBH33I.js} +3 -3
- package/dist/{chunk-G2MAGZHQ.js.map → chunk-IXZBH33I.js.map} +1 -1
- package/dist/{chunk-ZHUW6UYD.js → chunk-JDETM3FL.js} +3 -3
- package/dist/{chunk-ZHUW6UYD.js.map → chunk-JDETM3FL.js.map} +1 -1
- package/dist/{chunk-HZ47LQFJ.js → chunk-JE46MFMN.js} +6 -6
- package/dist/{chunk-HZ47LQFJ.js.map → chunk-JE46MFMN.js.map} +1 -1
- package/dist/{chunk-3JCV72FO.js → chunk-JFV7CNBP.js} +4 -4
- package/dist/{chunk-3JCV72FO.js.map → chunk-JFV7CNBP.js.map} +1 -1
- package/dist/{chunk-7RTHGI6E.js → chunk-JPRHMMY6.js} +3 -3
- package/dist/{chunk-7RTHGI6E.js.map → chunk-JPRHMMY6.js.map} +1 -1
- package/dist/{chunk-G2V7D7VC.js → chunk-JUSPLVWO.js} +5 -5
- package/dist/{chunk-G2V7D7VC.js.map → chunk-JUSPLVWO.js.map} +1 -1
- package/dist/{chunk-FRDYXDAE.js → chunk-JUZ4JQWH.js} +3 -3
- package/dist/{chunk-FRDYXDAE.js.map → chunk-JUZ4JQWH.js.map} +1 -1
- package/dist/{chunk-6SHOL6WR.js → chunk-JVTB3NTP.js} +3 -3
- package/dist/{chunk-6SHOL6WR.js.map → chunk-JVTB3NTP.js.map} +1 -1
- package/dist/{chunk-XETKCF73.js → chunk-JXEIRIU4.js} +3 -3
- package/dist/{chunk-XETKCF73.js.map → chunk-JXEIRIU4.js.map} +1 -1
- package/dist/{chunk-XKO6G5H2.js → chunk-JYYB6F5O.js} +3 -3
- package/dist/{chunk-XKO6G5H2.js.map → chunk-JYYB6F5O.js.map} +1 -1
- package/dist/{chunk-V7WEN4SD.js → chunk-JZA45LEV.js} +3 -3
- package/dist/{chunk-V7WEN4SD.js.map → chunk-JZA45LEV.js.map} +1 -1
- package/dist/{chunk-FCSYPOHF.js → chunk-K44K3EHW.js} +3 -3
- package/dist/{chunk-FCSYPOHF.js.map → chunk-K44K3EHW.js.map} +1 -1
- package/dist/{chunk-ZMUUEXVD.js → chunk-K4UCALQQ.js} +3 -3
- package/dist/{chunk-ZMUUEXVD.js.map → chunk-K4UCALQQ.js.map} +1 -1
- package/dist/{chunk-KYURFRCH.js → chunk-KBU4KJKC.js} +7 -7
- package/dist/{chunk-KYURFRCH.js.map → chunk-KBU4KJKC.js.map} +1 -1
- package/dist/{chunk-JRWQHBJC.js → chunk-KDNTSZF5.js} +4 -4
- package/dist/{chunk-JRWQHBJC.js.map → chunk-KDNTSZF5.js.map} +1 -1
- package/dist/{chunk-WZ2J4ALB.js → chunk-KHCHATTD.js} +5 -5
- package/dist/{chunk-WZ2J4ALB.js.map → chunk-KHCHATTD.js.map} +1 -1
- package/dist/{chunk-57KTYE5H.js → chunk-KHJIUHHM.js} +3 -3
- package/dist/{chunk-57KTYE5H.js.map → chunk-KHJIUHHM.js.map} +1 -1
- package/dist/{chunk-H7JHFBFD.js → chunk-KLFYTLF3.js} +4 -4
- package/dist/{chunk-H7JHFBFD.js.map → chunk-KLFYTLF3.js.map} +1 -1
- package/dist/{chunk-W3QUVCRK.js → chunk-KXJ3SEW7.js} +3 -3
- package/dist/{chunk-W3QUVCRK.js.map → chunk-KXJ3SEW7.js.map} +1 -1
- package/dist/{chunk-X5XP5QVO.js → chunk-L4OQ6BJ5.js} +6 -6
- package/dist/{chunk-X5XP5QVO.js.map → chunk-L4OQ6BJ5.js.map} +1 -1
- package/dist/{chunk-MAM6VUKD.js → chunk-LCBB3N5H.js} +3 -3
- package/dist/{chunk-MAM6VUKD.js.map → chunk-LCBB3N5H.js.map} +1 -1
- package/dist/{chunk-FLERVSKG.js → chunk-LDK6ADKM.js} +6 -6
- package/dist/{chunk-FLERVSKG.js.map → chunk-LDK6ADKM.js.map} +1 -1
- package/dist/{chunk-K4MYVFWQ.js → chunk-LP6JYJQN.js} +4 -4
- package/dist/{chunk-K4MYVFWQ.js.map → chunk-LP6JYJQN.js.map} +1 -1
- package/dist/{chunk-7VGF6ZVE.js → chunk-LRE3LJMW.js} +5 -5
- package/dist/{chunk-7VGF6ZVE.js.map → chunk-LRE3LJMW.js.map} +1 -1
- package/dist/{chunk-LQVQ7SHG.js → chunk-LSRKDZW4.js} +4 -4
- package/dist/{chunk-LQVQ7SHG.js.map → chunk-LSRKDZW4.js.map} +1 -1
- package/dist/{chunk-WBERMEN7.js → chunk-MGIGDALC.js} +3 -3
- package/dist/{chunk-WBERMEN7.js.map → chunk-MGIGDALC.js.map} +1 -1
- package/dist/{chunk-IRFAIJLV.js → chunk-MNYU5MHO.js} +7 -7
- package/dist/{chunk-IRFAIJLV.js.map → chunk-MNYU5MHO.js.map} +1 -1
- package/dist/{chunk-6GWO7JNP.js → chunk-MXBDOYQL.js} +4 -4
- package/dist/{chunk-6GWO7JNP.js.map → chunk-MXBDOYQL.js.map} +1 -1
- package/dist/{chunk-37KLBMFQ.js → chunk-N2DAVD4Y.js} +3 -3
- package/dist/{chunk-37KLBMFQ.js.map → chunk-N2DAVD4Y.js.map} +1 -1
- package/dist/{chunk-EC5YEK3C.js → chunk-N5YGAESZ.js} +5 -5
- package/dist/{chunk-EC5YEK3C.js.map → chunk-N5YGAESZ.js.map} +1 -1
- package/dist/{chunk-DSCLJ3GK.js → chunk-N7VMQWM3.js} +15 -10
- package/dist/chunk-N7VMQWM3.js.map +1 -0
- package/dist/{chunk-5KTMPLDK.js → chunk-NAI3TX52.js} +3 -3
- package/dist/{chunk-5KTMPLDK.js.map → chunk-NAI3TX52.js.map} +1 -1
- package/dist/{chunk-QHKOBGLW.js → chunk-NGX3ITG4.js} +3 -3
- package/dist/{chunk-QHKOBGLW.js.map → chunk-NGX3ITG4.js.map} +1 -1
- package/dist/{chunk-5SUD32RK.js → chunk-NHUUSXBL.js} +3 -3
- package/dist/{chunk-5SUD32RK.js.map → chunk-NHUUSXBL.js.map} +1 -1
- package/dist/{chunk-IOWHM7ZY.js → chunk-NIRTZLZL.js} +4 -4
- package/dist/{chunk-IOWHM7ZY.js.map → chunk-NIRTZLZL.js.map} +1 -1
- package/dist/{chunk-5E44I7PB.js → chunk-NLPVF34P.js} +4 -4
- package/dist/{chunk-5E44I7PB.js.map → chunk-NLPVF34P.js.map} +1 -1
- package/dist/{chunk-ZPAWUKJI.js → chunk-NNWMBVCB.js} +4 -4
- package/dist/{chunk-ZPAWUKJI.js.map → chunk-NNWMBVCB.js.map} +1 -1
- package/dist/{chunk-H4ANCFZG.js → chunk-NUA54ABI.js} +4 -4
- package/dist/{chunk-H4ANCFZG.js.map → chunk-NUA54ABI.js.map} +1 -1
- package/dist/{chunk-ZPCELVWJ.js → chunk-NY2WZ4P2.js} +4 -4
- package/dist/{chunk-ZPCELVWJ.js.map → chunk-NY2WZ4P2.js.map} +1 -1
- package/dist/{chunk-BECPEVUL.js → chunk-O6LFU3KB.js} +3 -3
- package/dist/{chunk-BECPEVUL.js.map → chunk-O6LFU3KB.js.map} +1 -1
- package/dist/{chunk-HXHB2CK5.js → chunk-OAES72MK.js} +3 -3
- package/dist/{chunk-HXHB2CK5.js.map → chunk-OAES72MK.js.map} +1 -1
- package/dist/{chunk-NGR4HFVA.js → chunk-OCH7GGZF.js} +3 -3
- package/dist/{chunk-NGR4HFVA.js.map → chunk-OCH7GGZF.js.map} +1 -1
- package/dist/{chunk-HA5YVDHW.js → chunk-ONN5XVYC.js} +3 -3
- package/dist/{chunk-HA5YVDHW.js.map → chunk-ONN5XVYC.js.map} +1 -1
- package/dist/{chunk-OG3M4CMJ.js → chunk-OWZ3MZ5C.js} +3 -3
- package/dist/{chunk-OG3M4CMJ.js.map → chunk-OWZ3MZ5C.js.map} +1 -1
- package/dist/{chunk-MK6ID2HI.js → chunk-OXO6SKJO.js} +3 -3
- package/dist/{chunk-MK6ID2HI.js.map → chunk-OXO6SKJO.js.map} +1 -1
- package/dist/{chunk-5K2SOCOX.js → chunk-P4WMDGAQ.js} +4 -4
- package/dist/{chunk-5K2SOCOX.js.map → chunk-P4WMDGAQ.js.map} +1 -1
- package/dist/{chunk-K43MPWTO.js → chunk-PBZI5XNV.js} +3 -3
- package/dist/{chunk-K43MPWTO.js.map → chunk-PBZI5XNV.js.map} +1 -1
- package/dist/{chunk-HI3T55XK.js → chunk-PEX7FCZC.js} +3 -3
- package/dist/{chunk-HI3T55XK.js.map → chunk-PEX7FCZC.js.map} +1 -1
- package/dist/{chunk-WMG2MMJF.js → chunk-PI4WGIPG.js} +3 -3
- package/dist/{chunk-WMG2MMJF.js.map → chunk-PI4WGIPG.js.map} +1 -1
- package/dist/{chunk-V7O4X3AE.js → chunk-PTXC4KPQ.js} +4 -4
- package/dist/{chunk-V7O4X3AE.js.map → chunk-PTXC4KPQ.js.map} +1 -1
- package/dist/{chunk-34WNJNPL.js → chunk-PVIIIQJI.js} +6 -6
- package/dist/{chunk-34WNJNPL.js.map → chunk-PVIIIQJI.js.map} +1 -1
- package/dist/{chunk-A4O3USMA.js → chunk-PXR6CZIL.js} +4 -4
- package/dist/{chunk-A4O3USMA.js.map → chunk-PXR6CZIL.js.map} +1 -1
- package/dist/{chunk-KDJCZXLB.js → chunk-PZSKZFVO.js} +3 -3
- package/dist/{chunk-KDJCZXLB.js.map → chunk-PZSKZFVO.js.map} +1 -1
- package/dist/{chunk-DNAGXK2C.js → chunk-Q3JCNSPU.js} +4 -4
- package/dist/{chunk-DNAGXK2C.js.map → chunk-Q3JCNSPU.js.map} +1 -1
- package/dist/{chunk-JUTPDS4E.js → chunk-QD2ZS5DU.js} +4 -4
- package/dist/{chunk-JUTPDS4E.js.map → chunk-QD2ZS5DU.js.map} +1 -1
- package/dist/{chunk-DI3AISAZ.js → chunk-QJOWG2D4.js} +5 -5
- package/dist/{chunk-DI3AISAZ.js.map → chunk-QJOWG2D4.js.map} +1 -1
- package/dist/{chunk-6F5NWXZF.js → chunk-QLYH3GCV.js} +4 -4
- package/dist/{chunk-6F5NWXZF.js.map → chunk-QLYH3GCV.js.map} +1 -1
- package/dist/{chunk-F4EX3622.js → chunk-QO6TOE45.js} +3 -3
- package/dist/{chunk-F4EX3622.js.map → chunk-QO6TOE45.js.map} +1 -1
- package/dist/{chunk-46SUPGQV.js → chunk-QWWA4FZP.js} +3 -3
- package/dist/{chunk-46SUPGQV.js.map → chunk-QWWA4FZP.js.map} +1 -1
- package/dist/{chunk-VTDSGJ4R.js → chunk-QXET2TML.js} +4 -4
- package/dist/{chunk-VTDSGJ4R.js.map → chunk-QXET2TML.js.map} +1 -1
- package/dist/{chunk-2VHARFMD.js → chunk-QZ7SGO7L.js} +3 -3
- package/dist/{chunk-2VHARFMD.js.map → chunk-QZ7SGO7L.js.map} +1 -1
- package/dist/{chunk-XORDGKZI.js → chunk-R42LSLJL.js} +6 -6
- package/dist/{chunk-XORDGKZI.js.map → chunk-R42LSLJL.js.map} +1 -1
- package/dist/{chunk-EVZ2GZU4.js → chunk-RMJVCJ6U.js} +3 -3
- package/dist/{chunk-EVZ2GZU4.js.map → chunk-RMJVCJ6U.js.map} +1 -1
- package/dist/{chunk-UYPYAOET.js → chunk-ROPW65RD.js} +3 -3
- package/dist/{chunk-UYPYAOET.js.map → chunk-ROPW65RD.js.map} +1 -1
- package/dist/{chunk-M6VBDPNQ.js → chunk-RQBYBBMP.js} +3 -3
- package/dist/{chunk-M6VBDPNQ.js.map → chunk-RQBYBBMP.js.map} +1 -1
- package/dist/chunk-RVAYDRMA.js +31 -0
- package/dist/chunk-RVAYDRMA.js.map +1 -0
- package/dist/{chunk-ARNVOHVW.js → chunk-S4P7JIQ2.js} +3 -3
- package/dist/{chunk-ARNVOHVW.js.map → chunk-S4P7JIQ2.js.map} +1 -1
- package/dist/{chunk-AKRVZ2YW.js → chunk-S6BREP2G.js} +4 -4
- package/dist/{chunk-AKRVZ2YW.js.map → chunk-S6BREP2G.js.map} +1 -1
- package/dist/{chunk-Y5GO2F6P.js → chunk-SA3IQI3Y.js} +3 -3
- package/dist/{chunk-Y5GO2F6P.js.map → chunk-SA3IQI3Y.js.map} +1 -1
- package/dist/{chunk-56TC4CPT.js → chunk-SKI25Q7O.js} +6 -6
- package/dist/{chunk-56TC4CPT.js.map → chunk-SKI25Q7O.js.map} +1 -1
- package/dist/{chunk-MLSIZ6JU.js → chunk-SSKSWSVO.js} +5 -5
- package/dist/{chunk-MLSIZ6JU.js.map → chunk-SSKSWSVO.js.map} +1 -1
- package/dist/{chunk-VV6QE3M2.js → chunk-STADVFL2.js} +5 -5
- package/dist/{chunk-VV6QE3M2.js.map → chunk-STADVFL2.js.map} +1 -1
- package/dist/{chunk-UA3OQAHJ.js → chunk-SX63UD5X.js} +3 -3
- package/dist/{chunk-UA3OQAHJ.js.map → chunk-SX63UD5X.js.map} +1 -1
- package/dist/{chunk-YZY35OHQ.js → chunk-SXSR2VRG.js} +4 -4
- package/dist/{chunk-YZY35OHQ.js.map → chunk-SXSR2VRG.js.map} +1 -1
- package/dist/{chunk-AR3OXNPL.js → chunk-TDANAN5A.js} +3 -3
- package/dist/{chunk-AR3OXNPL.js.map → chunk-TDANAN5A.js.map} +1 -1
- package/dist/{chunk-7ZJ32KRQ.js → chunk-TEVGCTUN.js} +3 -3
- package/dist/{chunk-7ZJ32KRQ.js.map → chunk-TEVGCTUN.js.map} +1 -1
- package/dist/{chunk-GAMOVEZD.js → chunk-TIPKU427.js} +3 -3
- package/dist/{chunk-GAMOVEZD.js.map → chunk-TIPKU427.js.map} +1 -1
- package/dist/{chunk-2Q4I4VDB.js → chunk-TK5WS675.js} +3 -3
- package/dist/{chunk-2Q4I4VDB.js.map → chunk-TK5WS675.js.map} +1 -1
- package/dist/{chunk-EDSDAX56.js → chunk-TNSMTINE.js} +4 -4
- package/dist/{chunk-EDSDAX56.js.map → chunk-TNSMTINE.js.map} +1 -1
- package/dist/{chunk-5TABQJDW.js → chunk-TRTVYFOF.js} +3 -3
- package/dist/{chunk-5TABQJDW.js.map → chunk-TRTVYFOF.js.map} +1 -1
- package/dist/{chunk-QBLU7J34.js → chunk-TSE3PKWQ.js} +3 -3
- package/dist/{chunk-QBLU7J34.js.map → chunk-TSE3PKWQ.js.map} +1 -1
- package/dist/{chunk-3BBOSSDG.js → chunk-U7TPJMGY.js} +4 -4
- package/dist/{chunk-3BBOSSDG.js.map → chunk-U7TPJMGY.js.map} +1 -1
- package/dist/{chunk-PGRMKSVA.js → chunk-UC5J6GWG.js} +4 -4
- package/dist/{chunk-PGRMKSVA.js.map → chunk-UC5J6GWG.js.map} +1 -1
- package/dist/{chunk-HP7LEQJR.js → chunk-UNHPLKMR.js} +3 -3
- package/dist/{chunk-HP7LEQJR.js.map → chunk-UNHPLKMR.js.map} +1 -1
- package/dist/{chunk-I7ZLEC7Y.js → chunk-UZEJ3ZVR.js} +3 -3
- package/dist/{chunk-I7ZLEC7Y.js.map → chunk-UZEJ3ZVR.js.map} +1 -1
- package/dist/{chunk-J62NPPDO.js → chunk-UZZCEQH4.js} +4 -4
- package/dist/{chunk-J62NPPDO.js.map → chunk-UZZCEQH4.js.map} +1 -1
- package/dist/{chunk-AEE5GDNA.js → chunk-V4NSLSCA.js} +4 -4
- package/dist/{chunk-AEE5GDNA.js.map → chunk-V4NSLSCA.js.map} +1 -1
- package/dist/{chunk-IZC5YFGO.js → chunk-V57DERRV.js} +14 -7
- package/dist/chunk-V57DERRV.js.map +1 -0
- package/dist/{chunk-PM344VOQ.js → chunk-VHJ6ALIE.js} +4 -4
- package/dist/{chunk-PM344VOQ.js.map → chunk-VHJ6ALIE.js.map} +1 -1
- package/dist/{chunk-N3I6GA4I.js → chunk-WG34IXUV.js} +3 -3
- package/dist/{chunk-N3I6GA4I.js.map → chunk-WG34IXUV.js.map} +1 -1
- package/dist/{chunk-45YJLE4R.js → chunk-WGKOYZRI.js} +3 -3
- package/dist/{chunk-45YJLE4R.js.map → chunk-WGKOYZRI.js.map} +1 -1
- package/dist/{chunk-6DN2UAIR.js → chunk-WGSVSZ7V.js} +3 -3
- package/dist/{chunk-6DN2UAIR.js.map → chunk-WGSVSZ7V.js.map} +1 -1
- package/dist/{chunk-X4YUWX7H.js → chunk-WK324C6D.js} +4 -4
- package/dist/{chunk-X4YUWX7H.js.map → chunk-WK324C6D.js.map} +1 -1
- package/dist/{chunk-N2WITPE2.js → chunk-WOP5OWLG.js} +3 -3
- package/dist/{chunk-N2WITPE2.js.map → chunk-WOP5OWLG.js.map} +1 -1
- package/dist/{chunk-MAM5PTRV.js → chunk-WSDWJX4Y.js} +4 -4
- package/dist/{chunk-MAM5PTRV.js.map → chunk-WSDWJX4Y.js.map} +1 -1
- package/dist/{chunk-2XJWE2XR.js → chunk-WUS45IZW.js} +4 -4
- package/dist/{chunk-2XJWE2XR.js.map → chunk-WUS45IZW.js.map} +1 -1
- package/dist/{chunk-B3BDIM4H.js → chunk-WVOZYDH3.js} +3 -3
- package/dist/{chunk-B3BDIM4H.js.map → chunk-WVOZYDH3.js.map} +1 -1
- package/dist/{chunk-HVFACGNK.js → chunk-WWK7UIKK.js} +3 -3
- package/dist/{chunk-HVFACGNK.js.map → chunk-WWK7UIKK.js.map} +1 -1
- package/dist/{chunk-NCLOPI6U.js → chunk-X2EMALTZ.js} +3 -3
- package/dist/{chunk-NCLOPI6U.js.map → chunk-X2EMALTZ.js.map} +1 -1
- package/dist/{chunk-PK5O62XD.js → chunk-X4CJFD6D.js} +3 -3
- package/dist/{chunk-PK5O62XD.js.map → chunk-X4CJFD6D.js.map} +1 -1
- package/dist/{chunk-JWXK4TMX.js → chunk-XEQGATVF.js} +3 -3
- package/dist/{chunk-JWXK4TMX.js.map → chunk-XEQGATVF.js.map} +1 -1
- package/dist/{chunk-B6KQKQ4S.js → chunk-XMUD3LG7.js} +3 -3
- package/dist/{chunk-B6KQKQ4S.js.map → chunk-XMUD3LG7.js.map} +1 -1
- package/dist/{chunk-5ZEYTBTU.js → chunk-XWBVIBN4.js} +3 -3
- package/dist/{chunk-5ZEYTBTU.js.map → chunk-XWBVIBN4.js.map} +1 -1
- package/dist/{chunk-7I6KK6QE.js → chunk-XXWCMY2G.js} +3 -3
- package/dist/{chunk-7I6KK6QE.js.map → chunk-XXWCMY2G.js.map} +1 -1
- package/dist/{chunk-LFN7UHDT.js → chunk-Y4FEW7SR.js} +3 -3
- package/dist/{chunk-LFN7UHDT.js.map → chunk-Y4FEW7SR.js.map} +1 -1
- package/dist/{chunk-PFVT27B5.js → chunk-YC5VVIZO.js} +3 -3
- package/dist/{chunk-PFVT27B5.js.map → chunk-YC5VVIZO.js.map} +1 -1
- package/dist/{chunk-OR3NPCY2.js → chunk-YMCKML6D.js} +7 -7
- package/dist/{chunk-OR3NPCY2.js.map → chunk-YMCKML6D.js.map} +1 -1
- package/dist/{chunk-TGLALXPU.js → chunk-YMQDTTO7.js} +6 -6
- package/dist/{chunk-TGLALXPU.js.map → chunk-YMQDTTO7.js.map} +1 -1
- package/dist/{chunk-ZARZYMBM.js → chunk-YNTS4GRT.js} +3 -3
- package/dist/{chunk-ZARZYMBM.js.map → chunk-YNTS4GRT.js.map} +1 -1
- package/dist/{chunk-6SZRWNPT.js → chunk-ZOHLZ4YL.js} +3 -3
- package/dist/{chunk-6SZRWNPT.js.map → chunk-ZOHLZ4YL.js.map} +1 -1
- package/dist/{chunk-VUHJTTPV.js → chunk-ZVSMLMMS.js} +3 -3
- package/dist/{chunk-VUHJTTPV.js.map → chunk-ZVSMLMMS.js.map} +1 -1
- package/dist/{chunk-VKDN66VL.js → chunk-ZXWT4KWJ.js} +3 -3
- package/dist/{chunk-VKDN66VL.js.map → chunk-ZXWT4KWJ.js.map} +1 -1
- package/dist/components/advanced/AssetManager/index.js +2 -2
- package/dist/components/advanced/Calendar/index.js +7 -7
- package/dist/components/advanced/Command/index.js +3 -3
- package/dist/components/advanced/DragAndDrop/index.js +2 -2
- package/dist/components/advanced/ErrorBoundary/index.js +2 -2
- package/dist/components/advanced/EventCalendar/index.js +7 -7
- package/dist/components/advanced/FileDropzone/index.js +2 -2
- package/dist/components/advanced/FilePreview/index.js +2 -2
- package/dist/components/advanced/FileUpload/index.js +2 -2
- package/dist/components/advanced/FilterBuilder/index.js +9 -9
- package/dist/components/advanced/MarkdownEditor/index.js +6 -6
- package/dist/components/advanced/ReportBuilder/index.js +7 -7
- package/dist/components/advanced/RichTextEditor/index.js +4 -4
- package/dist/components/advanced/Search/index.js +2 -2
- package/dist/components/advanced/SortableList/index.js +2 -2
- package/dist/components/advanced/VersionControl/index.js +2 -2
- package/dist/components/advanced/index.js +30 -30
- package/dist/components/data-display/Accordion/index.js +2 -2
- package/dist/components/data-display/AreaChart/index.js +3 -3
- package/dist/components/data-display/Banner/index.js +2 -2
- package/dist/components/data-display/BarChart/index.js +3 -3
- package/dist/components/data-display/BarList/index.js +2 -2
- package/dist/components/data-display/Callout/index.js +2 -2
- package/dist/components/data-display/Carousel/index.js +7 -7
- package/dist/components/data-display/CategoryBar/index.js +3 -3
- package/dist/components/data-display/Chart/index.js +2 -2
- package/dist/components/data-display/ChartCard/index.js +5 -5
- package/dist/components/data-display/ChartLegend/index.js +2 -2
- package/dist/components/data-display/ComboChart/index.js +3 -3
- package/dist/components/data-display/DashboardCard/index.js +3 -3
- package/dist/components/data-display/DataTable/FilterBuilder/index.js +9 -9
- package/dist/components/data-display/DataTable/index.js +16 -16
- package/dist/components/data-display/DeltaBar/index.js +3 -3
- package/dist/components/data-display/EmptyState/index.js +2 -2
- package/dist/components/data-display/FeatureItem/index.js +3 -3
- package/dist/components/data-display/Feed/index.js +2 -2
- package/dist/components/data-display/FunnelChart/index.js +3 -3
- package/dist/components/data-display/GaugeChart/index.js +2 -2
- package/dist/components/data-display/Heatmap/index.js +3 -3
- package/dist/components/data-display/HoverCard/index.js +2 -2
- package/dist/components/data-display/ImageGallery/index.js +9 -9
- package/dist/components/data-display/Item/index.js +3 -3
- package/dist/components/data-display/KPICard/index.js +8 -8
- package/dist/components/data-display/Lightbox/index.js +2 -2
- package/dist/components/data-display/LineChart/index.js +3 -3
- package/dist/components/data-display/List/index.js +6 -6
- package/dist/components/data-display/MarkerBar/index.js +3 -3
- package/dist/components/data-display/PieChart/index.js +3 -3
- package/dist/components/data-display/RadarChart/index.js +3 -3
- package/dist/components/data-display/RadialChart/index.js +3 -3
- package/dist/components/data-display/ScatterChart/index.js +3 -3
- package/dist/components/data-display/SingleStat/index.js +3 -3
- package/dist/components/data-display/Sparkline/index.js +2 -2
- package/dist/components/data-display/Table/index.js +2 -2
- package/dist/components/data-display/Timeline/index.js +2 -2
- package/dist/components/data-display/Tracker/index.js +3 -3
- package/dist/components/data-display/VirtualTable/index.js +5 -5
- package/dist/components/data-display/index.js +56 -56
- package/dist/components/feedback/Alert/index.js +2 -2
- package/dist/components/feedback/AlertDialog/index.js +7 -7
- package/dist/components/feedback/ConfirmModal/index.js +8 -8
- package/dist/components/feedback/Dialog/index.js +2 -2
- package/dist/components/feedback/ErrorPage/index.js +2 -2
- package/dist/components/feedback/FocusTrap/index.js +2 -2
- package/dist/components/feedback/Message/index.js +2 -2
- package/dist/components/feedback/Modal/index.js +2 -2
- package/dist/components/feedback/Notification/index.js +4 -4
- package/dist/components/feedback/Popover/index.js +2 -2
- package/dist/components/feedback/Tooltip/index.js +2 -2
- package/dist/components/feedback/UpdatesWidget/index.js +2 -2
- package/dist/components/feedback/index.js +18 -18
- package/dist/components/forms/Autocomplete/index.js +2 -2
- package/dist/components/forms/Checkbox/index.js +2 -2
- package/dist/components/forms/CheckboxGroup/index.js +3 -3
- package/dist/components/forms/ColorPicker/index.js +3 -3
- package/dist/components/forms/Combobox/index.js +2 -2
- package/dist/components/forms/DatePicker/index.js +10 -10
- package/dist/components/forms/DateRangePicker/index.js +10 -10
- package/dist/components/forms/EmailInput/index.js +3 -3
- package/dist/components/forms/ErrorMessage/index.js +2 -2
- package/dist/components/forms/Field/index.js +4 -4
- package/dist/components/forms/FloatLabel/index.js +2 -2
- package/dist/components/forms/Form/index.js +3 -3
- package/dist/components/forms/FormValidation/index.js +2 -2
- package/dist/components/forms/HelpText/index.js +2 -2
- package/dist/components/forms/IftaLabel/index.js +2 -2
- package/dist/components/forms/InputGroup/index.js +9 -9
- package/dist/components/forms/InputOTP/index.js +2 -2
- package/dist/components/forms/InputOTPField/index.js +6 -6
- package/dist/components/forms/MultiSelect/index.js +3 -3
- package/dist/components/forms/NativeSelect/index.js +2 -2
- package/dist/components/forms/NumberInput/index.js +2 -2
- package/dist/components/forms/PasswordInput/index.js +3 -3
- package/dist/components/forms/PaymentInput/index.js +2 -2
- package/dist/components/forms/PhoneInput/index.js +2 -2
- package/dist/components/forms/RadioButton/index.js +2 -2
- package/dist/components/forms/RadioCardGroup/index.js +2 -2
- package/dist/components/forms/RadioGroup/index.js +2 -2
- package/dist/components/forms/Rating/index.js +2 -2
- package/dist/components/forms/SearchInput/index.js +3 -3
- package/dist/components/forms/Select/index.js +2 -2
- package/dist/components/forms/Slider/index.js +2 -2
- package/dist/components/forms/SuccessMessage/index.js +2 -2
- package/dist/components/forms/Switch/index.js +2 -2
- package/dist/components/forms/TagsInput/index.js +4 -4
- package/dist/components/forms/TextInput/index.js +2 -2
- package/dist/components/forms/Textarea/index.js +2 -2
- package/dist/components/forms/TextareaField/index.js +6 -6
- package/dist/components/forms/TimePicker/index.js +4 -4
- package/dist/components/forms/URLInput/index.js +3 -3
- package/dist/components/forms/index.js +50 -50
- package/dist/components/index.js +183 -183
- package/dist/components/layout/Card/index.js +2 -2
- package/dist/components/layout/Collapsible/index.js +2 -2
- package/dist/components/layout/Container/index.js +2 -2
- package/dist/components/layout/Flex/index.js +2 -2
- package/dist/components/layout/Grid/index.js +2 -2
- package/dist/components/layout/Panel/index.js +3 -3
- package/dist/components/layout/ResizablePanels/index.js +2 -2
- package/dist/components/layout/ResponsiveContainer/index.js +2 -2
- package/dist/components/layout/ScrollArea/index.js +2 -2
- package/dist/components/layout/Section/index.js +2 -2
- package/dist/components/layout/Sheet/index.js +2 -2
- package/dist/components/layout/Stack/index.js +2 -2
- package/dist/components/layout/index.js +13 -13
- package/dist/components/navigation/AccountSwitch/index.js +6 -6
- package/dist/components/navigation/Breadcrumb/index.js +2 -2
- package/dist/components/navigation/ContextMenu/index.js +2 -2
- package/dist/components/navigation/Drawer/index.js +2 -2
- package/dist/components/navigation/DropdownMenu/index.js +2 -2
- package/dist/components/navigation/FileTree/index.js +2 -2
- package/dist/components/navigation/Header/index.js +2 -2
- package/dist/components/navigation/LogoConta/index.js +2 -2
- package/dist/components/navigation/Menu/index.js +3 -3
- package/dist/components/navigation/Menubar/index.js +2 -2
- package/dist/components/navigation/Navbar/index.js +2 -2
- package/dist/components/navigation/NavigationMenu/index.js +2 -2
- package/dist/components/navigation/Pagination/index.js +7 -7
- package/dist/components/navigation/Sidebar/index.js +11 -11
- package/dist/components/navigation/SkipLinks/index.js +2 -2
- package/dist/components/navigation/SpeedDial/index.js +3 -3
- package/dist/components/navigation/TabNavigation/index.js +2 -2
- package/dist/components/navigation/TabPanel/index.js +2 -2
- package/dist/components/navigation/Tabs/index.js +2 -2
- package/dist/components/navigation/Toolbar/index.js +2 -2
- package/dist/components/navigation/Topbar/index.js +2 -2
- package/dist/components/navigation/index.js +32 -32
- package/dist/components/primitives/ArrowAnimated/index.js +2 -2
- package/dist/components/primitives/Avatar/index.js +3 -3
- package/dist/components/primitives/Badge/index.js +3 -3
- package/dist/components/primitives/Button/index.js +6 -6
- package/dist/components/primitives/ButtonGroup/index.js +3 -3
- package/dist/components/primitives/ConfirmButton/index.js +8 -8
- package/dist/components/primitives/Divider/index.js +2 -2
- package/dist/components/primitives/FeaturedIcon/index.js +2 -2
- package/dist/components/primitives/FolderStack/index.js +2 -2
- package/dist/components/primitives/Heading/index.js +2 -2
- package/dist/components/primitives/Icon/index.js +2 -2
- package/dist/components/primitives/Image/index.js +2 -2
- package/dist/components/primitives/Kbd/index.js +2 -2
- package/dist/components/primitives/Label/index.js +2 -2
- package/dist/components/primitives/Link/index.js +2 -2
- package/dist/components/primitives/Paragraph/index.js +2 -2
- package/dist/components/primitives/PaymentMethodIcon/index.js +2 -2
- package/dist/components/primitives/ProgressBar/index.js +3 -3
- package/dist/components/primitives/ProgressCircle/index.js +3 -3
- package/dist/components/primitives/SkeletonLoader/index.js +2 -2
- package/dist/components/primitives/Spacer/index.js +2 -2
- package/dist/components/primitives/Spinner/index.js +2 -2
- package/dist/components/primitives/SplitButton/index.js +3 -3
- package/dist/components/primitives/StatusIndicator/index.js +2 -2
- package/dist/components/primitives/Tag/index.js +2 -2
- package/dist/components/primitives/Text/index.js +2 -2
- package/dist/components/primitives/Thumbnail/index.js +3 -3
- package/dist/components/primitives/Toggle/index.js +2 -2
- package/dist/components/primitives/index.js +32 -32
- package/dist/components/workflow/ApprovalFlow/index.js +8 -8
- package/dist/components/workflow/ApprovalStatus/index.js +2 -2
- package/dist/components/workflow/CommentSystem/index.js +9 -9
- package/dist/components/workflow/Dashboard/index.js +7 -7
- package/dist/components/workflow/DashboardBuilder/index.js +9 -9
- package/dist/components/workflow/KanbanBoard/index.js +9 -9
- package/dist/components/workflow/ProgressSteps/index.js +2 -2
- package/dist/components/workflow/ReportGenerator/index.js +9 -9
- package/dist/components/workflow/Stepper/index.js +2 -2
- package/dist/components/workflow/TaskCard/index.js +2 -2
- package/dist/components/workflow/TaskList/index.js +2 -2
- package/dist/components/workflow/TaskStatus/index.js +3 -3
- package/dist/components/workflow/Wizard/index.js +8 -8
- package/dist/components/workflow/index.js +26 -26
- package/dist/index.d.ts +55 -14
- package/dist/index.js +183 -183
- package/dist/lib/utils.d.ts +2 -1
- package/dist/lib/utils.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-B2OCNHUW.js.map +0 -1
- package/dist/chunk-DSCLJ3GK.js.map +0 -1
- package/dist/chunk-HRNDJU7D.js +0 -11
- package/dist/chunk-HRNDJU7D.js.map +0 -1
- package/dist/chunk-IZC5YFGO.js.map +0 -1
- package/dist/chunk-JDG5A44W.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/data-display/ScatterChart/ScatterChart.tsx"],"names":["RechartsScatterChart"],"mappings":"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","file":"chunk-AEE5GDNA.js","sourcesContent":["\"use client\"\n\nimport type { ScatterChartProps, ScatterChartTooltipCallbackProps, ScatterChartTooltipIndicator } from \"./ScatterChart.types\"\n\nimport * as React from \"react\"\nimport {\n CartesianGrid,\n Label,\n ScatterChart as RechartsScatterChart,\n Scatter,\n XAxis,\n YAxis,\n ZAxis,\n} from \"recharts\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartTooltip,\n ChartTooltipContent,\n} from \"../Chart\"\n\n/**\n * Internal tooltip content wrapper that calls the tooltipCallback\n */\ninterface TooltipContentWithCallbackProps {\n tooltipCallback?: (props: ScatterChartTooltipCallbackProps) => void\n tooltipIndicator: ScatterChartTooltipIndicator\n xAxisKey: string\n yAxisKey: string\n zAxisKey?: string\n}\n\nfunction TooltipContentWithCallback({\n tooltipCallback,\n tooltipIndicator,\n xAxisKey,\n yAxisKey,\n zAxisKey,\n ...props\n}: TooltipContentWithCallbackProps & Record<string, unknown>) {\n const prevActiveRef = React.useRef<boolean>(false)\n const { active = false, payload } = props as { active?: boolean; payload?: { payload: Record<string, unknown> }[] }\n\n // Use effect to call callback when active state changes\n // This is an intentional callback pattern for tooltip state changes\n /* eslint-disable react-you-might-not-need-an-effect/no-pass-data-to-parent */\n React.useEffect(() => {\n if (tooltipCallback && active !== prevActiveRef.current) {\n prevActiveRef.current = active\n tooltipCallback({\n active,\n payload: payload?.map((p) => ({\n payload: p.payload,\n x: p.payload[xAxisKey] as number,\n y: p.payload[yAxisKey] as number,\n z: zAxisKey ? p.payload[zAxisKey] as number : undefined,\n })),\n })\n }\n }, [active, payload, tooltipCallback, xAxisKey, yAxisKey, zAxisKey])\n /* eslint-enable react-you-might-not-need-an-effect/no-pass-data-to-parent */\n\n return <ChartTooltipContent indicator={tooltipIndicator} {...props} />\n}\n\n/**\n * ScatterChart - Data visualization for correlation and distribution\n *\n * Displays data points on a two-dimensional plane, ideal for showing\n * relationships between variables, identifying clusters, and\n * detecting outliers.\n *\n * @example\n * ```tsx\n * const data = [\n * { x: 100, y: 200, name: \"A\" },\n * { x: 120, y: 100, name: \"B\" },\n * { x: 170, y: 300, name: \"C\" },\n * ]\n *\n * const config = {\n * series1: { label: \"Series 1\", color: \"hsl(var(--chart-1))\" },\n * }\n *\n * <ScatterChart\n * config={config}\n * series={[{ dataKey: \"series1\", data }]}\n * xAxisKey=\"x\"\n * yAxisKey=\"y\"\n * />\n * ```\n */\nexport function ScatterChart({\n autoMinValue = false,\n className,\n config,\n enableLegendSlider = false,\n gridDashArray = \"3 3\",\n intervalType,\n legendPosition = \"bottom\",\n maxXValue,\n maxYValue,\n minXValue,\n minYValue,\n onClick,\n rotateLabelX,\n series,\n shape = \"circle\",\n showGrid = true,\n showLegend = false,\n showOpacity = false,\n showTooltip = true,\n showXAxis = true,\n showYAxis = true,\n size = 60,\n sizeRange = [60, 400],\n startEndOnly = false,\n tickGap,\n tooltipCallback,\n tooltipIndicator = \"dot\",\n valueFormatter,\n xAxisKey,\n xAxisLabel,\n xAxisTickFormatter,\n yAxisKey,\n yAxisLabel,\n yAxisTickFormatter,\n yAxisWidth,\n zAxisKey,\n ...props\n}: ScatterChartProps) {\n // Handle point click - Recharts passes any-typed data\n /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access */\n const handleClick = React.useCallback((data: any) => {\n if (!onClick || !data) return\n onClick({\n payload: data.payload ?? data,\n x: data[xAxisKey] ?? data.x,\n y: data[yAxisKey] ?? data.y,\n z: zAxisKey ? data[zAxisKey] : undefined,\n })\n }, [onClick, xAxisKey, yAxisKey, zAxisKey])\n /* eslint-enable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access */\n\n // Calculate X-axis domain\n const xDomain = React.useMemo(() => {\n const min = minXValue ?? (autoMinValue ? \"auto\" : \"dataMin\")\n const max = maxXValue ?? \"dataMax\"\n return [min, max] as const\n }, [autoMinValue, maxXValue, minXValue])\n\n // Calculate Y-axis domain\n const yDomain = React.useMemo(() => {\n const min = minYValue ?? (autoMinValue ? \"auto\" : \"dataMin\")\n const max = maxYValue ?? \"dataMax\"\n return [min, max] as const\n }, [autoMinValue, maxYValue, minYValue])\n\n // Calculate X-axis ticks for startEndOnly\n const xAxisTicks = React.useMemo(() => {\n if (!startEndOnly) return\n // For scatter charts, we need to find min/max from all series\n const allXValues: number[] = []\n for (const s of series) {\n for (const point of s.data) {\n const xVal = point[xAxisKey]\n if (typeof xVal === \"number\") {\n allXValues.push(xVal)\n }\n }\n }\n if (allXValues.length < 2) return\n const minX = Math.min(...allXValues)\n const maxX = Math.max(...allXValues)\n return [minX, maxX]\n }, [series, startEndOnly, xAxisKey])\n\n // Determine effective interval based on startEndOnly\n const effectiveInterval = startEndOnly ? \"preserveStartEnd\" : intervalType\n\n // Effective tick formatters (valueFormatter takes precedence)\n const effectiveXFormatter = valueFormatter?.x ?? xAxisTickFormatter\n const effectiveYFormatter = valueFormatter?.y ?? yAxisTickFormatter\n\n return (\n <div data-slot=\"scatter-chart\" {...props}>\n <ChartContainer\n className={cn(className)}\n config={config}\n >\n <RechartsScatterChart\n accessibilityLayer\n margin={{\n left: yAxisLabel ? 20 : 12,\n right: 12,\n bottom: xAxisLabel ? 20 : 0,\n }}\n >\n {showGrid && (\n <CartesianGrid strokeDasharray={gridDashArray} />\n )}\n\n {showXAxis && (\n <XAxis\n angle={rotateLabelX}\n axisLine={false}\n dataKey={xAxisKey}\n domain={xDomain}\n interval={effectiveInterval}\n minTickGap={tickGap}\n name={xAxisKey}\n textAnchor={rotateLabelX ? \"end\" : \"middle\"}\n tickFormatter={effectiveXFormatter}\n tickLine={false}\n tickMargin={8}\n ticks={xAxisTicks}\n type=\"number\"\n >\n {xAxisLabel && (\n <Label offset={-5} position=\"insideBottom\" value={xAxisLabel} />\n )}\n </XAxis>\n )}\n\n {showYAxis && (\n <YAxis\n axisLine={false}\n dataKey={yAxisKey}\n domain={yDomain}\n name={yAxisKey}\n tickFormatter={effectiveYFormatter}\n tickLine={false}\n tickMargin={8}\n type=\"number\"\n width={yAxisWidth}\n >\n {yAxisLabel && (\n <Label angle={-90} offset={-5} position=\"insideLeft\" value={yAxisLabel} />\n )}\n </YAxis>\n )}\n\n {zAxisKey && (\n <ZAxis dataKey={zAxisKey} name={zAxisKey} range={sizeRange} type=\"number\" />\n )}\n\n {showTooltip && (\n <ChartTooltip\n content={\n tooltipCallback\n ? <TooltipContentWithCallback\n tooltipCallback={tooltipCallback}\n tooltipIndicator={tooltipIndicator}\n xAxisKey={xAxisKey}\n yAxisKey={yAxisKey}\n zAxisKey={zAxisKey}\n />\n : <ChartTooltipContent indicator={tooltipIndicator} />\n }\n cursor={{ strokeDasharray: \"3 3\" }}\n />\n )}\n\n {showLegend && (\n <ChartLegend\n align={legendPosition === \"left\" ? \"left\" : legendPosition === \"right\" ? \"right\" : \"center\"}\n content={<ChartLegendContent enableSlider={enableLegendSlider} />}\n layout={legendPosition === \"left\" || legendPosition === \"right\" ? \"vertical\" : \"horizontal\"}\n verticalAlign={legendPosition === \"top\" ? \"top\" : legendPosition === \"bottom\" ? \"bottom\" : \"middle\"}\n />\n )}\n\n {series.map((seriesConfig) => {\n const {\n data,\n dataKey,\n fill: seriesFill,\n shape: seriesShape,\n size: seriesSize,\n } = seriesConfig\n\n const fill = seriesFill ?? `var(--color-${dataKey})`\n\n return (\n <Scatter\n key={dataKey}\n data={data}\n fill={fill}\n fillOpacity={showOpacity ? 0.7 : 1}\n name={dataKey}\n shape={seriesShape ?? shape}\n style={onClick ? { cursor: \"pointer\" } : undefined}\n onClick={onClick ? handleClick : undefined}\n >\n {!zAxisKey && (\n <ZAxis range={[seriesSize ?? size, seriesSize ?? size]} />\n )}\n </Scatter>\n )\n })}\n </RechartsScatterChart>\n </ChartContainer>\n </div>\n )\n}\n\nScatterChart.displayName = \"ScatterChart\"\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/ScatterChart/ScatterChart.tsx"],"names":["RechartsScatterChart"],"mappings":"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","file":"chunk-V4NSLSCA.js","sourcesContent":["\"use client\"\n\nimport type { ScatterChartProps, ScatterChartTooltipCallbackProps, ScatterChartTooltipIndicator } from \"./ScatterChart.types\"\n\nimport * as React from \"react\"\nimport {\n CartesianGrid,\n Label,\n ScatterChart as RechartsScatterChart,\n Scatter,\n XAxis,\n YAxis,\n ZAxis,\n} from \"recharts\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartTooltip,\n ChartTooltipContent,\n} from \"../Chart\"\n\n/**\n * Internal tooltip content wrapper that calls the tooltipCallback\n */\ninterface TooltipContentWithCallbackProps {\n tooltipCallback?: (props: ScatterChartTooltipCallbackProps) => void\n tooltipIndicator: ScatterChartTooltipIndicator\n xAxisKey: string\n yAxisKey: string\n zAxisKey?: string\n}\n\nfunction TooltipContentWithCallback({\n tooltipCallback,\n tooltipIndicator,\n xAxisKey,\n yAxisKey,\n zAxisKey,\n ...props\n}: TooltipContentWithCallbackProps & Record<string, unknown>) {\n const prevActiveRef = React.useRef<boolean>(false)\n const { active = false, payload } = props as { active?: boolean; payload?: { payload: Record<string, unknown> }[] }\n\n // Use effect to call callback when active state changes\n // This is an intentional callback pattern for tooltip state changes\n /* eslint-disable react-you-might-not-need-an-effect/no-pass-data-to-parent */\n React.useEffect(() => {\n if (tooltipCallback && active !== prevActiveRef.current) {\n prevActiveRef.current = active\n tooltipCallback({\n active,\n payload: payload?.map((p) => ({\n payload: p.payload,\n x: p.payload[xAxisKey] as number,\n y: p.payload[yAxisKey] as number,\n z: zAxisKey ? p.payload[zAxisKey] as number : undefined,\n })),\n })\n }\n }, [active, payload, tooltipCallback, xAxisKey, yAxisKey, zAxisKey])\n /* eslint-enable react-you-might-not-need-an-effect/no-pass-data-to-parent */\n\n return <ChartTooltipContent indicator={tooltipIndicator} {...props} />\n}\n\n/**\n * ScatterChart - Data visualization for correlation and distribution\n *\n * Displays data points on a two-dimensional plane, ideal for showing\n * relationships between variables, identifying clusters, and\n * detecting outliers.\n *\n * @example\n * ```tsx\n * const data = [\n * { x: 100, y: 200, name: \"A\" },\n * { x: 120, y: 100, name: \"B\" },\n * { x: 170, y: 300, name: \"C\" },\n * ]\n *\n * const config = {\n * series1: { label: \"Series 1\", color: \"hsl(var(--chart-1))\" },\n * }\n *\n * <ScatterChart\n * config={config}\n * series={[{ dataKey: \"series1\", data }]}\n * xAxisKey=\"x\"\n * yAxisKey=\"y\"\n * />\n * ```\n */\nexport function ScatterChart({\n autoMinValue = false,\n className,\n config,\n enableLegendSlider = false,\n gridDashArray = \"3 3\",\n intervalType,\n legendPosition = \"bottom\",\n maxXValue,\n maxYValue,\n minXValue,\n minYValue,\n onClick,\n rotateLabelX,\n series,\n shape = \"circle\",\n showGrid = true,\n showLegend = false,\n showOpacity = false,\n showTooltip = true,\n showXAxis = true,\n showYAxis = true,\n size = 60,\n sizeRange = [60, 400],\n startEndOnly = false,\n tickGap,\n tooltipCallback,\n tooltipIndicator = \"dot\",\n valueFormatter,\n xAxisKey,\n xAxisLabel,\n xAxisTickFormatter,\n yAxisKey,\n yAxisLabel,\n yAxisTickFormatter,\n yAxisWidth,\n zAxisKey,\n ...props\n}: ScatterChartProps) {\n // Handle point click - Recharts passes any-typed data\n /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access */\n const handleClick = React.useCallback((data: any) => {\n if (!onClick || !data) return\n onClick({\n payload: data.payload ?? data,\n x: data[xAxisKey] ?? data.x,\n y: data[yAxisKey] ?? data.y,\n z: zAxisKey ? data[zAxisKey] : undefined,\n })\n }, [onClick, xAxisKey, yAxisKey, zAxisKey])\n /* eslint-enable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access */\n\n // Calculate X-axis domain\n const xDomain = React.useMemo(() => {\n const min = minXValue ?? (autoMinValue ? \"auto\" : \"dataMin\")\n const max = maxXValue ?? \"dataMax\"\n return [min, max] as const\n }, [autoMinValue, maxXValue, minXValue])\n\n // Calculate Y-axis domain\n const yDomain = React.useMemo(() => {\n const min = minYValue ?? (autoMinValue ? \"auto\" : \"dataMin\")\n const max = maxYValue ?? \"dataMax\"\n return [min, max] as const\n }, [autoMinValue, maxYValue, minYValue])\n\n // Calculate X-axis ticks for startEndOnly\n const xAxisTicks = React.useMemo(() => {\n if (!startEndOnly) return\n // For scatter charts, we need to find min/max from all series\n const allXValues: number[] = []\n for (const s of series) {\n for (const point of s.data) {\n const xVal = point[xAxisKey]\n if (typeof xVal === \"number\") {\n allXValues.push(xVal)\n }\n }\n }\n if (allXValues.length < 2) return\n const minX = Math.min(...allXValues)\n const maxX = Math.max(...allXValues)\n return [minX, maxX]\n }, [series, startEndOnly, xAxisKey])\n\n // Determine effective interval based on startEndOnly\n const effectiveInterval = startEndOnly ? \"preserveStartEnd\" : intervalType\n\n // Effective tick formatters (valueFormatter takes precedence)\n const effectiveXFormatter = valueFormatter?.x ?? xAxisTickFormatter\n const effectiveYFormatter = valueFormatter?.y ?? yAxisTickFormatter\n\n return (\n <div data-slot=\"scatter-chart\" {...props}>\n <ChartContainer\n className={cn(className)}\n config={config}\n >\n <RechartsScatterChart\n accessibilityLayer\n margin={{\n left: yAxisLabel ? 20 : 12,\n right: 12,\n bottom: xAxisLabel ? 20 : 0,\n }}\n >\n {showGrid && (\n <CartesianGrid strokeDasharray={gridDashArray} />\n )}\n\n {showXAxis && (\n <XAxis\n angle={rotateLabelX}\n axisLine={false}\n dataKey={xAxisKey}\n domain={xDomain}\n interval={effectiveInterval}\n minTickGap={tickGap}\n name={xAxisKey}\n textAnchor={rotateLabelX ? \"end\" : \"middle\"}\n tickFormatter={effectiveXFormatter}\n tickLine={false}\n tickMargin={8}\n ticks={xAxisTicks}\n type=\"number\"\n >\n {xAxisLabel && (\n <Label offset={-5} position=\"insideBottom\" value={xAxisLabel} />\n )}\n </XAxis>\n )}\n\n {showYAxis && (\n <YAxis\n axisLine={false}\n dataKey={yAxisKey}\n domain={yDomain}\n name={yAxisKey}\n tickFormatter={effectiveYFormatter}\n tickLine={false}\n tickMargin={8}\n type=\"number\"\n width={yAxisWidth}\n >\n {yAxisLabel && (\n <Label angle={-90} offset={-5} position=\"insideLeft\" value={yAxisLabel} />\n )}\n </YAxis>\n )}\n\n {zAxisKey && (\n <ZAxis dataKey={zAxisKey} name={zAxisKey} range={sizeRange} type=\"number\" />\n )}\n\n {showTooltip && (\n <ChartTooltip\n content={\n tooltipCallback\n ? <TooltipContentWithCallback\n tooltipCallback={tooltipCallback}\n tooltipIndicator={tooltipIndicator}\n xAxisKey={xAxisKey}\n yAxisKey={yAxisKey}\n zAxisKey={zAxisKey}\n />\n : <ChartTooltipContent indicator={tooltipIndicator} />\n }\n cursor={{ strokeDasharray: \"3 3\" }}\n />\n )}\n\n {showLegend && (\n <ChartLegend\n align={legendPosition === \"left\" ? \"left\" : legendPosition === \"right\" ? \"right\" : \"center\"}\n content={<ChartLegendContent enableSlider={enableLegendSlider} />}\n layout={legendPosition === \"left\" || legendPosition === \"right\" ? \"vertical\" : \"horizontal\"}\n verticalAlign={legendPosition === \"top\" ? \"top\" : legendPosition === \"bottom\" ? \"bottom\" : \"middle\"}\n />\n )}\n\n {series.map((seriesConfig) => {\n const {\n data,\n dataKey,\n fill: seriesFill,\n shape: seriesShape,\n size: seriesSize,\n } = seriesConfig\n\n const fill = seriesFill ?? `var(--color-${dataKey})`\n\n return (\n <Scatter\n key={dataKey}\n data={data}\n fill={fill}\n fillOpacity={showOpacity ? 0.7 : 1}\n name={dataKey}\n shape={seriesShape ?? shape}\n style={onClick ? { cursor: \"pointer\" } : undefined}\n onClick={onClick ? handleClick : undefined}\n >\n {!zAxisKey && (\n <ZAxis range={[seriesSize ?? size, seriesSize ?? size]} />\n )}\n </Scatter>\n )\n })}\n </RechartsScatterChart>\n </ChartContainer>\n </div>\n )\n}\n\nScatterChart.displayName = \"ScatterChart\"\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from './chunk-
|
|
2
|
-
import { SkeletonLoader } from './chunk-
|
|
3
|
-
import { Checkbox } from './chunk-
|
|
4
|
-
import { cn } from './chunk-
|
|
1
|
+
import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from './chunk-NHUUSXBL.js';
|
|
2
|
+
import { SkeletonLoader } from './chunk-NGX3ITG4.js';
|
|
3
|
+
import { Checkbox } from './chunk-JXEIRIU4.js';
|
|
4
|
+
import { cn, isInteractiveTarget } from './chunk-RVAYDRMA.js';
|
|
5
5
|
import { useReactTable, getCoreRowModel, flexRender } from '@tanstack/react-table';
|
|
6
6
|
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
7
7
|
import * as React from 'react';
|
|
@@ -67,6 +67,9 @@ function VirtualTable({
|
|
|
67
67
|
"aria-label": "Select all",
|
|
68
68
|
onCheckedChange: (value) => {
|
|
69
69
|
table2.toggleAllPageRowsSelected(!!value);
|
|
70
|
+
},
|
|
71
|
+
onClick: (e) => {
|
|
72
|
+
e.stopPropagation();
|
|
70
73
|
}
|
|
71
74
|
}
|
|
72
75
|
),
|
|
@@ -77,6 +80,9 @@ function VirtualTable({
|
|
|
77
80
|
checked: row.getIsSelected(),
|
|
78
81
|
onCheckedChange: (value) => {
|
|
79
82
|
row.toggleSelected(!!value);
|
|
83
|
+
},
|
|
84
|
+
onClick: (e) => {
|
|
85
|
+
e.stopPropagation();
|
|
80
86
|
}
|
|
81
87
|
}
|
|
82
88
|
),
|
|
@@ -186,7 +192,8 @@ function VirtualTable({
|
|
|
186
192
|
},
|
|
187
193
|
"aria-rowindex": virtualRow.index + 1,
|
|
188
194
|
"data-state": row.getIsSelected() ? "selected" : void 0,
|
|
189
|
-
onClick: onRowClick ? () => {
|
|
195
|
+
onClick: onRowClick ? (e) => {
|
|
196
|
+
if (isInteractiveTarget(e.target, e.currentTarget)) return;
|
|
190
197
|
onRowClick(row.original);
|
|
191
198
|
} : void 0,
|
|
192
199
|
children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx(
|
|
@@ -222,5 +229,5 @@ function VirtualTable({
|
|
|
222
229
|
}
|
|
223
230
|
|
|
224
231
|
export { VirtualTable };
|
|
225
|
-
//# sourceMappingURL=chunk-
|
|
226
|
-
//# sourceMappingURL=chunk-
|
|
232
|
+
//# sourceMappingURL=chunk-V57DERRV.js.map
|
|
233
|
+
//# sourceMappingURL=chunk-V57DERRV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/VirtualTable/VirtualTable.tsx"],"names":["table"],"mappings":";;;;;;;;;AA4BA,IAAM,aAAA,GAAgB;AAAA,EACpB,gBAAA;AAAA,EACA,gBAAA;AAAA,EACA,gBAAA;AAAA,EACA,gBAAA;AAAA,EACA;AACF,CAAA;AA0CA,SAAS,YAAA,CAAoB;AAAA,EAC3B,IAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA,GAAW,CAAA;AAAA,EACX,YAAA;AAAA,EACA,eAAA,GAAkB,GAAA;AAAA,EAClB,kBAAA,GAAqB,KAAA;AAAA,EACrB,UAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA,GAAU,KAAA;AAAA,EACV,gBAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA,EAAc,sBAAA;AAAA,EACd,oBAAA;AAAA,EACA,iBAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA,GAAe;AACjB,CAAA,EAA6B;AAC3B,EAAA,MAAM,SAAA,GAAkB,aAAuB,IAAI,CAAA;AACnD,EAAA,MAAM,CAAC,oBAAA,EAAsB,uBAAuB,CAAA,GAC5C,KAAA,CAAA,QAAA,CAA4B,EAAE,CAAA;AAEtC,EAAA,MAAM,eAAe,sBAAA,IAA0B,oBAAA;AAG/C,EAAA,MAAM,wBAAA,GAAiC,KAAA,CAAA,WAAA;AAAA,IACrC,CACE,cAAA,KAGG;AACH,MAAA,MAAM,WACJ,OAAO,cAAA,KAAmB,UAAA,GACtB,cAAA,CAAe,YAAY,CAAA,GAC3B,cAAA;AAGN,MAAA,IAAI,oBAAA,EAAsB;AACxB,QAAA,oBAAA,CAAqB,QAAQ,CAAA;AAAA,MAC/B,CAAA,MAAO;AACL,QAAA,uBAAA,CAAwB,QAAQ,CAAA;AAAA,MAClC;AAGA,MAAA,IAAI,iBAAA,EAAmB;AACrB,QAAA,MAAM,eAAA,GAAkB,MAAA,CAAO,IAAA,CAAK,QAAQ,CAAA,CAAE,MAAA;AAAA,UAC5C,CAAC,GAAA,KAAQ,QAAA,CAAS,GAAG;AAAA,SACvB;AACA,QAAA,MAAM,YAAA,GAAe,eAAA,CAClB,GAAA,CAAI,CAAC,GAAA,KAAQ,IAAA,CAAK,MAAA,CAAO,GAAG,CAAC,CAAC,CAAA,CAC9B,MAAA,CAAO,OAAO,CAAA;AACjB,QAAA,iBAAA,CAAkB,YAAY,CAAA;AAAA,MAChC;AAAA,IACF,CAAA;AAAA,IACA,CAAC,YAAA,EAAc,oBAAA,EAAsB,iBAAA,EAAmB,IAAI;AAAA,GAC9D;AAGA,EAAA,MAAM,YAAA,GAAqB,cAAQ,MAAM;AACvC,IAAA,IAAI,CAAC,oBAAoB,OAAO,OAAA;AAEhC,IAAA,OAAO;AAAA,MACL;AAAA,QACE,EAAA,EAAI,QAAA;AAAA,QACJ,MAAA,EAAQ,CAAC,EAAE,KAAA,EAAAA,QAAM,qBACf,GAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,SACEA,MAAAA,CAAM,wBAAA,EAAyB,IAC9BA,MAAAA,CAAM,2BAA0B,IAAK,eAAA;AAAA,YAExC,YAAA,EAAW,YAAA;AAAA,YACX,eAAA,EAAiB,CAAC,KAAA,KAAU;AAC1B,cAAAA,MAAAA,CAAM,yBAAA,CAA0B,CAAC,CAAC,KAAK,CAAA;AAAA,YACzC,CAAA;AAAA,YACA,OAAA,EAAS,CAAC,CAAA,KAAM;AACd,cAAA,CAAA,CAAE,eAAA,EAAgB;AAAA,YACpB;AAAA;AAAA,SACF;AAAA,QAEF,IAAA,EAAM,CAAC,EAAE,GAAA,EAAI,qBACX,GAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,YAAA,EAAW,YAAA;AAAA,YACX,OAAA,EAAS,IAAI,aAAA,EAAc;AAAA,YAC3B,eAAA,EAAiB,CAAC,KAAA,KAAU;AAC1B,cAAA,GAAA,CAAI,cAAA,CAAe,CAAC,CAAC,KAAK,CAAA;AAAA,YAC5B,CAAA;AAAA,YAEA,OAAA,EAAS,CAAC,CAAA,KAAM;AACd,cAAA,CAAA,CAAE,eAAA,EAAgB;AAAA,YACpB;AAAA;AAAA,SACF;AAAA,QAEF,aAAA,EAAe,KAAA;AAAA,QACf,YAAA,EAAc,KAAA;AAAA,QACd,IAAA,EAAM;AAAA,OACR;AAAA,MACA,GAAG;AAAA,KACL;AAAA,EACF,CAAA,EAAG,CAAC,OAAA,EAAS,kBAAkB,CAAC,CAAA;AAIhC,EAAA,MAAM,QAAQ,aAAA,CAAc;AAAA,IAC1B,IAAA;AAAA,IACA,OAAA,EAAS,YAAA;AAAA,IACT,KAAA,EAAO;AAAA,MACL;AAAA,KACF;AAAA,IACA,kBAAA;AAAA,IACA,QAAA;AAAA,IACA,iBAAiB,eAAA,EAAgB;AAAA,IACjC,oBAAA,EAAsB;AAAA,GACvB,CAAA;AAED,EAAA,MAAM,EAAE,IAAA,EAAK,GAAI,KAAA,CAAM,WAAA,EAAY;AAGnC,EAAA,MAAM,cAAc,cAAA,CAAe;AAAA,IACjC,OAAO,IAAA,CAAK,MAAA;AAAA,IACZ,gBAAA,EAAkB,MAAM,SAAA,CAAU,OAAA;AAAA,IAClC,YAAA,EAAc,iBAAiB,MAAM,SAAA,CAAA;AAAA,IACrC;AAAA,GACD,CAAA;AAED,EAAA,MAAM,YAAA,GAAe,YAAY,eAAA,EAAgB;AACjD,EAAA,MAAM,SAAA,GAAY,YAAY,YAAA,EAAa;AAG3C,EAAA,MAAM,cAAA,GAAsC;AAAA,IAC1C,MAAA,EACE,OAAO,eAAA,KAAoB,QAAA,GACvB,GAAG,MAAA,CAAO,eAAe,CAAC,CAAA,EAAA,CAAA,GAC1B,eAAA;AAAA,IACN,QAAA,EAAU,MAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACd;AAGA,EAAA,IAAI,OAAA,EAAS;AACX,IAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,EAAA,CAAG,WAAA,EAAa,SAAS,CAAA,EAAG,WAAA,EAAU,eAAA,EACnD,QAAA,EAAA,gBAAA,oBACC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,WAAA,EAAY,WAAA,EAAU,uBAAA,EAClC,QAAA,EAAA,aAAA,CAAc,GAAA,CAAI,CAAC,GAAA,qBAClB,GAAA,CAAC,cAAA,EAAA,EAAyB,SAAA,EAAU,aAAA,EAAA,EAAf,GAA6B,CACnD,CAAA,EACH,CAAA,EAEJ,CAAA;AAAA,EAEJ;AAGA,EAAA,IAAI,IAAA,CAAK,WAAW,CAAA,EAAG;AACrB,IAAA,uBACE,GAAA,CAAC,SAAI,SAAA,EAAW,EAAA,CAAG,aAAa,SAAS,CAAA,EAAG,WAAA,EAAU,eAAA,EACnD,QAAA,EAAA,UAAA,oBACC,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,6DAAA;AAAA,QACV,WAAA,EAAU,qBAAA;AAAA,QAEV,QAAA,kBAAA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,+BAAA,EAAgC,QAAA,EAAA,mBAAA,EAAiB;AAAA;AAAA,KAChE,EAEJ,CAAA;AAAA,EAEJ;AAGA,EAAA,MAAM,SAAA,GAAY,aAAa,CAAC,CAAA;AAChC,EAAA,MAAM,QAAA,GAAW,YAAA,CAAa,YAAA,CAAa,MAAA,GAAS,CAAC,CAAA;AACrD,EAAA,MAAM,UAAA,GAAa,SAAA,GAAY,SAAA,CAAU,KAAA,GAAQ,CAAA;AACjD,EAAA,MAAM,aAAA,GAAgB,QAAA,GAAW,SAAA,GAAY,QAAA,CAAS,GAAA,GAAM,CAAA;AAE5D,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,mBAAA,EAAqB,SAAS,CAAA;AAAA,MAC5C,WAAA,EAAU,eAAA;AAAA,MAEV,QAAA,kBAAA,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,GAAA,EAAK,SAAA;AAAA,UACL,SAAA,EAAU,UAAA;AAAA,UACV,WAAA,EAAU,yBAAA;AAAA,UACV,KAAA,EAAO,cAAA;AAAA,UAEP,+BAAC,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,4BAAA,GAAA;AAAA,cAAC,WAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAW,EAAA;AAAA,kBACT,YAAA,IAAgB;AAAA,iBAClB;AAAA,gBAEC,QAAA,EAAA,KAAA,CAAM,eAAA,EAAgB,CAAE,GAAA,CAAI,CAAC,WAAA,qBAC5B,GAAA,CAAC,QAAA,EAAA,EACE,QAAA,EAAA,WAAA,CAAY,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,qBACxB,GAAA;AAAA,kBAAC,SAAA;AAAA,kBAAA;AAAA,oBAEC,KAAA,EAAO;AAAA,sBACL,OAAO,MAAA,CAAO,OAAA,OAAc,GAAA,GAAM,MAAA,CAAO,SAAQ,GAAI;AAAA,qBACvD;AAAA,oBAEC,QAAA,EAAA,MAAA,CAAO,gBACJ,IAAA,GACA,UAAA;AAAA,sBACE,MAAA,CAAO,OAAO,SAAA,CAAU,MAAA;AAAA,sBACxB,OAAO,UAAA;AAAW;AACpB,mBAAA;AAAA,kBAVC,MAAA,CAAO;AAAA,iBAYf,CAAA,EAAA,EAfY,WAAA,CAAY,EAgB3B,CACD;AAAA;AAAA,aACH;AAAA,iCACC,SAAA,EAAA,EAEE,QAAA,EAAA;AAAA,cAAA,UAAA,GAAa,CAAA,oBACZ,GAAA,CAAC,IAAA,EAAA,EAAG,aAAA,EAAY,MAAA,EACd,QAAA,kBAAA,GAAA;AAAA,gBAAC,IAAA;AAAA,gBAAA;AAAA,kBACC,SAAS,YAAA,CAAa,MAAA;AAAA,kBACtB,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,OAAO,UAAU,CAAC,CAAA,EAAA,CAAA,EAAM,OAAA,EAAS,CAAA;AAAE;AAAA,eACzD,EACF,CAAA;AAAA,cAID,YAAA,CAAa,GAAA,CAAI,CAAC,UAAA,KAAe;AAChC,gBAAA,MAAM,GAAA,GAAM,IAAA,CAAK,UAAA,CAAW,KAAK,CAAA;AACjC,gBAAA,IAAI,CAAC,KAAK,OAAO,IAAA;AACjB,gBAAA,uBACE,GAAA;AAAA,kBAAC,QAAA;AAAA,kBAAA;AAAA,oBAEC,SAAA,EAAW,EAAA;AAAA,sBACT,UAAA,IAAc,gBAAA;AAAA,sBACd,eAAe,GAAG;AAAA,qBACpB;AAAA,oBACA,KAAA,EAAO;AAAA,sBACL,MAAA,EAAQ,CAAA,EAAG,MAAA,CAAO,UAAA,CAAW,IAAI,CAAC,CAAA,EAAA;AAAA,qBACpC;AAAA,oBACA,eAAA,EAAe,WAAW,KAAA,GAAQ,CAAA;AAAA,oBAClC,YAAA,EAAY,GAAA,CAAI,aAAA,EAAc,GAAI,UAAA,GAAa,MAAA;AAAA,oBAC/C,OAAA,EACE,UAAA,GACI,CAAC,CAAA,KAAM;AACL,sBAAA,IAAI,mBAAA,CAAoB,CAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,aAAa,CAAA,EAAG;AACpD,sBAAA,UAAA,CAAW,IAAI,QAAQ,CAAA;AAAA,oBACzB,CAAA,GACA,MAAA;AAAA,oBAGL,QAAA,EAAA,GAAA,CAAI,eAAA,EAAgB,CAAE,GAAA,CAAI,CAAC,IAAA,qBAC1B,GAAA;AAAA,sBAAC,SAAA;AAAA,sBAAA;AAAA,wBAEC,KAAA,EAAO;AAAA,0BACL,KAAA,EACE,KAAK,MAAA,CAAO,OAAA,OAAc,GAAA,GACtB,IAAA,CAAK,MAAA,CAAO,OAAA,EAAQ,GACpB;AAAA,yBACR;AAAA,wBAEC,QAAA,EAAA,UAAA;AAAA,0BACC,IAAA,CAAK,OAAO,SAAA,CAAU,IAAA;AAAA,0BACtB,KAAK,UAAA;AAAW;AAClB,uBAAA;AAAA,sBAXK,IAAA,CAAK;AAAA,qBAab;AAAA,mBAAA;AAAA,kBAlCI,GAAA,CAAI;AAAA,iBAmCX;AAAA,cAEJ,CAAC,CAAA;AAAA,cAGA,aAAA,GAAgB,CAAA,oBACf,GAAA,CAAC,IAAA,EAAA,EAAG,eAAY,MAAA,EACd,QAAA,kBAAA,GAAA;AAAA,gBAAC,IAAA;AAAA,gBAAA;AAAA,kBACC,SAAS,YAAA,CAAa,MAAA;AAAA,kBACtB,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,OAAO,aAAa,CAAC,CAAA,EAAA,CAAA,EAAM,OAAA,EAAS,CAAA;AAAE;AAAA,eAC5D,EACF;AAAA,aAAA,EAEJ;AAAA,WAAA,EACF;AAAA;AAAA;AACF;AAAA,GACF;AAEJ","file":"chunk-V57DERRV.js","sourcesContent":["import type { VirtualTableProps } from \"./VirtualTable.types\"\nimport type {\n Table as ReactTable,\n Row,\n RowSelectionState,\n} from \"@tanstack/react-table\"\n\nimport {\n flexRender,\n getCoreRowModel,\n useReactTable,\n} from \"@tanstack/react-table\"\nimport { useVirtualizer } from \"@tanstack/react-virtual\"\nimport * as React from \"react\"\n\nimport { cn, isInteractiveTarget } from \"../../../lib/utils\"\nimport { Checkbox } from \"../../forms/Checkbox\"\nimport { SkeletonLoader } from \"../../primitives/SkeletonLoader\"\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"../Table\"\n\n// Static keys for skeleton loader to avoid array index as key\nconst SKELETON_KEYS = [\n \"skeleton-row-1\",\n \"skeleton-row-2\",\n \"skeleton-row-3\",\n \"skeleton-row-4\",\n \"skeleton-row-5\",\n] as const\n\n/**\n * VirtualTable - High-performance virtualized table for large datasets.\n *\n * Renders only visible rows in the viewport, enabling smooth scrolling\n * with thousands or millions of rows. Built on TanStack Virtual and\n * TanStack Table.\n *\n * @example\n * ```tsx\n * import { VirtualTable } from '@etus/ui'\n * import { ColumnDef } from '@tanstack/react-table'\n *\n * interface LogEntry {\n * id: string\n * timestamp: Date\n * level: 'info' | 'warn' | 'error'\n * message: string\n * }\n *\n * const columns: ColumnDef<LogEntry>[] = [\n * { accessorKey: 'timestamp', header: 'Time', size: 150 },\n * { accessorKey: 'level', header: 'Level', size: 80 },\n * { accessorKey: 'message', header: 'Message' },\n * ]\n *\n * function LogViewer() {\n * const { data } = useLogs() // 100k+ entries\n *\n * return (\n * <VirtualTable\n * data={data}\n * columns={columns}\n * rowHeight={36}\n * containerHeight={600}\n * getRowId={(row) => row.id}\n * />\n * )\n * }\n * ```\n */\nfunction VirtualTable<TData>({\n data,\n columns,\n rowHeight = 40,\n overscan = 5,\n estimateSize,\n containerHeight = 400,\n enableRowSelection = false,\n onRowClick,\n getRowId,\n loading = false,\n loadingComponent,\n emptyState,\n className,\n rowSelection: controlledRowSelection,\n onRowSelectionChange,\n onSelectionChange,\n rowClassName,\n stickyHeader = true,\n}: VirtualTableProps<TData>) {\n const parentRef = React.useRef<HTMLDivElement>(null)\n const [internalRowSelection, setInternalRowSelection] =\n React.useState<RowSelectionState>({})\n\n const rowSelection = controlledRowSelection ?? internalRowSelection\n\n // Create wrapper for row selection change to also notify onSelectionChange\n const handleRowSelectionChange = React.useCallback(\n (\n updaterOrValue:\n | ((old: RowSelectionState) => RowSelectionState)\n | RowSelectionState\n ) => {\n const newValue =\n typeof updaterOrValue === \"function\"\n ? updaterOrValue(rowSelection)\n : updaterOrValue\n\n // Update internal or controlled state\n if (onRowSelectionChange) {\n onRowSelectionChange(newValue)\n } else {\n setInternalRowSelection(newValue)\n }\n\n // Notify parent of selected rows as TData array\n if (onSelectionChange) {\n const selectedIndices = Object.keys(newValue).filter(\n (key) => newValue[key]\n )\n const selectedRows = selectedIndices\n .map((idx) => data[Number(idx)])\n .filter(Boolean) as TData[]\n onSelectionChange(selectedRows)\n }\n },\n [rowSelection, onRowSelectionChange, onSelectionChange, data]\n )\n\n // Memoize column definitions with selection column\n const tableColumns = React.useMemo(() => {\n if (!enableRowSelection) return columns\n\n return [\n {\n id: \"select\",\n header: ({ table }: { table: ReactTable<TData> }) => (\n <Checkbox\n checked={\n table.getIsAllPageRowsSelected() ||\n (table.getIsSomePageRowsSelected() && \"indeterminate\")\n }\n aria-label=\"Select all\"\n onCheckedChange={(value) => {\n table.toggleAllPageRowsSelected(!!value)\n }}\n onClick={(e) => {\n e.stopPropagation()\n }}\n />\n ),\n cell: ({ row }: { row: Row<TData> }) => (\n <Checkbox\n aria-label=\"Select row\"\n checked={row.getIsSelected()}\n onCheckedChange={(value) => {\n row.toggleSelected(!!value)\n }}\n // Selection must never bubble into onRowClick (or consumer wrappers)\n onClick={(e) => {\n e.stopPropagation()\n }}\n />\n ),\n enableSorting: false,\n enableHiding: false,\n size: 40,\n },\n ...columns,\n ]\n }, [columns, enableRowSelection])\n\n // Initialize table\n // eslint-disable-next-line react-hooks/incompatible-library -- TanStack Table's API is required here.\n const table = useReactTable({\n data,\n columns: tableColumns,\n state: {\n rowSelection,\n },\n enableRowSelection,\n getRowId,\n getCoreRowModel: getCoreRowModel(),\n onRowSelectionChange: handleRowSelectionChange,\n })\n\n const { rows } = table.getRowModel()\n\n // Initialize virtualizer\n const virtualizer = useVirtualizer({\n count: rows.length,\n getScrollElement: () => parentRef.current,\n estimateSize: estimateSize ?? (() => rowHeight),\n overscan,\n })\n\n const virtualItems = virtualizer.getVirtualItems()\n const totalSize = virtualizer.getTotalSize()\n\n // Calculate container height style\n const containerStyle: React.CSSProperties = {\n height:\n typeof containerHeight === \"number\"\n ? `${String(containerHeight)}px`\n : containerHeight,\n overflow: \"auto\",\n willChange: \"transform\",\n }\n\n // Render loading state\n if (loading) {\n return (\n <div className={cn(\"space-y-4\", className)} data-slot=\"virtual-table\">\n {loadingComponent ?? (\n <div className=\"space-y-2\" data-slot=\"virtual-table-loading\">\n {SKELETON_KEYS.map((key) => (\n <SkeletonLoader key={key} className=\"h-10 w-full\" />\n ))}\n </div>\n )}\n </div>\n )\n }\n\n // Render empty state\n if (data.length === 0) {\n return (\n <div className={cn(\"space-y-4\", className)} data-slot=\"virtual-table\">\n {emptyState ?? (\n <div\n className=\"flex flex-col items-center justify-center py-12 text-center\"\n data-slot=\"virtual-table-empty\"\n >\n <p className=\"text-muted-foreground text-sm\">No data available</p>\n </div>\n )}\n </div>\n )\n }\n\n // Calculate padding for virtual items\n const firstItem = virtualItems[0]\n const lastItem = virtualItems[virtualItems.length - 1]\n const paddingTop = firstItem ? firstItem.start : 0\n const paddingBottom = lastItem ? totalSize - lastItem.end : 0\n\n return (\n <div\n className={cn(\"rounded-md border\", className)}\n data-slot=\"virtual-table\"\n >\n <div\n ref={parentRef}\n className=\"relative\"\n data-slot=\"virtual-table-container\"\n style={containerStyle}\n >\n <Table>\n <TableHeader\n className={cn(\n stickyHeader && \"bg-[color:var(--table-header-bg)] sticky top-0 z-10\"\n )}\n >\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => (\n <TableHead\n key={header.id}\n style={{\n width: header.getSize() !== 150 ? header.getSize() : undefined,\n }}\n >\n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n </TableHead>\n ))}\n </TableRow>\n ))}\n </TableHeader>\n <TableBody>\n {/* Top padding row */}\n {paddingTop > 0 && (\n <tr aria-hidden=\"true\">\n <td\n colSpan={tableColumns.length}\n style={{ height: `${String(paddingTop)}px`, padding: 0 }}\n />\n </tr>\n )}\n\n {/* Virtual rows */}\n {virtualItems.map((virtualRow) => {\n const row = rows[virtualRow.index]\n if (!row) return null\n return (\n <TableRow\n key={row.id}\n className={cn(\n onRowClick && \"cursor-pointer\",\n rowClassName?.(row)\n )}\n style={{\n height: `${String(virtualRow.size)}px`,\n }}\n aria-rowindex={virtualRow.index + 1}\n data-state={row.getIsSelected() ? \"selected\" : undefined}\n onClick={\n onRowClick\n ? (e) => {\n if (isInteractiveTarget(e.target, e.currentTarget)) return\n onRowClick(row.original)\n }\n : undefined\n }\n >\n {row.getVisibleCells().map((cell) => (\n <TableCell\n key={cell.id}\n style={{\n width:\n cell.column.getSize() !== 150\n ? cell.column.getSize()\n : undefined,\n }}\n >\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </TableCell>\n ))}\n </TableRow>\n )\n })}\n\n {/* Bottom padding row */}\n {paddingBottom > 0 && (\n <tr aria-hidden=\"true\">\n <td\n colSpan={tableColumns.length}\n style={{ height: `${String(paddingBottom)}px`, padding: 0 }}\n />\n </tr>\n )}\n </TableBody>\n </Table>\n </div>\n </div>\n )\n}\n\nexport { VirtualTable }\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Divider } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { Divider } from './chunk-LCBB3N5H.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 * as React from 'react';
|
|
@@ -226,5 +226,5 @@ function ItemFooter({ className, ...props }) {
|
|
|
226
226
|
}
|
|
227
227
|
|
|
228
228
|
export { Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, itemMediaVariants, itemVariants };
|
|
229
|
-
//# sourceMappingURL=chunk-
|
|
230
|
-
//# sourceMappingURL=chunk-
|
|
229
|
+
//# sourceMappingURL=chunk-VHJ6ALIE.js.map
|
|
230
|
+
//# sourceMappingURL=chunk-VHJ6ALIE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/data-display/Item/Item.tsx"],"names":[],"mappings":";;;;;;;AAOA,SAAS,SAAA,CAAU,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AACvE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,gCAAA,EAAkC,SAAS,CAAA;AAAA,MACzD,WAAA,EAAU,YAAA;AAAA,MACV,IAAA,EAAK,MAAA;AAAA,MACJ,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,aAAA,CAAc;AAAA,EACrB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAyC;AACvC,EAAA,uBACE,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,MAAA,EAAQ,SAAS,CAAA;AAAA,MAC/B,WAAA,EAAU,gBAAA;AAAA,MACV,WAAA,EAAY,YAAA;AAAA,MACX,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,IAAM,YAAA,GAAe,GAAA;AAAA,EACnB,mRAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,gBAAA;AAAA,QACT,OAAA,EAAS,eAAA;AAAA,QACT,KAAA,EAAO,aAAA;AAAA,QACP,MAAA,EAAQ;AAAA,OACV;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,2BAAA;AAAA,QACJ,OAAA,EAAS,mBAAA;AAAA,QACT,EAAA,EAAI;AAAA,OACN;AAAA,MACA,WAAA,EAAa;AAAA,QACX,IAAA,EAAM,yFAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM,SAAA;AAAA,MACN,WAAA,EAAa;AAAA;AACf;AAEJ;AAkCA,SAAS,IAAA,CAAK;AAAA,EACZ,SAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA,GAAS,KAAA;AAAA,EACT,WAAA,GAAc,KAAA;AAAA,EACd,IAAA,GAAO,SAAA;AAAA,EACP,OAAA,GAAU,KAAA;AAAA,EACV,SAAA,EAAW,MAAA;AAAA,EACX,OAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAc;AAEZ,EAAA,MAAM,eAAA,GAAkB,OAAA,KAAY,MAAA,GAAS,QAAA,GAAW,SAAA,CAAA;AACxD,EAAA,MAAM,WAAW,eAAA,KAAoB,QAAA;AAKrC,EAAA,MAAM,IAAA,GAAQ,OAAA,GAAU,IAAA,GAAO,WAAA,GAAc,QAAA,GAAW,KAAA;AAExD,EAAA,MAAM,aAAA,GAAsB,KAAA,CAAA,WAAA;AAAA,IAC1B,OAAyB;AAAA,MACvB,GAAI,MAAA,GAAS,EAAE,EAAA,EAAI,MAAA,KAAW,EAAC;AAAA,MAC/B,MAAA,EAAQ,QAAA;AAAA,MACR,SAAA,EAAW,KAAK,GAAA;AAAI,KACtB,CAAA;AAAA,IACA,CAAC,QAAQ,QAAQ;AAAA,GACnB;AAEA,EAAA,MAAM,WAAA,GAAoB,KAAA,CAAA,WAAA;AAAA,IACxB,CAAC,KAAA,KAAgE;AAC/D,MAAA,OAAA,GAAU,KAAA,EAAO,eAAe,CAAA;AAAA,IAClC,CAAA;AAAA,IACA,CAAC,SAAS,aAAa;AAAA,GACzB;AAEA,EAAA,MAAM,WAAA,GAAoB,KAAA,CAAA,WAAA;AAAA,IACxB,CAAC,KAAA,KAAgE;AAC/D,MAAA,OAAA,GAAU,KAAA,EAAO,eAAe,CAAA;AAAA,IAClC,CAAA;AAAA,IACA,CAAC,SAAS,aAAa;AAAA,GACzB;AAEA,EAAA,MAAM,aAAA,GAAsB,KAAA,CAAA,WAAA;AAAA,IAC1B,CAAC,KAAA,KAAmE;AAClE,MAAA,SAAA,GAAY,KAAA,EAAO,eAAe,CAAA;AAAA,IACpC,CAAA;AAAA,IACA,CAAC,WAAW,aAAa;AAAA,GAC3B;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,cAAA,EAAc,QAAA,IAAY,WAAA,GAAc,MAAA,GAAS,MAAA;AAAA,MACjD,SAAA,EAAW,EAAA,CAAG,YAAA,CAAa,EAAE,OAAA,EAAS,iBAAiB,IAAA,EAAM,WAAA,EAAa,SAAA,EAAW,CAAC,CAAA;AAAA,MACtF,eAAa,QAAA,IAAY,MAAA;AAAA,MACzB,SAAA,EAAS,MAAA;AAAA,MACT,oBAAkB,WAAA,IAAe,MAAA;AAAA,MACjC,WAAA,EAAW,IAAA;AAAA,MACX,WAAA,EAAU,MAAA;AAAA,MACV,cAAA,EAAc,eAAA;AAAA,MACd,IAAA,EAAM,WAAA,IAAe,CAAC,OAAA,GAAU,QAAA,GAAW,MAAA;AAAA,MAC3C,OAAA,EAAS,WAAA;AAAA,MACT,OAAA,EAAS,WAAA;AAAA,MACT,SAAA,EAAW,aAAA;AAAA,MACV,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,IAAM,iBAAA,GAAoB,GAAA;AAAA,EACxB,oMAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,gBAAA;AAAA,QACT,IAAA,EAAM,wEAAA;AAAA,QACN,KAAA,EACE;AAAA;AACJ,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ;AAEA,SAAS,SAAA,CAAU;AAAA,EACjB,SAAA;AAAA,EACA,OAAA,GAAU,SAAA;AAAA,EACV,GAAG;AACL,CAAA,EAAyE;AACvE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAW,EAAA,CAAG,iBAAA,CAAkB,EAAE,OAAA,EAAS,SAAA,EAAW,CAAC,CAAA;AAAA,MACvD,WAAA,EAAU,YAAA;AAAA,MACV,cAAA,EAAc,OAAA;AAAA,MACb,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,WAAA,CAAY,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AACzE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,mEAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAU,cAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,SAAA,CAAU,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AACvE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,gEAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAU,YAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,eAAA,CAAgB,EAAE,SAAA,EAAW,GAAG,OAAM,EAA8B;AAC3E,EAAA,uBACE,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,oFAAA;AAAA,QACA,mEAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAU,kBAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,WAAA,CAAY,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AACzE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,yBAAA,EAA2B,SAAS,CAAA;AAAA,MAClD,WAAA,EAAU,cAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,UAAA,CAAW,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AACxE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,oDAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAU,aAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,UAAA,CAAW,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AACxE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,oDAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAU,aAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-PM344VOQ.js","sourcesContent":["import { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Divider } from \"../../primitives/Divider\"\n\nfunction ItemGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\"group/item-group flex flex-col\", className)}\n data-slot=\"item-group\"\n role=\"list\"\n {...props}\n />\n )\n}\n\nfunction ItemSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Divider>) {\n return (\n <Divider\n className={cn(\"my-0\", className)}\n data-slot=\"item-separator\"\n orientation=\"horizontal\"\n {...props}\n />\n )\n}\n\nconst itemVariants = cva(\n \"group/item flex items-center border border-transparent text-sm rounded-md transition-[colors,transform,box-shadow] [a]:hover:bg-accent/50 [a]:transition-colors duration-100 flex-wrap outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline: \"border-border\",\n muted: \"bg-muted/50\",\n active: \"bg-[color:var(--sidebar-accent)] text-[color:var(--sidebar-accent-foreground)] font-medium\",\n },\n size: {\n sm: \"py-3 px-4 gap-2.5 min-h-7\",\n default: \"p-4 gap-4 min-h-8\",\n lg: \"py-3.5 px-4 gap-3.5 min-h-14\",\n },\n interactive: {\n true: \"cursor-pointer hover:translate-y-px active:translate-y-0.5 motion-reduce:transform-none\",\n false: \"\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n interactive: false,\n },\n }\n)\n\nexport interface ItemEventPayload {\n /** Whether the item is currently in active state */\n active: boolean\n /** Reflects the `data-id` prop */\n id?: string\n /** Event timestamp (Date.now()) */\n timestamp: number\n}\n\ninterface ItemProps\n extends Omit<React.ComponentProps<\"div\">, \"onClick\" | \"onFocus\" | \"onKeyDown\">,\n VariantProps<typeof itemVariants> {\n /** Shorthand for `variant=\"active\"`. When both passed, `variant` wins. */\n active?: boolean\n asChild?: boolean\n /** Reflected to `data-id` and to the event payload. */\n \"data-id\"?: string\n /** Click handler — receives the event + an ItemEventPayload. */\n onClick?: (\n event: React.MouseEvent<HTMLButtonElement | HTMLDivElement>,\n payload: ItemEventPayload,\n ) => void\n onFocus?: (\n event: React.FocusEvent<HTMLButtonElement | HTMLDivElement>,\n payload: ItemEventPayload,\n ) => void\n onKeyDown?: (\n event: React.KeyboardEvent<HTMLButtonElement | HTMLDivElement>,\n payload: ItemEventPayload,\n ) => void\n}\n\nfunction Item({\n className,\n variant,\n active = false,\n interactive = false,\n size = \"default\",\n asChild = false,\n \"data-id\": dataId,\n onClick,\n onFocus,\n onKeyDown,\n ...props\n}: ItemProps) {\n // active prop is shorthand for variant=\"active\"; explicit variant wins\n const resolvedVariant = variant ?? (active ? \"active\" : \"default\")\n const isActive = resolvedVariant === \"active\"\n\n // Root element selection: asChild > interactive=button > default div\n // (when asChild, Radix Slot proxies to the child)\n // Cast to ElementType so the spread of generic props works against any root\n const Comp = (asChild ? Slot : interactive ? \"button\" : \"div\") as React.ElementType\n\n const createPayload = React.useCallback(\n (): ItemEventPayload => ({\n ...(dataId ? { id: dataId } : {}),\n active: isActive,\n timestamp: Date.now(),\n }),\n [dataId, isActive],\n )\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLButtonElement | HTMLDivElement>) => {\n onClick?.(event, createPayload())\n },\n [onClick, createPayload],\n )\n\n const handleFocus = React.useCallback(\n (event: React.FocusEvent<HTMLButtonElement | HTMLDivElement>) => {\n onFocus?.(event, createPayload())\n },\n [onFocus, createPayload],\n )\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLButtonElement | HTMLDivElement>) => {\n onKeyDown?.(event, createPayload())\n },\n [onKeyDown, createPayload],\n )\n\n return (\n <Comp\n aria-current={isActive && interactive ? \"page\" : undefined}\n className={cn(itemVariants({ variant: resolvedVariant, size, interactive, className }))}\n data-active={isActive || undefined}\n data-id={dataId}\n data-interactive={interactive ?? undefined}\n data-size={size}\n data-slot=\"item\"\n data-variant={resolvedVariant}\n type={interactive && !asChild ? \"button\" : undefined}\n onClick={handleClick}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n {...props}\n />\n )\n}\n\nconst itemMediaVariants = cva(\n \"flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none group-has-[[data-slot=item-description]]/item:translate-y-0.5\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"size-8 border rounded-sm bg-muted [&_svg:not([class*='size-'])]:size-4\",\n image:\n \"size-10 rounded-sm overflow-hidden [&_img]:size-full [&_img]:object-cover\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction ItemMedia({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof itemMediaVariants>) {\n return (\n <div\n className={cn(itemMediaVariants({ variant, className }))}\n data-slot=\"item-media\"\n data-variant={variant}\n {...props}\n />\n )\n}\n\nfunction ItemContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\n \"flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none\",\n className\n )}\n data-slot=\"item-content\"\n {...props}\n />\n )\n}\n\nfunction ItemTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\n \"flex w-fit items-center gap-2 text-sm leading-snug font-medium\",\n className\n )}\n data-slot=\"item-title\"\n {...props}\n />\n )\n}\n\nfunction ItemDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n className={cn(\n \"text-muted-foreground line-clamp-2 text-sm leading-normal font-normal text-balance\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n data-slot=\"item-description\"\n {...props}\n />\n )\n}\n\nfunction ItemActions({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\"flex items-center gap-2\", className)}\n data-slot=\"item-actions\"\n {...props}\n />\n )\n}\n\nfunction ItemHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\n \"flex basis-full items-center justify-between gap-2\",\n className\n )}\n data-slot=\"item-header\"\n {...props}\n />\n )\n}\n\nfunction ItemFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\n \"flex basis-full items-center justify-between gap-2\",\n className\n )}\n data-slot=\"item-footer\"\n {...props}\n />\n )\n}\n\nexport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\n ItemFooter,\n ItemGroup,\n ItemHeader,\n ItemMedia,\n itemMediaVariants,\n ItemSeparator,\n ItemTitle,\n itemVariants,\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/Item/Item.tsx"],"names":[],"mappings":"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","file":"chunk-VHJ6ALIE.js","sourcesContent":["import { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Divider } from \"../../primitives/Divider\"\n\nfunction ItemGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\"group/item-group flex flex-col\", className)}\n data-slot=\"item-group\"\n role=\"list\"\n {...props}\n />\n )\n}\n\nfunction ItemSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Divider>) {\n return (\n <Divider\n className={cn(\"my-0\", className)}\n data-slot=\"item-separator\"\n orientation=\"horizontal\"\n {...props}\n />\n )\n}\n\nconst itemVariants = cva(\n \"group/item flex items-center border border-transparent text-sm rounded-md transition-[colors,transform,box-shadow] [a]:hover:bg-accent/50 [a]:transition-colors duration-100 flex-wrap outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline: \"border-border\",\n muted: \"bg-muted/50\",\n active: \"bg-[color:var(--sidebar-accent)] text-[color:var(--sidebar-accent-foreground)] font-medium\",\n },\n size: {\n sm: \"py-3 px-4 gap-2.5 min-h-7\",\n default: \"p-4 gap-4 min-h-8\",\n lg: \"py-3.5 px-4 gap-3.5 min-h-14\",\n },\n interactive: {\n true: \"cursor-pointer hover:translate-y-px active:translate-y-0.5 motion-reduce:transform-none\",\n false: \"\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n interactive: false,\n },\n }\n)\n\nexport interface ItemEventPayload {\n /** Whether the item is currently in active state */\n active: boolean\n /** Reflects the `data-id` prop */\n id?: string\n /** Event timestamp (Date.now()) */\n timestamp: number\n}\n\ninterface ItemProps\n extends Omit<React.ComponentProps<\"div\">, \"onClick\" | \"onFocus\" | \"onKeyDown\">,\n VariantProps<typeof itemVariants> {\n /** Shorthand for `variant=\"active\"`. When both passed, `variant` wins. */\n active?: boolean\n asChild?: boolean\n /** Reflected to `data-id` and to the event payload. */\n \"data-id\"?: string\n /** Click handler — receives the event + an ItemEventPayload. */\n onClick?: (\n event: React.MouseEvent<HTMLButtonElement | HTMLDivElement>,\n payload: ItemEventPayload,\n ) => void\n onFocus?: (\n event: React.FocusEvent<HTMLButtonElement | HTMLDivElement>,\n payload: ItemEventPayload,\n ) => void\n onKeyDown?: (\n event: React.KeyboardEvent<HTMLButtonElement | HTMLDivElement>,\n payload: ItemEventPayload,\n ) => void\n}\n\nfunction Item({\n className,\n variant,\n active = false,\n interactive = false,\n size = \"default\",\n asChild = false,\n \"data-id\": dataId,\n onClick,\n onFocus,\n onKeyDown,\n ...props\n}: ItemProps) {\n // active prop is shorthand for variant=\"active\"; explicit variant wins\n const resolvedVariant = variant ?? (active ? \"active\" : \"default\")\n const isActive = resolvedVariant === \"active\"\n\n // Root element selection: asChild > interactive=button > default div\n // (when asChild, Radix Slot proxies to the child)\n // Cast to ElementType so the spread of generic props works against any root\n const Comp = (asChild ? Slot : interactive ? \"button\" : \"div\") as React.ElementType\n\n const createPayload = React.useCallback(\n (): ItemEventPayload => ({\n ...(dataId ? { id: dataId } : {}),\n active: isActive,\n timestamp: Date.now(),\n }),\n [dataId, isActive],\n )\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLButtonElement | HTMLDivElement>) => {\n onClick?.(event, createPayload())\n },\n [onClick, createPayload],\n )\n\n const handleFocus = React.useCallback(\n (event: React.FocusEvent<HTMLButtonElement | HTMLDivElement>) => {\n onFocus?.(event, createPayload())\n },\n [onFocus, createPayload],\n )\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLButtonElement | HTMLDivElement>) => {\n onKeyDown?.(event, createPayload())\n },\n [onKeyDown, createPayload],\n )\n\n return (\n <Comp\n aria-current={isActive && interactive ? \"page\" : undefined}\n className={cn(itemVariants({ variant: resolvedVariant, size, interactive, className }))}\n data-active={isActive || undefined}\n data-id={dataId}\n data-interactive={interactive ?? undefined}\n data-size={size}\n data-slot=\"item\"\n data-variant={resolvedVariant}\n type={interactive && !asChild ? \"button\" : undefined}\n onClick={handleClick}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n {...props}\n />\n )\n}\n\nconst itemMediaVariants = cva(\n \"flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none group-has-[[data-slot=item-description]]/item:translate-y-0.5\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"size-8 border rounded-sm bg-muted [&_svg:not([class*='size-'])]:size-4\",\n image:\n \"size-10 rounded-sm overflow-hidden [&_img]:size-full [&_img]:object-cover\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction ItemMedia({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof itemMediaVariants>) {\n return (\n <div\n className={cn(itemMediaVariants({ variant, className }))}\n data-slot=\"item-media\"\n data-variant={variant}\n {...props}\n />\n )\n}\n\nfunction ItemContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\n \"flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none\",\n className\n )}\n data-slot=\"item-content\"\n {...props}\n />\n )\n}\n\nfunction ItemTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\n \"flex w-fit items-center gap-2 text-sm leading-snug font-medium\",\n className\n )}\n data-slot=\"item-title\"\n {...props}\n />\n )\n}\n\nfunction ItemDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n className={cn(\n \"text-muted-foreground line-clamp-2 text-sm leading-normal font-normal text-balance\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n data-slot=\"item-description\"\n {...props}\n />\n )\n}\n\nfunction ItemActions({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\"flex items-center gap-2\", className)}\n data-slot=\"item-actions\"\n {...props}\n />\n )\n}\n\nfunction ItemHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\n \"flex basis-full items-center justify-between gap-2\",\n className\n )}\n data-slot=\"item-header\"\n {...props}\n />\n )\n}\n\nfunction ItemFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\n \"flex basis-full items-center justify-between gap-2\",\n className\n )}\n data-slot=\"item-footer\"\n {...props}\n />\n )\n}\n\nexport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\n ItemFooter,\n ItemGroup,\n ItemHeader,\n ItemMedia,\n itemMediaVariants,\n ItemSeparator,\n ItemTitle,\n itemVariants,\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-RVAYDRMA.js';
|
|
2
2
|
import { OTPInput, OTPInputContext } from 'input-otp';
|
|
3
3
|
import { MinusIcon } from 'lucide-react';
|
|
4
4
|
import * as React from 'react';
|
|
@@ -133,5 +133,5 @@ function InputOTPSeparator({ children, ...props }) {
|
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, inputOTPCaretInnerStyles, inputOTPCaretStyles, inputOTPContainerVariants, inputOTPGroupVariants, inputOTPSlotVariants };
|
|
136
|
-
//# sourceMappingURL=chunk-
|
|
137
|
-
//# sourceMappingURL=chunk-
|
|
136
|
+
//# sourceMappingURL=chunk-WG34IXUV.js.map
|
|
137
|
+
//# sourceMappingURL=chunk-WG34IXUV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/forms/InputOTP/InputOTP.variants.ts","../src/components/forms/InputOTP/InputOTP.tsx"],"names":[],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/forms/InputOTP/InputOTP.variants.ts","../src/components/forms/InputOTP/InputOTP.tsx"],"names":[],"mappings":"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","file":"chunk-WG34IXUV.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * InputOTP slot variant styles using CVA\n */\nexport const inputOTPSlotVariants = cva(\n // Base styles\n [\n \"relative flex items-center justify-center border-y border-r text-center shadow-xs transition-all outline-none\",\n \"first:border-l\",\n \"border-[color:var(--input-otp-slot-border)] bg-[color:var(--input-otp-slot-bg)] dark:bg-input/30\",\n \"data-[active=true]:border-[color:var(--input-otp-slot-active-border)] data-[active=true]:ring-[color:var(--input-otp-slot-active-ring)]/50 data-[active=true]:z-10 data-[active=true]:ring-[3px]\",\n \"data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40\",\n \"aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive\",\n ],\n {\n variants: {\n size: {\n sm: \"size-[var(--input-otp-slot-size-sm-size)] text-[length:var(--input-otp-slot-size-sm-text)] rounded-[var(--input-otp-slot-size-sm-radius)]\",\n md: \"size-[var(--input-otp-slot-size-md-size)] text-[length:var(--input-otp-slot-size-md-text)] rounded-[var(--input-otp-slot-size-md-radius)]\",\n lg: \"size-[var(--input-otp-slot-size-lg-size)] text-[length:var(--input-otp-slot-size-lg-text)] rounded-[var(--input-otp-slot-size-lg-radius)]\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n/**\n * InputOTP container variant styles using CVA\n */\nexport const inputOTPContainerVariants = cva(\n \"flex items-center has-disabled:opacity-50\",\n {\n variants: {\n size: {\n sm: \"gap-[var(--input-otp-container-gap-sm)]\",\n md: \"gap-[var(--input-otp-container-gap-md)]\",\n lg: \"gap-[var(--input-otp-container-gap-lg)]\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n/**\n * InputOTP group styles\n */\nexport const inputOTPGroupVariants = cva(\"flex items-center\")\n\n/**\n * InputOTP caret animation styles\n */\nexport const inputOTPCaretStyles =\n \"pointer-events-none absolute inset-0 flex items-center justify-center\"\n\nexport const inputOTPCaretInnerStyles =\n \"animate-caret-blink bg-[color:var(--input-otp-caret-color)] h-[var(--input-otp-caret-height)] w-[var(--input-otp-caret-width)] duration-1000\"\n\nexport type InputOTPSlotVariantProps = VariantProps<typeof inputOTPSlotVariants>\nexport type InputOTPContainerVariantProps = VariantProps<typeof inputOTPContainerVariants>\n","\"use client\"\n\nimport type {\n InputOTPGroupProps,\n InputOTPProps,\n InputOTPSeparatorProps,\n InputOTPSlotProps,\n} from \"./InputOTP.types\"\n\nimport { OTPInput, OTPInputContext } from \"input-otp\"\nimport { MinusIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n inputOTPCaretInnerStyles,\n inputOTPCaretStyles,\n inputOTPContainerVariants,\n inputOTPGroupVariants,\n inputOTPSlotVariants,\n} from \"./InputOTP.variants\"\n\nfunction normalizeOTPValue(\n value: InputOTPProps[\"defaultValue\"] | InputOTPProps[\"value\"]\n): string {\n if (typeof value === \"string\") {\n return value\n }\n\n if (typeof value === \"number\") {\n return String(value)\n }\n\n if (Array.isArray(value)) {\n return value.join(\"\")\n }\n\n return \"\"\n}\n\nfunction InputOTP({\n className,\n containerClassName,\n slotSize = \"md\",\n defaultValue,\n onChange,\n value,\n ...props\n}: InputOTPProps) {\n const isControlled = value !== undefined\n const [uncontrolledValue, setUncontrolledValue] = React.useState(() =>\n normalizeOTPValue(defaultValue)\n )\n\n const resolvedValue = isControlled ? normalizeOTPValue(value) : uncontrolledValue\n\n const handleChange = React.useCallback(\n (nextValue: string) => {\n if (!isControlled) {\n setUncontrolledValue(nextValue)\n }\n\n onChange?.(nextValue)\n },\n [isControlled, onChange]\n )\n\n return (\n <OTPInput\n className={cn(\"disabled:cursor-not-allowed\", className)}\n containerClassName={cn(inputOTPContainerVariants({ size: slotSize }), containerClassName)}\n data-slot=\"input-otp\"\n value={resolvedValue}\n onChange={handleChange}\n {...props}\n />\n )\n}\n\nfunction InputOTPGroup({ className, ...props }: InputOTPGroupProps) {\n return (\n <div\n className={cn(inputOTPGroupVariants(), className)}\n data-slot=\"input-otp-group\"\n {...props}\n />\n )\n}\n\nfunction InputOTPSlot({\n index,\n size,\n placeholder,\n className,\n ...props\n}: InputOTPSlotProps) {\n const inputOTPContext = React.use(OTPInputContext)\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index] ?? {}\n\n // Show placeholder only when slot is empty and not active\n const showPlaceholder = !char && !isActive && placeholder\n\n return (\n <div\n className={cn(inputOTPSlotVariants({ size }), className)}\n data-active={isActive}\n data-slot=\"input-otp-slot\"\n {...props}\n >\n {char}\n {showPlaceholder && (\n <span className=\"text-muted-foreground/30 select-none\">{placeholder}</span>\n )}\n {hasFakeCaret && (\n <div className={inputOTPCaretStyles}>\n <div className={inputOTPCaretInnerStyles} />\n </div>\n )}\n </div>\n )\n}\n\nfunction InputOTPSeparator({ children, ...props }: InputOTPSeparatorProps) {\n return (\n <div data-slot=\"input-otp-separator\" role=\"separator\" {...props}>\n {children ?? <MinusIcon />}\n </div>\n )\n}\n\nexport { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot }\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-RVAYDRMA.js';
|
|
2
2
|
import { ChevronDown } from 'lucide-react';
|
|
3
3
|
import { useRef, useState, useCallback, useEffect } from 'react';
|
|
4
4
|
import { cva } from 'class-variance-authority';
|
|
@@ -334,5 +334,5 @@ function PhoneInput({
|
|
|
334
334
|
}
|
|
335
335
|
|
|
336
336
|
export { PhoneInput, defaultCountries, findCountryByCode, findCountryByDialCode, formatPhoneNumber, getPhoneDigits, phoneInputCountryButtonVariants, phoneInputDropdownVariants, phoneInputInputVariants, phoneInputOptionVariants, phoneInputVariants };
|
|
337
|
-
//# sourceMappingURL=chunk-
|
|
338
|
-
//# sourceMappingURL=chunk-
|
|
337
|
+
//# sourceMappingURL=chunk-WGKOYZRI.js.map
|
|
338
|
+
//# sourceMappingURL=chunk-WGKOYZRI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/forms/PhoneInput/countries.ts","../src/components/forms/PhoneInput/PhoneInput.variants.ts","../src/components/forms/PhoneInput/PhoneInput.tsx"],"names":[],"mappings":"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","file":"chunk-45YJLE4R.js","sourcesContent":["/* eslint-disable sonarjs/no-duplicate-string -- Country data naturally has repeated format patterns */\n\n/**\n * Country information for phone input\n */\nexport interface Country {\n /** ISO 3166-1 alpha-2 country code */\n code: string\n /** International dial code */\n dialCode: string\n /** Flag emoji */\n flag: string\n /** Phone number format pattern (# = digit) */\n format?: string\n /** Country name in English */\n name: string\n}\n\n/**\n * Default list of countries with dial codes\n * Prioritizes common countries at the top\n */\nexport const defaultCountries: Country[] = [\n // Priority countries\n { code: \"BR\", dialCode: \"+55\", name: \"Brazil\", flag: \"🇧🇷\", format: \"(##) #####-####\" },\n { code: \"US\", dialCode: \"+1\", name: \"United States\", flag: \"🇺🇸\", format: \"(###) ###-####\" },\n { code: \"GB\", dialCode: \"+44\", name: \"United Kingdom\", flag: \"🇬🇧\", format: \"#### ######\" },\n { code: \"CA\", dialCode: \"+1\", name: \"Canada\", flag: \"🇨🇦\", format: \"(###) ###-####\" },\n { code: \"PT\", dialCode: \"+351\", name: \"Portugal\", flag: \"🇵🇹\", format: \"### ### ###\" },\n { code: \"ES\", dialCode: \"+34\", name: \"Spain\", flag: \"🇪🇸\", format: \"### ### ###\" },\n\n // Latin America\n { code: \"AR\", dialCode: \"+54\", name: \"Argentina\", flag: \"🇦🇷\", format: \"## ####-####\" },\n { code: \"CL\", dialCode: \"+56\", name: \"Chile\", flag: \"🇨🇱\", format: \"# #### ####\" },\n { code: \"CO\", dialCode: \"+57\", name: \"Colombia\", flag: \"🇨🇴\", format: \"### #######\" },\n { code: \"MX\", dialCode: \"+52\", name: \"Mexico\", flag: \"🇲🇽\", format: \"### ### ####\" },\n { code: \"PE\", dialCode: \"+51\", name: \"Peru\", flag: \"🇵🇪\", format: \"### ### ###\" },\n { code: \"UY\", dialCode: \"+598\", name: \"Uruguay\", flag: \"🇺🇾\", format: \"## ### ###\" },\n { code: \"VE\", dialCode: \"+58\", name: \"Venezuela\", flag: \"🇻🇪\", format: \"### #######\" },\n\n // Europe\n { code: \"DE\", dialCode: \"+49\", name: \"Germany\", flag: \"🇩🇪\", format: \"#### #######\" },\n { code: \"FR\", dialCode: \"+33\", name: \"France\", flag: \"🇫🇷\", format: \"# ## ## ## ##\" },\n { code: \"IT\", dialCode: \"+39\", name: \"Italy\", flag: \"🇮🇹\", format: \"### #######\" },\n { code: \"NL\", dialCode: \"+31\", name: \"Netherlands\", flag: \"🇳🇱\", format: \"# ########\" },\n { code: \"BE\", dialCode: \"+32\", name: \"Belgium\", flag: \"🇧🇪\", format: \"### ## ## ##\" },\n { code: \"CH\", dialCode: \"+41\", name: \"Switzerland\", flag: \"🇨🇭\", format: \"## ### ## ##\" },\n { code: \"AT\", dialCode: \"+43\", name: \"Austria\", flag: \"🇦🇹\", format: \"### #######\" },\n { code: \"PL\", dialCode: \"+48\", name: \"Poland\", flag: \"🇵🇱\", format: \"### ### ###\" },\n { code: \"SE\", dialCode: \"+46\", name: \"Sweden\", flag: \"🇸🇪\", format: \"## ### ## ##\" },\n { code: \"NO\", dialCode: \"+47\", name: \"Norway\", flag: \"🇳🇴\", format: \"### ## ###\" },\n { code: \"DK\", dialCode: \"+45\", name: \"Denmark\", flag: \"🇩🇰\", format: \"## ## ## ##\" },\n { code: \"FI\", dialCode: \"+358\", name: \"Finland\", flag: \"🇫🇮\", format: \"## ### ####\" },\n { code: \"IE\", dialCode: \"+353\", name: \"Ireland\", flag: \"🇮🇪\", format: \"## #######\" },\n\n // Asia\n { code: \"JP\", dialCode: \"+81\", name: \"Japan\", flag: \"🇯🇵\", format: \"##-####-####\" },\n { code: \"CN\", dialCode: \"+86\", name: \"China\", flag: \"🇨🇳\", format: \"### #### ####\" },\n { code: \"IN\", dialCode: \"+91\", name: \"India\", flag: \"🇮🇳\", format: \"##### #####\" },\n { code: \"KR\", dialCode: \"+82\", name: \"South Korea\", flag: \"🇰🇷\", format: \"##-####-####\" },\n { code: \"SG\", dialCode: \"+65\", name: \"Singapore\", flag: \"🇸🇬\", format: \"#### ####\" },\n { code: \"HK\", dialCode: \"+852\", name: \"Hong Kong\", flag: \"🇭🇰\", format: \"#### ####\" },\n { code: \"TW\", dialCode: \"+886\", name: \"Taiwan\", flag: \"🇹🇼\", format: \"### ### ###\" },\n { code: \"TH\", dialCode: \"+66\", name: \"Thailand\", flag: \"🇹🇭\", format: \"## ### ####\" },\n { code: \"MY\", dialCode: \"+60\", name: \"Malaysia\", flag: \"🇲🇾\", format: \"##-### ####\" },\n { code: \"ID\", dialCode: \"+62\", name: \"Indonesia\", flag: \"🇮🇩\", format: \"### ### ####\" },\n { code: \"PH\", dialCode: \"+63\", name: \"Philippines\", flag: \"🇵🇭\", format: \"### ### ####\" },\n { code: \"VN\", dialCode: \"+84\", name: \"Vietnam\", flag: \"🇻🇳\", format: \"## ### ## ##\" },\n\n // Middle East\n { code: \"AE\", dialCode: \"+971\", name: \"UAE\", flag: \"🇦🇪\", format: \"## ### ####\" },\n { code: \"SA\", dialCode: \"+966\", name: \"Saudi Arabia\", flag: \"🇸🇦\", format: \"## ### ####\" },\n { code: \"IL\", dialCode: \"+972\", name: \"Israel\", flag: \"🇮🇱\", format: \"##-###-####\" },\n { code: \"TR\", dialCode: \"+90\", name: \"Turkey\", flag: \"🇹🇷\", format: \"### ### ## ##\" },\n\n // Oceania\n { code: \"AU\", dialCode: \"+61\", name: \"Australia\", flag: \"🇦🇺\", format: \"### ### ###\" },\n { code: \"NZ\", dialCode: \"+64\", name: \"New Zealand\", flag: \"🇳🇿\", format: \"## ### ####\" },\n\n // Africa\n { code: \"ZA\", dialCode: \"+27\", name: \"South Africa\", flag: \"🇿🇦\", format: \"## ### ####\" },\n { code: \"NG\", dialCode: \"+234\", name: \"Nigeria\", flag: \"🇳🇬\", format: \"### ### ####\" },\n { code: \"EG\", dialCode: \"+20\", name: \"Egypt\", flag: \"🇪🇬\", format: \"## #### ####\" },\n { code: \"KE\", dialCode: \"+254\", name: \"Kenya\", flag: \"🇰🇪\", format: \"### ######\" },\n]\n\n/**\n * Find country by ISO code\n */\nexport function findCountryByCode(code: string, countries = defaultCountries): Country | undefined {\n return countries.find((c) => c.code.toLowerCase() === code.toLowerCase())\n}\n\n/**\n * Find country by dial code\n */\nexport function findCountryByDialCode(dialCode: string, countries = defaultCountries): Country | undefined {\n return countries.find((c) => c.dialCode === dialCode)\n}\n\n/**\n * Format a phone number according to the country format\n */\nexport function formatPhoneNumber(value: string, country: Country): string {\n // Remove all non-digit characters\n const digits = value.replaceAll(/\\D/g, \"\")\n\n if (!country.format) {\n return digits\n }\n\n let result = \"\"\n let digitIndex = 0\n\n for (const char of country.format) {\n if (digitIndex >= digits.length) break\n\n if (char === \"#\") {\n result += digits[digitIndex] ?? \"\"\n digitIndex++\n } else {\n result += char\n }\n }\n\n return result\n}\n\n/**\n * Get the raw digits from a formatted phone number\n */\nexport function getPhoneDigits(value: string): string {\n return value.replaceAll(/\\D/g, \"\")\n}\n","import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * PhoneInput container variant styles using CVA\n */\nexport const phoneInputVariants = cva(\n [\n \"flex w-full min-w-0 rounded-md border bg-transparent transition-[color,box-shadow] outline-none\",\n \"dark:bg-input/30\",\n \"focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]\",\n \"has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n ],\n {\n variants: {\n size: {\n sm: \"h-8 text-sm\",\n md: \"h-9 text-base md:text-sm\",\n lg: \"h-10 text-base\",\n },\n variant: {\n default: \"border-input shadow-xs\",\n filled: \"border-transparent bg-muted\",\n flushed: \"rounded-none border-x-0 border-t-0 border-b-input\",\n },\n },\n defaultVariants: {\n size: \"md\",\n variant: \"default\",\n },\n }\n)\n\n/**\n * Country selector button styles\n */\nexport const phoneInputCountryButtonVariants = cva(\n [\n \"flex items-center gap-1.5 shrink-0 border-r border-[color:var(--phone-input-country-select-border-color)] bg-transparent outline-none transition-colors\",\n \"hover:bg-muted/50\",\n \"focus-visible:bg-muted/50\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n ],\n {\n variants: {\n size: {\n sm: \"px-2 text-sm\",\n md: \"px-3 text-sm\",\n lg: \"px-3.5 text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n/**\n * Phone number input styles\n */\nexport const phoneInputInputVariants = cva(\n [\n \"flex-1 min-w-0 bg-transparent outline-none\",\n \"placeholder:text-muted-foreground\",\n \"disabled:cursor-not-allowed\",\n ],\n {\n variants: {\n size: {\n sm: \"px-2 text-sm\",\n md: \"px-3 text-base md:text-sm\",\n lg: \"px-3.5 text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n/**\n * Country dropdown styles\n */\nexport const phoneInputDropdownVariants = cva(\n [\n \"absolute left-0 top-full z-50 mt-1 max-h-60 min-w-52 overflow-auto rounded-md border bg-popover p-1 shadow-md\",\n \"animate-in fade-in-0 zoom-in-95\",\n ]\n)\n\n/**\n * Country option styles\n */\nexport const phoneInputOptionVariants = cva(\n [\n \"flex items-center gap-2 cursor-pointer rounded-sm px-2 py-1.5 text-sm outline-none transition-colors\",\n \"hover:bg-accent hover:text-accent-foreground\",\n \"focus-visible:bg-accent focus-visible:text-accent-foreground\",\n \"data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground\",\n ]\n)\n\nexport type PhoneInputVariantProps = VariantProps<typeof phoneInputVariants>\n","\"use client\"\n\nimport type { PhoneInputProps } from \"./PhoneInput.types\"\n\nimport { ChevronDown } from \"lucide-react\"\nimport * as React from \"react\"\nimport { useCallback, useEffect, useRef, useState } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n type Country,\n defaultCountries,\n findCountryByCode,\n formatPhoneNumber,\n getPhoneDigits,\n} from \"./countries\"\nimport {\n phoneInputCountryButtonVariants,\n phoneInputDropdownVariants,\n phoneInputInputVariants,\n phoneInputOptionVariants,\n phoneInputVariants,\n} from \"./PhoneInput.variants\"\n\n/**\n * PhoneInput - An international phone number input with country selector\n *\n * @example\n * ```tsx\n * // Basic usage\n * <PhoneInput\n * placeholder=\"Enter phone number\"\n * defaultCountry=\"BR\"\n * />\n *\n * // Controlled\n * const [phone, setPhone] = useState(\"\")\n * <PhoneInput\n * value={phone}\n * onChange={(value, country) => {\n * setPhone(value)\n * console.log(`${country.dialCode} ${value}`)\n * }}\n * />\n * ```\n */\nfunction PhoneInput({\n value: controlledValue,\n defaultValue = \"\",\n onChange,\n onCountryChange,\n defaultCountry = \"BR\",\n countries = defaultCountries,\n disabled,\n size = \"md\",\n variant,\n invalid,\n placeholder = \"Phone number\",\n className,\n ...props\n}: PhoneInputProps) {\n const containerRef = useRef<HTMLDivElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const [isOpen, setIsOpen] = useState(false)\n\n // Find initial country - fallback to first country or Brazil\n const initialCountry = findCountryByCode(defaultCountry, countries) ?? countries[0] ?? defaultCountries[0]\n if (!initialCountry) {\n throw new Error(\"PhoneInput requires at least one country option.\")\n }\n const [selectedCountry, setSelectedCountry] = useState<Country>(() => initialCountry)\n\n // Internal state for uncontrolled mode\n const [internalValue, setInternalValue] = useState(defaultValue)\n\n // Determine if controlled\n const isControlled = controlledValue !== undefined\n const phoneValue = isControlled ? controlledValue : internalValue\n\n // Format the display value\n const displayValue = formatPhoneNumber(phoneValue, selectedCountry)\n\n const handleCountrySelect = useCallback(\n (country: Country) => {\n setSelectedCountry(country)\n setIsOpen(false)\n onCountryChange?.(country)\n inputRef.current?.focus()\n\n // Notify parent of the change with current value\n if (phoneValue) {\n onChange?.(phoneValue, country)\n }\n },\n [onCountryChange, onChange, phoneValue]\n )\n\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const rawValue = getPhoneDigits(e.target.value)\n\n if (!isControlled) {\n setInternalValue(rawValue)\n }\n\n onChange?.(rawValue, selectedCountry)\n },\n [isControlled, onChange, selectedCountry]\n )\n\n // Close dropdown on click outside\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(event.target as Node)) {\n setIsOpen(false)\n }\n }\n\n if (isOpen) {\n document.addEventListener(\"mousedown\", handleClickOutside)\n }\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside)\n }\n }, [isOpen])\n\n // Handle keyboard navigation\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === \"Escape\") {\n setIsOpen(false)\n } else if (e.key === \"ArrowDown\" && !isOpen) {\n setIsOpen(true)\n }\n },\n [isOpen]\n )\n\n return (\n <div\n ref={containerRef}\n className={cn(\"relative\", className)}\n data-slot=\"phone-input\"\n onKeyDown={handleKeyDown}\n >\n <div\n aria-invalid={invalid ?? undefined}\n className={phoneInputVariants({ size, variant })}\n >\n {/* Country selector */}\n <button\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n aria-label={`Select country, current: ${selectedCountry.name}`}\n className={phoneInputCountryButtonVariants({ size })}\n data-slot=\"phone-input-country\"\n disabled={disabled}\n type=\"button\"\n onClick={() => { setIsOpen(!isOpen); }}\n >\n <span className=\"text-base\">{selectedCountry.flag}</span>\n <span className=\"text-muted-foreground\">{selectedCountry.dialCode}</span>\n <ChevronDown\n className={cn(\n \"size-4 text-muted-foreground transition-transform\",\n isOpen && \"rotate-180\"\n )}\n />\n </button>\n\n {/* Phone number input */}\n <input\n ref={inputRef}\n aria-invalid={invalid ?? undefined}\n className={phoneInputInputVariants({ size })}\n data-slot=\"phone-input-field\"\n disabled={disabled}\n placeholder={placeholder}\n type=\"tel\"\n value={displayValue}\n onChange={handleInputChange}\n {...props}\n />\n </div>\n\n {/* Country dropdown */}\n {isOpen && (\n <div\n className={phoneInputDropdownVariants()}\n data-slot=\"phone-input-dropdown\"\n role=\"listbox\"\n >\n {countries.map((country) => (\n <div\n key={country.code}\n aria-selected={country.code === selectedCountry.code}\n className={phoneInputOptionVariants()}\n data-selected={country.code === selectedCountry.code}\n data-slot=\"phone-input-option\"\n role=\"option\"\n onClick={() => { handleCountrySelect(country); }}\n >\n <span className=\"text-base\">{country.flag}</span>\n <span className=\"flex-1\">{country.name}</span>\n <span className=\"text-muted-foreground\">{country.dialCode}</span>\n </div>\n ))}\n </div>\n )}\n </div>\n )\n}\n\nexport { PhoneInput }\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/forms/PhoneInput/countries.ts","../src/components/forms/PhoneInput/PhoneInput.variants.ts","../src/components/forms/PhoneInput/PhoneInput.tsx"],"names":[],"mappings":"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","file":"chunk-WGKOYZRI.js","sourcesContent":["/* eslint-disable sonarjs/no-duplicate-string -- Country data naturally has repeated format patterns */\n\n/**\n * Country information for phone input\n */\nexport interface Country {\n /** ISO 3166-1 alpha-2 country code */\n code: string\n /** International dial code */\n dialCode: string\n /** Flag emoji */\n flag: string\n /** Phone number format pattern (# = digit) */\n format?: string\n /** Country name in English */\n name: string\n}\n\n/**\n * Default list of countries with dial codes\n * Prioritizes common countries at the top\n */\nexport const defaultCountries: Country[] = [\n // Priority countries\n { code: \"BR\", dialCode: \"+55\", name: \"Brazil\", flag: \"🇧🇷\", format: \"(##) #####-####\" },\n { code: \"US\", dialCode: \"+1\", name: \"United States\", flag: \"🇺🇸\", format: \"(###) ###-####\" },\n { code: \"GB\", dialCode: \"+44\", name: \"United Kingdom\", flag: \"🇬🇧\", format: \"#### ######\" },\n { code: \"CA\", dialCode: \"+1\", name: \"Canada\", flag: \"🇨🇦\", format: \"(###) ###-####\" },\n { code: \"PT\", dialCode: \"+351\", name: \"Portugal\", flag: \"🇵🇹\", format: \"### ### ###\" },\n { code: \"ES\", dialCode: \"+34\", name: \"Spain\", flag: \"🇪🇸\", format: \"### ### ###\" },\n\n // Latin America\n { code: \"AR\", dialCode: \"+54\", name: \"Argentina\", flag: \"🇦🇷\", format: \"## ####-####\" },\n { code: \"CL\", dialCode: \"+56\", name: \"Chile\", flag: \"🇨🇱\", format: \"# #### ####\" },\n { code: \"CO\", dialCode: \"+57\", name: \"Colombia\", flag: \"🇨🇴\", format: \"### #######\" },\n { code: \"MX\", dialCode: \"+52\", name: \"Mexico\", flag: \"🇲🇽\", format: \"### ### ####\" },\n { code: \"PE\", dialCode: \"+51\", name: \"Peru\", flag: \"🇵🇪\", format: \"### ### ###\" },\n { code: \"UY\", dialCode: \"+598\", name: \"Uruguay\", flag: \"🇺🇾\", format: \"## ### ###\" },\n { code: \"VE\", dialCode: \"+58\", name: \"Venezuela\", flag: \"🇻🇪\", format: \"### #######\" },\n\n // Europe\n { code: \"DE\", dialCode: \"+49\", name: \"Germany\", flag: \"🇩🇪\", format: \"#### #######\" },\n { code: \"FR\", dialCode: \"+33\", name: \"France\", flag: \"🇫🇷\", format: \"# ## ## ## ##\" },\n { code: \"IT\", dialCode: \"+39\", name: \"Italy\", flag: \"🇮🇹\", format: \"### #######\" },\n { code: \"NL\", dialCode: \"+31\", name: \"Netherlands\", flag: \"🇳🇱\", format: \"# ########\" },\n { code: \"BE\", dialCode: \"+32\", name: \"Belgium\", flag: \"🇧🇪\", format: \"### ## ## ##\" },\n { code: \"CH\", dialCode: \"+41\", name: \"Switzerland\", flag: \"🇨🇭\", format: \"## ### ## ##\" },\n { code: \"AT\", dialCode: \"+43\", name: \"Austria\", flag: \"🇦🇹\", format: \"### #######\" },\n { code: \"PL\", dialCode: \"+48\", name: \"Poland\", flag: \"🇵🇱\", format: \"### ### ###\" },\n { code: \"SE\", dialCode: \"+46\", name: \"Sweden\", flag: \"🇸🇪\", format: \"## ### ## ##\" },\n { code: \"NO\", dialCode: \"+47\", name: \"Norway\", flag: \"🇳🇴\", format: \"### ## ###\" },\n { code: \"DK\", dialCode: \"+45\", name: \"Denmark\", flag: \"🇩🇰\", format: \"## ## ## ##\" },\n { code: \"FI\", dialCode: \"+358\", name: \"Finland\", flag: \"🇫🇮\", format: \"## ### ####\" },\n { code: \"IE\", dialCode: \"+353\", name: \"Ireland\", flag: \"🇮🇪\", format: \"## #######\" },\n\n // Asia\n { code: \"JP\", dialCode: \"+81\", name: \"Japan\", flag: \"🇯🇵\", format: \"##-####-####\" },\n { code: \"CN\", dialCode: \"+86\", name: \"China\", flag: \"🇨🇳\", format: \"### #### ####\" },\n { code: \"IN\", dialCode: \"+91\", name: \"India\", flag: \"🇮🇳\", format: \"##### #####\" },\n { code: \"KR\", dialCode: \"+82\", name: \"South Korea\", flag: \"🇰🇷\", format: \"##-####-####\" },\n { code: \"SG\", dialCode: \"+65\", name: \"Singapore\", flag: \"🇸🇬\", format: \"#### ####\" },\n { code: \"HK\", dialCode: \"+852\", name: \"Hong Kong\", flag: \"🇭🇰\", format: \"#### ####\" },\n { code: \"TW\", dialCode: \"+886\", name: \"Taiwan\", flag: \"🇹🇼\", format: \"### ### ###\" },\n { code: \"TH\", dialCode: \"+66\", name: \"Thailand\", flag: \"🇹🇭\", format: \"## ### ####\" },\n { code: \"MY\", dialCode: \"+60\", name: \"Malaysia\", flag: \"🇲🇾\", format: \"##-### ####\" },\n { code: \"ID\", dialCode: \"+62\", name: \"Indonesia\", flag: \"🇮🇩\", format: \"### ### ####\" },\n { code: \"PH\", dialCode: \"+63\", name: \"Philippines\", flag: \"🇵🇭\", format: \"### ### ####\" },\n { code: \"VN\", dialCode: \"+84\", name: \"Vietnam\", flag: \"🇻🇳\", format: \"## ### ## ##\" },\n\n // Middle East\n { code: \"AE\", dialCode: \"+971\", name: \"UAE\", flag: \"🇦🇪\", format: \"## ### ####\" },\n { code: \"SA\", dialCode: \"+966\", name: \"Saudi Arabia\", flag: \"🇸🇦\", format: \"## ### ####\" },\n { code: \"IL\", dialCode: \"+972\", name: \"Israel\", flag: \"🇮🇱\", format: \"##-###-####\" },\n { code: \"TR\", dialCode: \"+90\", name: \"Turkey\", flag: \"🇹🇷\", format: \"### ### ## ##\" },\n\n // Oceania\n { code: \"AU\", dialCode: \"+61\", name: \"Australia\", flag: \"🇦🇺\", format: \"### ### ###\" },\n { code: \"NZ\", dialCode: \"+64\", name: \"New Zealand\", flag: \"🇳🇿\", format: \"## ### ####\" },\n\n // Africa\n { code: \"ZA\", dialCode: \"+27\", name: \"South Africa\", flag: \"🇿🇦\", format: \"## ### ####\" },\n { code: \"NG\", dialCode: \"+234\", name: \"Nigeria\", flag: \"🇳🇬\", format: \"### ### ####\" },\n { code: \"EG\", dialCode: \"+20\", name: \"Egypt\", flag: \"🇪🇬\", format: \"## #### ####\" },\n { code: \"KE\", dialCode: \"+254\", name: \"Kenya\", flag: \"🇰🇪\", format: \"### ######\" },\n]\n\n/**\n * Find country by ISO code\n */\nexport function findCountryByCode(code: string, countries = defaultCountries): Country | undefined {\n return countries.find((c) => c.code.toLowerCase() === code.toLowerCase())\n}\n\n/**\n * Find country by dial code\n */\nexport function findCountryByDialCode(dialCode: string, countries = defaultCountries): Country | undefined {\n return countries.find((c) => c.dialCode === dialCode)\n}\n\n/**\n * Format a phone number according to the country format\n */\nexport function formatPhoneNumber(value: string, country: Country): string {\n // Remove all non-digit characters\n const digits = value.replaceAll(/\\D/g, \"\")\n\n if (!country.format) {\n return digits\n }\n\n let result = \"\"\n let digitIndex = 0\n\n for (const char of country.format) {\n if (digitIndex >= digits.length) break\n\n if (char === \"#\") {\n result += digits[digitIndex] ?? \"\"\n digitIndex++\n } else {\n result += char\n }\n }\n\n return result\n}\n\n/**\n * Get the raw digits from a formatted phone number\n */\nexport function getPhoneDigits(value: string): string {\n return value.replaceAll(/\\D/g, \"\")\n}\n","import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * PhoneInput container variant styles using CVA\n */\nexport const phoneInputVariants = cva(\n [\n \"flex w-full min-w-0 rounded-md border bg-transparent transition-[color,box-shadow] outline-none\",\n \"dark:bg-input/30\",\n \"focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]\",\n \"has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n ],\n {\n variants: {\n size: {\n sm: \"h-8 text-sm\",\n md: \"h-9 text-base md:text-sm\",\n lg: \"h-10 text-base\",\n },\n variant: {\n default: \"border-input shadow-xs\",\n filled: \"border-transparent bg-muted\",\n flushed: \"rounded-none border-x-0 border-t-0 border-b-input\",\n },\n },\n defaultVariants: {\n size: \"md\",\n variant: \"default\",\n },\n }\n)\n\n/**\n * Country selector button styles\n */\nexport const phoneInputCountryButtonVariants = cva(\n [\n \"flex items-center gap-1.5 shrink-0 border-r border-[color:var(--phone-input-country-select-border-color)] bg-transparent outline-none transition-colors\",\n \"hover:bg-muted/50\",\n \"focus-visible:bg-muted/50\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n ],\n {\n variants: {\n size: {\n sm: \"px-2 text-sm\",\n md: \"px-3 text-sm\",\n lg: \"px-3.5 text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n/**\n * Phone number input styles\n */\nexport const phoneInputInputVariants = cva(\n [\n \"flex-1 min-w-0 bg-transparent outline-none\",\n \"placeholder:text-muted-foreground\",\n \"disabled:cursor-not-allowed\",\n ],\n {\n variants: {\n size: {\n sm: \"px-2 text-sm\",\n md: \"px-3 text-base md:text-sm\",\n lg: \"px-3.5 text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n/**\n * Country dropdown styles\n */\nexport const phoneInputDropdownVariants = cva(\n [\n \"absolute left-0 top-full z-50 mt-1 max-h-60 min-w-52 overflow-auto rounded-md border bg-popover p-1 shadow-md\",\n \"animate-in fade-in-0 zoom-in-95\",\n ]\n)\n\n/**\n * Country option styles\n */\nexport const phoneInputOptionVariants = cva(\n [\n \"flex items-center gap-2 cursor-pointer rounded-sm px-2 py-1.5 text-sm outline-none transition-colors\",\n \"hover:bg-accent hover:text-accent-foreground\",\n \"focus-visible:bg-accent focus-visible:text-accent-foreground\",\n \"data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground\",\n ]\n)\n\nexport type PhoneInputVariantProps = VariantProps<typeof phoneInputVariants>\n","\"use client\"\n\nimport type { PhoneInputProps } from \"./PhoneInput.types\"\n\nimport { ChevronDown } from \"lucide-react\"\nimport * as React from \"react\"\nimport { useCallback, useEffect, useRef, useState } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n type Country,\n defaultCountries,\n findCountryByCode,\n formatPhoneNumber,\n getPhoneDigits,\n} from \"./countries\"\nimport {\n phoneInputCountryButtonVariants,\n phoneInputDropdownVariants,\n phoneInputInputVariants,\n phoneInputOptionVariants,\n phoneInputVariants,\n} from \"./PhoneInput.variants\"\n\n/**\n * PhoneInput - An international phone number input with country selector\n *\n * @example\n * ```tsx\n * // Basic usage\n * <PhoneInput\n * placeholder=\"Enter phone number\"\n * defaultCountry=\"BR\"\n * />\n *\n * // Controlled\n * const [phone, setPhone] = useState(\"\")\n * <PhoneInput\n * value={phone}\n * onChange={(value, country) => {\n * setPhone(value)\n * console.log(`${country.dialCode} ${value}`)\n * }}\n * />\n * ```\n */\nfunction PhoneInput({\n value: controlledValue,\n defaultValue = \"\",\n onChange,\n onCountryChange,\n defaultCountry = \"BR\",\n countries = defaultCountries,\n disabled,\n size = \"md\",\n variant,\n invalid,\n placeholder = \"Phone number\",\n className,\n ...props\n}: PhoneInputProps) {\n const containerRef = useRef<HTMLDivElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const [isOpen, setIsOpen] = useState(false)\n\n // Find initial country - fallback to first country or Brazil\n const initialCountry = findCountryByCode(defaultCountry, countries) ?? countries[0] ?? defaultCountries[0]\n if (!initialCountry) {\n throw new Error(\"PhoneInput requires at least one country option.\")\n }\n const [selectedCountry, setSelectedCountry] = useState<Country>(() => initialCountry)\n\n // Internal state for uncontrolled mode\n const [internalValue, setInternalValue] = useState(defaultValue)\n\n // Determine if controlled\n const isControlled = controlledValue !== undefined\n const phoneValue = isControlled ? controlledValue : internalValue\n\n // Format the display value\n const displayValue = formatPhoneNumber(phoneValue, selectedCountry)\n\n const handleCountrySelect = useCallback(\n (country: Country) => {\n setSelectedCountry(country)\n setIsOpen(false)\n onCountryChange?.(country)\n inputRef.current?.focus()\n\n // Notify parent of the change with current value\n if (phoneValue) {\n onChange?.(phoneValue, country)\n }\n },\n [onCountryChange, onChange, phoneValue]\n )\n\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const rawValue = getPhoneDigits(e.target.value)\n\n if (!isControlled) {\n setInternalValue(rawValue)\n }\n\n onChange?.(rawValue, selectedCountry)\n },\n [isControlled, onChange, selectedCountry]\n )\n\n // Close dropdown on click outside\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(event.target as Node)) {\n setIsOpen(false)\n }\n }\n\n if (isOpen) {\n document.addEventListener(\"mousedown\", handleClickOutside)\n }\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside)\n }\n }, [isOpen])\n\n // Handle keyboard navigation\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === \"Escape\") {\n setIsOpen(false)\n } else if (e.key === \"ArrowDown\" && !isOpen) {\n setIsOpen(true)\n }\n },\n [isOpen]\n )\n\n return (\n <div\n ref={containerRef}\n className={cn(\"relative\", className)}\n data-slot=\"phone-input\"\n onKeyDown={handleKeyDown}\n >\n <div\n aria-invalid={invalid ?? undefined}\n className={phoneInputVariants({ size, variant })}\n >\n {/* Country selector */}\n <button\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n aria-label={`Select country, current: ${selectedCountry.name}`}\n className={phoneInputCountryButtonVariants({ size })}\n data-slot=\"phone-input-country\"\n disabled={disabled}\n type=\"button\"\n onClick={() => { setIsOpen(!isOpen); }}\n >\n <span className=\"text-base\">{selectedCountry.flag}</span>\n <span className=\"text-muted-foreground\">{selectedCountry.dialCode}</span>\n <ChevronDown\n className={cn(\n \"size-4 text-muted-foreground transition-transform\",\n isOpen && \"rotate-180\"\n )}\n />\n </button>\n\n {/* Phone number input */}\n <input\n ref={inputRef}\n aria-invalid={invalid ?? undefined}\n className={phoneInputInputVariants({ size })}\n data-slot=\"phone-input-field\"\n disabled={disabled}\n placeholder={placeholder}\n type=\"tel\"\n value={displayValue}\n onChange={handleInputChange}\n {...props}\n />\n </div>\n\n {/* Country dropdown */}\n {isOpen && (\n <div\n className={phoneInputDropdownVariants()}\n data-slot=\"phone-input-dropdown\"\n role=\"listbox\"\n >\n {countries.map((country) => (\n <div\n key={country.code}\n aria-selected={country.code === selectedCountry.code}\n className={phoneInputOptionVariants()}\n data-selected={country.code === selectedCountry.code}\n data-slot=\"phone-input-option\"\n role=\"option\"\n onClick={() => { handleCountrySelect(country); }}\n >\n <span className=\"text-base\">{country.flag}</span>\n <span className=\"flex-1\">{country.name}</span>\n <span className=\"text-muted-foreground\">{country.dialCode}</span>\n </div>\n ))}\n </div>\n )}\n </div>\n )\n}\n\nexport { PhoneInput }\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-RVAYDRMA.js';
|
|
2
2
|
import { cva } from 'class-variance-authority';
|
|
3
3
|
import { jsx } from 'react/jsx-runtime';
|
|
4
4
|
|
|
@@ -168,5 +168,5 @@ function HeaderActions({
|
|
|
168
168
|
}
|
|
169
169
|
|
|
170
170
|
export { Header, HeaderActions, HeaderBrand, HeaderNav, headerActionsVariants, headerBrandVariants, headerContainerVariants, headerNavVariants, headerVariants };
|
|
171
|
-
//# sourceMappingURL=chunk-
|
|
172
|
-
//# sourceMappingURL=chunk-
|
|
171
|
+
//# sourceMappingURL=chunk-WGSVSZ7V.js.map
|
|
172
|
+
//# sourceMappingURL=chunk-WGSVSZ7V.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/navigation/Header/Header.variants.ts","../src/components/navigation/Header/Header.tsx"],"names":[],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/navigation/Header/Header.variants.ts","../src/components/navigation/Header/Header.tsx"],"names":[],"mappings":"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","file":"chunk-WGSVSZ7V.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * Header root variant styles\n *\n * Height follows the Figma auto-layout model (DES-1271): the root has a min\n * height of `--header-height` (64px — a logo-only header) and hugs to 76px\n * when a HeaderNav/HeaderActions row is present, because that row enforces\n * `--header-content-height` (36px) and the container adds `--header-root-padding-y`\n * (20px × 2). There is no `size` prop — the Figma component has no size axis.\n */\nexport const headerVariants = cva(\n [\n // Base styles\n \"flex w-full items-center\",\n // Figma height model — min 64px (logo-only), hugs to 76px with nav/actions\n \"min-h-[var(--header-height)]\",\n // Transition\n \"transition-colors\",\n ],\n {\n variants: {\n variant: {\n default:\n \"bg-[color:var(--header-root-bg)] border-b border-[color:var(--header-root-border-color)]\",\n transparent: \"bg-transparent\",\n floating:\n \"bg-[color:var(--header-root-bg)]/80 backdrop-blur-sm border-b border-[color:var(--header-root-border-color)]/50 shadow-sm\",\n },\n sticky: {\n true: \"sticky top-0 z-[var(--header-sticky-z-index)]\",\n false: \"\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n sticky: false,\n },\n }\n)\n\n/**\n * Header container variant styles (inner wrapper)\n */\nexport const headerContainerVariants = cva(\n [\n \"flex w-full items-center gap-4 px-[var(--header-root-padding-x)] py-[var(--header-root-padding-y)]\",\n ],\n {\n variants: {\n contained: {\n true: \"mx-auto max-w-[var(--header-contained-max-width)]\",\n false: \"\",\n },\n layout: {\n // Brand left, Nav middle, Actions right (default)\n default: \"justify-between\",\n // Brand center; Nav and Actions on sides if provided\n \"logo-centered\":\n \"justify-center [&>[data-slot=header-brand]]:order-2 [&>[data-slot=header-nav]]:order-1 [&>[data-slot=header-actions]]:order-3 [&>[data-slot=header-nav]]:flex-1 [&>[data-slot=header-actions]]:flex-1\",\n // Nav left, Brand right (mirror of default)\n \"links-left\":\n \"justify-between [&>[data-slot=header-brand]]:order-2 [&>[data-slot=header-nav]]:order-1 [&>[data-slot=header-actions]]:order-3\",\n // Brand + Nav clustered center, Actions right\n centered:\n \"[&>[data-slot=header-brand]]:flex-none [&>[data-slot=header-nav]]:flex-1 [&>[data-slot=header-nav]]:justify-center [&>[data-slot=header-actions]]:flex-none [&>[data-slot=header-actions]]:ml-auto\",\n },\n },\n defaultVariants: {\n contained: false,\n layout: \"default\",\n },\n }\n)\n\n/**\n * HeaderBrand variant styles\n */\nexport const headerBrandVariants = cva([\n \"flex shrink-0 items-center gap-2\",\n])\n\n/**\n * HeaderNav variant styles\n *\n * Enforces the Figma nav-row height (`--header-content-height` 36px) so a\n * header with navigation hugs to 76px regardless of whether the links are\n * plain text or buttons.\n */\nexport const headerNavVariants = cva([\n \"hidden md:flex items-center gap-1 min-h-[var(--header-content-height)]\",\n])\n\n/**\n * HeaderActions variant styles\n *\n * Enforces the Figma action-row height (`--header-content-height` 36px) so a\n * header with actions (e.g. the Mobile layout: logo + icons) hugs to 76px.\n */\nexport const headerActionsVariants = cva(\n [\n \"flex items-center gap-2 min-h-[var(--header-content-height)]\",\n ],\n {\n variants: {\n align: {\n start: \"justify-start\",\n center: \"justify-center\",\n end: \"justify-end\",\n },\n },\n defaultVariants: {\n align: \"end\",\n },\n }\n)\n","\"use client\"\n\nimport type {\n HeaderActionsProps,\n HeaderBrandProps,\n HeaderNavProps,\n HeaderProps,\n} from \"./Header.types\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n headerActionsVariants,\n headerBrandVariants,\n headerContainerVariants,\n headerNavVariants,\n headerVariants,\n} from \"./Header.variants\"\n\n/**\n * Header - A responsive header component for site navigation.\n *\n * Supports multiple visual variants, Figma layouts, and sticky positioning.\n * Height follows the Figma model: 64px for a logo-only header, 76px once a\n * HeaderNav/HeaderActions row is present (content-driven, no `size` prop).\n *\n * @example\n * <Header variant=\"default\" sticky>\n * <HeaderBrand asLink href=\"/\">Logo</HeaderBrand>\n * <HeaderNav>\n * <a href=\"/about\">About</a>\n * <a href=\"/contact\">Contact</a>\n * </HeaderNav>\n * <HeaderActions>\n * <Button>Sign In</Button>\n * </HeaderActions>\n * </Header>\n */\nfunction Header({\n className,\n variant = \"default\",\n sticky = false,\n contained = false,\n layout = \"default\",\n containerClassName,\n children,\n ...props\n}: HeaderProps) {\n return (\n <header\n className={cn(headerVariants({ variant, sticky }), className)}\n data-slot=\"header\"\n {...props}\n >\n <div\n className={cn(\n headerContainerVariants({ contained, layout }),\n containerClassName\n )}\n data-layout={layout}\n data-slot=\"header-container\"\n >\n {children}\n </div>\n </header>\n )\n}\n\n/**\n * HeaderBrand - Logo/brand area of the header.\n *\n * Can optionally render as a link when asLink is true.\n */\nfunction HeaderBrand({\n className,\n asLink = false,\n href = \"/\",\n children,\n ...props\n}: HeaderBrandProps) {\n if (asLink) {\n return (\n <a\n className={cn(headerBrandVariants(), className)}\n data-slot=\"header-brand\"\n href={href}\n {...(props as React.ComponentProps<\"a\">)}\n >\n {children}\n </a>\n )\n }\n\n return (\n <div\n className={cn(headerBrandVariants(), className)}\n data-slot=\"header-brand\"\n {...props}\n >\n {children}\n </div>\n )\n}\n\n/**\n * HeaderNav - Navigation container for header links.\n */\nfunction HeaderNav({ className, children, ...props }: HeaderNavProps) {\n return (\n <nav\n className={cn(headerNavVariants(), className)}\n data-slot=\"header-nav\"\n {...props}\n >\n {children}\n </nav>\n )\n}\n\n/**\n * HeaderActions - Actions container for buttons/controls.\n */\nfunction HeaderActions({\n className,\n align = \"end\",\n children,\n ...props\n}: HeaderActionsProps) {\n return (\n <div\n className={cn(headerActionsVariants({ align }), className)}\n data-slot=\"header-actions\"\n {...props}\n >\n {children}\n </div>\n )\n}\n\nexport { Header, HeaderActions, HeaderBrand, HeaderNav }\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from './chunk-TEVGCTUN.js';
|
|
2
|
+
import { cn } from './chunk-RVAYDRMA.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import { cva } from 'class-variance-authority';
|
|
5
5
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -142,5 +142,5 @@ function MarkerBar({
|
|
|
142
142
|
MarkerBar.displayName = "MarkerBar";
|
|
143
143
|
|
|
144
144
|
export { MarkerBar, markerBarContainerVariants, markerBarMarkerVariants, markerBarMarkerWrapperVariants, markerBarRangeVariants };
|
|
145
|
-
//# sourceMappingURL=chunk-
|
|
146
|
-
//# sourceMappingURL=chunk-
|
|
145
|
+
//# sourceMappingURL=chunk-WK324C6D.js.map
|
|
146
|
+
//# sourceMappingURL=chunk-WK324C6D.js.map
|