@etus/ui 0.4.0-beta.17 → 0.4.0-beta.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-U2CXFKRK.js → chunk-2SUZS6GZ.js} +4 -4
- package/dist/{chunk-U2CXFKRK.js.map → chunk-2SUZS6GZ.js.map} +1 -1
- package/dist/{chunk-UPYT2XM5.js → chunk-2XNMKALT.js} +3 -3
- package/dist/{chunk-UPYT2XM5.js.map → chunk-2XNMKALT.js.map} +1 -1
- package/dist/{chunk-SM4AZOEP.js → chunk-3MOBFZJM.js} +4 -4
- package/dist/{chunk-SM4AZOEP.js.map → chunk-3MOBFZJM.js.map} +1 -1
- package/dist/{chunk-ZP4HYVDG.js → chunk-3R6MY3YJ.js} +4 -4
- package/dist/{chunk-ZP4HYVDG.js.map → chunk-3R6MY3YJ.js.map} +1 -1
- package/dist/{chunk-EVUHEBWX.js → chunk-447INBQP.js} +3 -3
- package/dist/{chunk-EVUHEBWX.js.map → chunk-447INBQP.js.map} +1 -1
- package/dist/{chunk-F7XARQUW.js → chunk-4LZ53BAG.js} +3 -3
- package/dist/{chunk-F7XARQUW.js.map → chunk-4LZ53BAG.js.map} +1 -1
- package/dist/{chunk-CYIFWQ5Y.js → chunk-4OWRNWHW.js} +3 -3
- package/dist/{chunk-CYIFWQ5Y.js.map → chunk-4OWRNWHW.js.map} +1 -1
- package/dist/{chunk-OQCGQG47.js → chunk-4RNPI3LU.js} +3 -3
- package/dist/{chunk-OQCGQG47.js.map → chunk-4RNPI3LU.js.map} +1 -1
- package/dist/{chunk-N4UTBJRY.js → chunk-4SFBDK4E.js} +4 -4
- package/dist/{chunk-N4UTBJRY.js.map → chunk-4SFBDK4E.js.map} +1 -1
- package/dist/{chunk-B7ZLPQSO.js → chunk-4XXAIWQ4.js} +3 -3
- package/dist/{chunk-B7ZLPQSO.js.map → chunk-4XXAIWQ4.js.map} +1 -1
- package/dist/{chunk-D2V2HKLX.js → chunk-5ETVWWA5.js} +3 -3
- package/dist/{chunk-D2V2HKLX.js.map → chunk-5ETVWWA5.js.map} +1 -1
- package/dist/{chunk-U4H3XHSI.js → chunk-5GV4LDX7.js} +4 -4
- package/dist/{chunk-U4H3XHSI.js.map → chunk-5GV4LDX7.js.map} +1 -1
- package/dist/{chunk-BFBGESUI.js → chunk-5MJQ5XSR.js} +4 -4
- package/dist/{chunk-BFBGESUI.js.map → chunk-5MJQ5XSR.js.map} +1 -1
- package/dist/{chunk-GKMR5SVC.js → chunk-5QDKJMUA.js} +3 -3
- package/dist/{chunk-GKMR5SVC.js.map → chunk-5QDKJMUA.js.map} +1 -1
- package/dist/{chunk-3NFQXZHO.js → chunk-5T7EKOJ5.js} +3 -3
- package/dist/{chunk-3NFQXZHO.js.map → chunk-5T7EKOJ5.js.map} +1 -1
- package/dist/{chunk-WBE6VQOO.js → chunk-5W3T767A.js} +3 -3
- package/dist/{chunk-WBE6VQOO.js.map → chunk-5W3T767A.js.map} +1 -1
- package/dist/{chunk-XYYOV5GW.js → chunk-5YUUE5JJ.js} +5 -5
- package/dist/{chunk-XYYOV5GW.js.map → chunk-5YUUE5JJ.js.map} +1 -1
- package/dist/{chunk-D6TH3EGA.js → chunk-627ZZ6HO.js} +6 -6
- package/dist/{chunk-D6TH3EGA.js.map → chunk-627ZZ6HO.js.map} +1 -1
- package/dist/{chunk-OXDWUKGP.js → chunk-6G5QK3SU.js} +5 -5
- package/dist/chunk-6G5QK3SU.js.map +1 -0
- package/dist/{chunk-U74PNG4S.js → chunk-6QVXMYKH.js} +4 -4
- package/dist/{chunk-U74PNG4S.js.map → chunk-6QVXMYKH.js.map} +1 -1
- package/dist/{chunk-NWVYQYKK.js → chunk-6VEQLD2P.js} +3 -3
- package/dist/{chunk-NWVYQYKK.js.map → chunk-6VEQLD2P.js.map} +1 -1
- package/dist/{chunk-S6ORCWM2.js → chunk-73DDLKBG.js} +3 -3
- package/dist/{chunk-S6ORCWM2.js.map → chunk-73DDLKBG.js.map} +1 -1
- package/dist/{chunk-E27SQ54A.js → chunk-7AR5QRRX.js} +3 -3
- package/dist/{chunk-E27SQ54A.js.map → chunk-7AR5QRRX.js.map} +1 -1
- package/dist/{chunk-3MJNJKAF.js → chunk-7IKX4AFY.js} +4 -4
- package/dist/{chunk-3MJNJKAF.js.map → chunk-7IKX4AFY.js.map} +1 -1
- package/dist/{chunk-A7YNTSVU.js → chunk-7PX3WBR3.js} +3 -3
- package/dist/{chunk-A7YNTSVU.js.map → chunk-7PX3WBR3.js.map} +1 -1
- package/dist/{chunk-EYSTEGV5.js → chunk-7QEFKWUR.js} +10 -10
- package/dist/{chunk-EYSTEGV5.js.map → chunk-7QEFKWUR.js.map} +1 -1
- package/dist/{chunk-Z4KW5VW6.js → chunk-7TX5X4EP.js} +6 -6
- package/dist/{chunk-Z4KW5VW6.js.map → chunk-7TX5X4EP.js.map} +1 -1
- package/dist/{chunk-BQMQULAC.js → chunk-7XJQYAGY.js} +4 -4
- package/dist/{chunk-BQMQULAC.js.map → chunk-7XJQYAGY.js.map} +1 -1
- package/dist/{chunk-2ROFZG3A.js → chunk-7Y325TBV.js} +4 -4
- package/dist/{chunk-2ROFZG3A.js.map → chunk-7Y325TBV.js.map} +1 -1
- package/dist/{chunk-4RSHPKHB.js → chunk-7YZ7HNXX.js} +4 -4
- package/dist/{chunk-4RSHPKHB.js.map → chunk-7YZ7HNXX.js.map} +1 -1
- package/dist/{chunk-YACIRNVP.js → chunk-AD4RW2JV.js} +3 -3
- package/dist/{chunk-YACIRNVP.js.map → chunk-AD4RW2JV.js.map} +1 -1
- package/dist/{chunk-YMYXWHDU.js → chunk-ADX6C3V7.js} +3 -3
- package/dist/{chunk-YMYXWHDU.js.map → chunk-ADX6C3V7.js.map} +1 -1
- package/dist/{chunk-CKD4UBV6.js → chunk-AJUOTABG.js} +4 -4
- package/dist/{chunk-CKD4UBV6.js.map → chunk-AJUOTABG.js.map} +1 -1
- package/dist/{chunk-G5TWK7L3.js → chunk-AP4ZM3DV.js} +3 -3
- package/dist/{chunk-G5TWK7L3.js.map → chunk-AP4ZM3DV.js.map} +1 -1
- package/dist/{chunk-U6EOAIPK.js → chunk-ARJAIH7Q.js} +4 -4
- package/dist/chunk-ARJAIH7Q.js.map +1 -0
- package/dist/{chunk-YCZ6M6EF.js → chunk-BBKDABQK.js} +3 -3
- package/dist/{chunk-YCZ6M6EF.js.map → chunk-BBKDABQK.js.map} +1 -1
- package/dist/{chunk-GPW57XOW.js → chunk-BSTUCHL4.js} +4 -4
- package/dist/{chunk-GPW57XOW.js.map → chunk-BSTUCHL4.js.map} +1 -1
- package/dist/{chunk-WKWLKGNI.js → chunk-BUCXPZYE.js} +6 -6
- package/dist/chunk-BUCXPZYE.js.map +1 -0
- package/dist/{chunk-ESLSPRYA.js → chunk-C2MAX4YK.js} +3 -3
- package/dist/{chunk-ESLSPRYA.js.map → chunk-C2MAX4YK.js.map} +1 -1
- package/dist/{chunk-2FJJOHHH.js → chunk-C34UNXMN.js} +3 -3
- package/dist/{chunk-2FJJOHHH.js.map → chunk-C34UNXMN.js.map} +1 -1
- package/dist/{chunk-AEHYYTFW.js → chunk-CV77MF4G.js} +3 -3
- package/dist/{chunk-AEHYYTFW.js.map → chunk-CV77MF4G.js.map} +1 -1
- package/dist/{chunk-MQ2446N7.js → chunk-DGOW65KM.js} +3 -3
- package/dist/{chunk-MQ2446N7.js.map → chunk-DGOW65KM.js.map} +1 -1
- package/dist/{chunk-U2R47SPY.js → chunk-DJHDCDU6.js} +4 -4
- package/dist/{chunk-U2R47SPY.js.map → chunk-DJHDCDU6.js.map} +1 -1
- package/dist/{chunk-5GE3BQA7.js → chunk-DQGBTZRX.js} +7 -7
- package/dist/chunk-DQGBTZRX.js.map +1 -0
- package/dist/{chunk-2IFYXJ3H.js → chunk-DRIEZH7R.js} +3 -3
- package/dist/{chunk-2IFYXJ3H.js.map → chunk-DRIEZH7R.js.map} +1 -1
- package/dist/{chunk-VWW3DJKI.js → chunk-E6SAO2CY.js} +3 -3
- package/dist/{chunk-VWW3DJKI.js.map → chunk-E6SAO2CY.js.map} +1 -1
- package/dist/{chunk-NCT5WXKG.js → chunk-EDSIOUUR.js} +4 -4
- package/dist/{chunk-NCT5WXKG.js.map → chunk-EDSIOUUR.js.map} +1 -1
- package/dist/{chunk-TAZPML2P.js → chunk-ELRIFGMN.js} +4 -4
- package/dist/{chunk-TAZPML2P.js.map → chunk-ELRIFGMN.js.map} +1 -1
- package/dist/{chunk-IMUBWKZC.js → chunk-EO4NGM5W.js} +4 -4
- package/dist/{chunk-IMUBWKZC.js.map → chunk-EO4NGM5W.js.map} +1 -1
- package/dist/{chunk-AFCSDND5.js → chunk-EQ4YAADN.js} +3 -3
- package/dist/{chunk-AFCSDND5.js.map → chunk-EQ4YAADN.js.map} +1 -1
- package/dist/{chunk-VBJ26PZJ.js → chunk-EZYXD2YI.js} +4 -4
- package/dist/{chunk-VBJ26PZJ.js.map → chunk-EZYXD2YI.js.map} +1 -1
- package/dist/{chunk-HJ4E6YPW.js → chunk-F3ETIDS7.js} +4 -4
- package/dist/{chunk-HJ4E6YPW.js.map → chunk-F3ETIDS7.js.map} +1 -1
- package/dist/{chunk-LNY2EXOV.js → chunk-F3WDMYZ4.js} +3 -3
- package/dist/{chunk-LNY2EXOV.js.map → chunk-F3WDMYZ4.js.map} +1 -1
- package/dist/{chunk-FPCRGFNY.js → chunk-FRKB4Z2P.js} +3 -3
- package/dist/{chunk-FPCRGFNY.js.map → chunk-FRKB4Z2P.js.map} +1 -1
- package/dist/{chunk-VAVE4ZJF.js → chunk-FVRSXJKS.js} +4 -4
- package/dist/chunk-FVRSXJKS.js.map +1 -0
- package/dist/{chunk-X3AXEE3S.js → chunk-FXFVFSG5.js} +5 -5
- package/dist/{chunk-X3AXEE3S.js.map → chunk-FXFVFSG5.js.map} +1 -1
- package/dist/{chunk-IFHF4UES.js → chunk-GDZECJFS.js} +12 -12
- package/dist/chunk-GDZECJFS.js.map +1 -0
- package/dist/{chunk-7J5OM4ZD.js → chunk-GLHKHYJY.js} +8 -8
- package/dist/{chunk-7J5OM4ZD.js.map → chunk-GLHKHYJY.js.map} +1 -1
- package/dist/{chunk-4KOJTZVU.js → chunk-GRODCJS4.js} +29 -29
- package/dist/chunk-GRODCJS4.js.map +1 -0
- package/dist/{chunk-TNDW52VZ.js → chunk-GVNG5ME6.js} +36 -18
- package/dist/chunk-GVNG5ME6.js.map +1 -0
- package/dist/{chunk-5J5OL4IV.js → chunk-GWSM2XNV.js} +3 -3
- package/dist/{chunk-5J5OL4IV.js.map → chunk-GWSM2XNV.js.map} +1 -1
- package/dist/{chunk-2NY6DDLO.js → chunk-H32A6UPL.js} +3 -3
- package/dist/{chunk-2NY6DDLO.js.map → chunk-H32A6UPL.js.map} +1 -1
- package/dist/{chunk-W7S7GPU5.js → chunk-HHWUROMA.js} +6 -6
- package/dist/{chunk-W7S7GPU5.js.map → chunk-HHWUROMA.js.map} +1 -1
- package/dist/{chunk-CNRV2IGH.js → chunk-HM6TEHA6.js} +3 -3
- package/dist/{chunk-CNRV2IGH.js.map → chunk-HM6TEHA6.js.map} +1 -1
- package/dist/{chunk-4GVOOXYD.js → chunk-HNQX6ZG7.js} +7 -7
- package/dist/chunk-HNQX6ZG7.js.map +1 -0
- package/dist/{chunk-HAEZLC7V.js → chunk-I5RDX6O3.js} +3 -3
- package/dist/{chunk-HAEZLC7V.js.map → chunk-I5RDX6O3.js.map} +1 -1
- package/dist/{chunk-P27ERD6W.js → chunk-IKLFWGFS.js} +70 -52
- package/dist/chunk-IKLFWGFS.js.map +1 -0
- package/dist/{chunk-DL7D5F7B.js → chunk-IPCT4YZT.js} +3 -3
- package/dist/{chunk-DL7D5F7B.js.map → chunk-IPCT4YZT.js.map} +1 -1
- package/dist/{chunk-BIUVOZQG.js → chunk-IPDAFW4F.js} +3 -3
- package/dist/{chunk-BIUVOZQG.js.map → chunk-IPDAFW4F.js.map} +1 -1
- package/dist/{chunk-G2MAGZHQ.js → chunk-IXZBH33I.js} +3 -3
- package/dist/{chunk-G2MAGZHQ.js.map → chunk-IXZBH33I.js.map} +1 -1
- package/dist/{chunk-XOGMDABS.js → chunk-JDETM3FL.js} +9 -9
- package/dist/chunk-JDETM3FL.js.map +1 -0
- package/dist/{chunk-R3HUGCGR.js → chunk-JE46MFMN.js} +6 -6
- package/dist/{chunk-R3HUGCGR.js.map → chunk-JE46MFMN.js.map} +1 -1
- package/dist/{chunk-3JCV72FO.js → chunk-JFV7CNBP.js} +4 -4
- package/dist/{chunk-3JCV72FO.js.map → chunk-JFV7CNBP.js.map} +1 -1
- package/dist/{chunk-7RTHGI6E.js → chunk-JPRHMMY6.js} +3 -3
- package/dist/{chunk-7RTHGI6E.js.map → chunk-JPRHMMY6.js.map} +1 -1
- package/dist/{chunk-G2V7D7VC.js → chunk-JUSPLVWO.js} +5 -5
- package/dist/{chunk-G2V7D7VC.js.map → chunk-JUSPLVWO.js.map} +1 -1
- package/dist/{chunk-FRDYXDAE.js → chunk-JUZ4JQWH.js} +3 -3
- package/dist/{chunk-FRDYXDAE.js.map → chunk-JUZ4JQWH.js.map} +1 -1
- package/dist/{chunk-6SHOL6WR.js → chunk-JVTB3NTP.js} +3 -3
- package/dist/{chunk-6SHOL6WR.js.map → chunk-JVTB3NTP.js.map} +1 -1
- package/dist/{chunk-XETKCF73.js → chunk-JXEIRIU4.js} +3 -3
- package/dist/{chunk-XETKCF73.js.map → chunk-JXEIRIU4.js.map} +1 -1
- package/dist/{chunk-7Y2UQMX6.js → chunk-JYYB6F5O.js} +37 -37
- package/dist/chunk-JYYB6F5O.js.map +1 -0
- package/dist/{chunk-V7WEN4SD.js → chunk-JZA45LEV.js} +3 -3
- package/dist/{chunk-V7WEN4SD.js.map → chunk-JZA45LEV.js.map} +1 -1
- package/dist/{chunk-FCSYPOHF.js → chunk-K44K3EHW.js} +3 -3
- package/dist/{chunk-FCSYPOHF.js.map → chunk-K44K3EHW.js.map} +1 -1
- package/dist/{chunk-PWCMCMDN.js → chunk-K4UCALQQ.js} +4 -4
- package/dist/{chunk-PWCMCMDN.js.map → chunk-K4UCALQQ.js.map} +1 -1
- package/dist/{chunk-OBRJXVWO.js → chunk-KBU4KJKC.js} +7 -7
- package/dist/{chunk-OBRJXVWO.js.map → chunk-KBU4KJKC.js.map} +1 -1
- package/dist/{chunk-JRWQHBJC.js → chunk-KDNTSZF5.js} +4 -4
- package/dist/{chunk-JRWQHBJC.js.map → chunk-KDNTSZF5.js.map} +1 -1
- package/dist/{chunk-3NSIUZGP.js → chunk-KHCHATTD.js} +5 -5
- package/dist/{chunk-3NSIUZGP.js.map → chunk-KHCHATTD.js.map} +1 -1
- package/dist/{chunk-57KTYE5H.js → chunk-KHJIUHHM.js} +3 -3
- package/dist/{chunk-57KTYE5H.js.map → chunk-KHJIUHHM.js.map} +1 -1
- package/dist/{chunk-TQBUBD3E.js → chunk-KLFYTLF3.js} +4 -4
- package/dist/{chunk-TQBUBD3E.js.map → chunk-KLFYTLF3.js.map} +1 -1
- package/dist/{chunk-W3QUVCRK.js → chunk-KXJ3SEW7.js} +3 -3
- package/dist/{chunk-W3QUVCRK.js.map → chunk-KXJ3SEW7.js.map} +1 -1
- package/dist/{chunk-7TF5PVEU.js → chunk-L4OQ6BJ5.js} +7 -7
- package/dist/chunk-L4OQ6BJ5.js.map +1 -0
- package/dist/{chunk-3L5G7VI2.js → chunk-LCBB3N5H.js} +4 -4
- package/dist/chunk-LCBB3N5H.js.map +1 -0
- package/dist/{chunk-BS5XDYOE.js → chunk-LDK6ADKM.js} +6 -6
- package/dist/{chunk-BS5XDYOE.js.map → chunk-LDK6ADKM.js.map} +1 -1
- package/dist/{chunk-K4MYVFWQ.js → chunk-LP6JYJQN.js} +4 -4
- package/dist/{chunk-K4MYVFWQ.js.map → chunk-LP6JYJQN.js.map} +1 -1
- package/dist/{chunk-G7PBPX3K.js → chunk-LRE3LJMW.js} +5 -5
- package/dist/{chunk-G7PBPX3K.js.map → chunk-LRE3LJMW.js.map} +1 -1
- package/dist/{chunk-LQVQ7SHG.js → chunk-LSRKDZW4.js} +4 -4
- package/dist/{chunk-LQVQ7SHG.js.map → chunk-LSRKDZW4.js.map} +1 -1
- package/dist/{chunk-H5N3VPBG.js → chunk-MGIGDALC.js} +4 -4
- package/dist/{chunk-H5N3VPBG.js.map → chunk-MGIGDALC.js.map} +1 -1
- package/dist/{chunk-WXBC3D2N.js → chunk-MNYU5MHO.js} +7 -7
- package/dist/{chunk-WXBC3D2N.js.map → chunk-MNYU5MHO.js.map} +1 -1
- package/dist/{chunk-6GWO7JNP.js → chunk-MXBDOYQL.js} +4 -4
- package/dist/{chunk-6GWO7JNP.js.map → chunk-MXBDOYQL.js.map} +1 -1
- package/dist/{chunk-37KLBMFQ.js → chunk-N2DAVD4Y.js} +3 -3
- package/dist/{chunk-37KLBMFQ.js.map → chunk-N2DAVD4Y.js.map} +1 -1
- package/dist/{chunk-3KOLK3OB.js → chunk-N5YGAESZ.js} +5 -5
- package/dist/{chunk-3KOLK3OB.js.map → chunk-N5YGAESZ.js.map} +1 -1
- package/dist/{chunk-W3JVNX35.js → chunk-N7VMQWM3.js} +15 -10
- package/dist/chunk-N7VMQWM3.js.map +1 -0
- package/dist/{chunk-5KTMPLDK.js → chunk-NAI3TX52.js} +3 -3
- package/dist/{chunk-5KTMPLDK.js.map → chunk-NAI3TX52.js.map} +1 -1
- package/dist/{chunk-QHKOBGLW.js → chunk-NGX3ITG4.js} +3 -3
- package/dist/{chunk-QHKOBGLW.js.map → chunk-NGX3ITG4.js.map} +1 -1
- package/dist/{chunk-5SUD32RK.js → chunk-NHUUSXBL.js} +3 -3
- package/dist/{chunk-5SUD32RK.js.map → chunk-NHUUSXBL.js.map} +1 -1
- package/dist/{chunk-IOWHM7ZY.js → chunk-NIRTZLZL.js} +4 -4
- package/dist/{chunk-IOWHM7ZY.js.map → chunk-NIRTZLZL.js.map} +1 -1
- package/dist/{chunk-GGUWEAYD.js → chunk-NLPVF34P.js} +4 -4
- package/dist/{chunk-GGUWEAYD.js.map → chunk-NLPVF34P.js.map} +1 -1
- package/dist/{chunk-ZPAWUKJI.js → chunk-NNWMBVCB.js} +4 -4
- package/dist/{chunk-ZPAWUKJI.js.map → chunk-NNWMBVCB.js.map} +1 -1
- package/dist/{chunk-H4ANCFZG.js → chunk-NUA54ABI.js} +4 -4
- package/dist/{chunk-H4ANCFZG.js.map → chunk-NUA54ABI.js.map} +1 -1
- package/dist/{chunk-ZPCELVWJ.js → chunk-NY2WZ4P2.js} +4 -4
- package/dist/{chunk-ZPCELVWJ.js.map → chunk-NY2WZ4P2.js.map} +1 -1
- package/dist/{chunk-BECPEVUL.js → chunk-O6LFU3KB.js} +3 -3
- package/dist/{chunk-BECPEVUL.js.map → chunk-O6LFU3KB.js.map} +1 -1
- package/dist/{chunk-HXHB2CK5.js → chunk-OAES72MK.js} +3 -3
- package/dist/{chunk-HXHB2CK5.js.map → chunk-OAES72MK.js.map} +1 -1
- package/dist/{chunk-NGR4HFVA.js → chunk-OCH7GGZF.js} +3 -3
- package/dist/{chunk-NGR4HFVA.js.map → chunk-OCH7GGZF.js.map} +1 -1
- package/dist/{chunk-Y4RKKQMB.js → chunk-ONN5XVYC.js} +4 -4
- package/dist/chunk-ONN5XVYC.js.map +1 -0
- package/dist/{chunk-GL56KIFL.js → chunk-OWZ3MZ5C.js} +4 -4
- package/dist/{chunk-GL56KIFL.js.map → chunk-OWZ3MZ5C.js.map} +1 -1
- package/dist/{chunk-MK6ID2HI.js → chunk-OXO6SKJO.js} +3 -3
- package/dist/{chunk-MK6ID2HI.js.map → chunk-OXO6SKJO.js.map} +1 -1
- package/dist/{chunk-T6XRYT6Q.js → chunk-P4WMDGAQ.js} +4 -4
- package/dist/{chunk-T6XRYT6Q.js.map → chunk-P4WMDGAQ.js.map} +1 -1
- package/dist/{chunk-NXQ25PKF.js → chunk-PBZI5XNV.js} +8 -8
- package/dist/chunk-PBZI5XNV.js.map +1 -0
- package/dist/{chunk-HI3T55XK.js → chunk-PEX7FCZC.js} +3 -3
- package/dist/{chunk-HI3T55XK.js.map → chunk-PEX7FCZC.js.map} +1 -1
- package/dist/{chunk-WMG2MMJF.js → chunk-PI4WGIPG.js} +3 -3
- package/dist/{chunk-WMG2MMJF.js.map → chunk-PI4WGIPG.js.map} +1 -1
- package/dist/{chunk-P7D6S6GX.js → chunk-PTXC4KPQ.js} +39 -5
- package/dist/chunk-PTXC4KPQ.js.map +1 -0
- package/dist/{chunk-UYC7M3FM.js → chunk-PVIIIQJI.js} +6 -6
- package/dist/{chunk-UYC7M3FM.js.map → chunk-PVIIIQJI.js.map} +1 -1
- package/dist/{chunk-E2TI5V67.js → chunk-PXR6CZIL.js} +4 -4
- package/dist/{chunk-E2TI5V67.js.map → chunk-PXR6CZIL.js.map} +1 -1
- package/dist/{chunk-KDJCZXLB.js → chunk-PZSKZFVO.js} +3 -3
- package/dist/{chunk-KDJCZXLB.js.map → chunk-PZSKZFVO.js.map} +1 -1
- package/dist/{chunk-DNAGXK2C.js → chunk-Q3JCNSPU.js} +4 -4
- package/dist/{chunk-DNAGXK2C.js.map → chunk-Q3JCNSPU.js.map} +1 -1
- package/dist/{chunk-JUTPDS4E.js → chunk-QD2ZS5DU.js} +4 -4
- package/dist/{chunk-JUTPDS4E.js.map → chunk-QD2ZS5DU.js.map} +1 -1
- package/dist/{chunk-3NLWCX2F.js → chunk-QJOWG2D4.js} +5 -5
- package/dist/{chunk-3NLWCX2F.js.map → chunk-QJOWG2D4.js.map} +1 -1
- package/dist/{chunk-Q43KJP5A.js → chunk-QLYH3GCV.js} +8 -8
- package/dist/{chunk-Q43KJP5A.js.map → chunk-QLYH3GCV.js.map} +1 -1
- package/dist/{chunk-IRIIK3BU.js → chunk-QO6TOE45.js} +11 -11
- package/dist/chunk-QO6TOE45.js.map +1 -0
- package/dist/{chunk-66TBTTZO.js → chunk-QWWA4FZP.js} +15 -15
- package/dist/chunk-QWWA4FZP.js.map +1 -0
- package/dist/{chunk-2YSZPUQZ.js → chunk-QXET2TML.js} +4 -4
- package/dist/{chunk-2YSZPUQZ.js.map → chunk-QXET2TML.js.map} +1 -1
- package/dist/{chunk-2VHARFMD.js → chunk-QZ7SGO7L.js} +3 -3
- package/dist/{chunk-2VHARFMD.js.map → chunk-QZ7SGO7L.js.map} +1 -1
- package/dist/{chunk-SUU3HNOX.js → chunk-R42LSLJL.js} +6 -6
- package/dist/{chunk-SUU3HNOX.js.map → chunk-R42LSLJL.js.map} +1 -1
- package/dist/{chunk-EVZ2GZU4.js → chunk-RMJVCJ6U.js} +3 -3
- package/dist/{chunk-EVZ2GZU4.js.map → chunk-RMJVCJ6U.js.map} +1 -1
- package/dist/{chunk-XLTSCY22.js → chunk-ROPW65RD.js} +5 -5
- package/dist/chunk-ROPW65RD.js.map +1 -0
- package/dist/{chunk-6ZAMTPGN.js → chunk-RQBYBBMP.js} +4 -4
- package/dist/{chunk-6ZAMTPGN.js.map → chunk-RQBYBBMP.js.map} +1 -1
- package/dist/chunk-RVAYDRMA.js +31 -0
- package/dist/chunk-RVAYDRMA.js.map +1 -0
- package/dist/{chunk-ARNVOHVW.js → chunk-S4P7JIQ2.js} +3 -3
- package/dist/{chunk-ARNVOHVW.js.map → chunk-S4P7JIQ2.js.map} +1 -1
- package/dist/{chunk-UPK5B2FL.js → chunk-S6BREP2G.js} +7 -7
- package/dist/chunk-S6BREP2G.js.map +1 -0
- package/dist/{chunk-Y5GO2F6P.js → chunk-SA3IQI3Y.js} +3 -3
- package/dist/{chunk-Y5GO2F6P.js.map → chunk-SA3IQI3Y.js.map} +1 -1
- package/dist/{chunk-3W7FXRO5.js → chunk-SKI25Q7O.js} +6 -6
- package/dist/{chunk-3W7FXRO5.js.map → chunk-SKI25Q7O.js.map} +1 -1
- package/dist/{chunk-LLI3JFJL.js → chunk-SSKSWSVO.js} +5 -5
- package/dist/{chunk-LLI3JFJL.js.map → chunk-SSKSWSVO.js.map} +1 -1
- package/dist/{chunk-VLDAHAG6.js → chunk-STADVFL2.js} +5 -5
- package/dist/{chunk-VLDAHAG6.js.map → chunk-STADVFL2.js.map} +1 -1
- package/dist/{chunk-UA3OQAHJ.js → chunk-SX63UD5X.js} +3 -3
- package/dist/{chunk-UA3OQAHJ.js.map → chunk-SX63UD5X.js.map} +1 -1
- package/dist/{chunk-YZY35OHQ.js → chunk-SXSR2VRG.js} +4 -4
- package/dist/{chunk-YZY35OHQ.js.map → chunk-SXSR2VRG.js.map} +1 -1
- package/dist/{chunk-DYDXGWH2.js → chunk-T3LWBCVR.js} +4 -4
- package/dist/chunk-T3LWBCVR.js.map +1 -0
- package/dist/{chunk-AR3OXNPL.js → chunk-TDANAN5A.js} +3 -3
- package/dist/{chunk-AR3OXNPL.js.map → chunk-TDANAN5A.js.map} +1 -1
- package/dist/{chunk-7ZJ32KRQ.js → chunk-TEVGCTUN.js} +3 -3
- package/dist/{chunk-7ZJ32KRQ.js.map → chunk-TEVGCTUN.js.map} +1 -1
- package/dist/{chunk-GAMOVEZD.js → chunk-TIPKU427.js} +3 -3
- package/dist/{chunk-GAMOVEZD.js.map → chunk-TIPKU427.js.map} +1 -1
- package/dist/{chunk-2Q4I4VDB.js → chunk-TK5WS675.js} +3 -3
- package/dist/{chunk-2Q4I4VDB.js.map → chunk-TK5WS675.js.map} +1 -1
- package/dist/{chunk-YUHPTV2A.js → chunk-TNSMTINE.js} +4 -4
- package/dist/{chunk-YUHPTV2A.js.map → chunk-TNSMTINE.js.map} +1 -1
- package/dist/{chunk-VT4IMHGE.js → chunk-TRTVYFOF.js} +5 -5
- package/dist/chunk-TRTVYFOF.js.map +1 -0
- package/dist/{chunk-46ESMCEQ.js → chunk-TSE3PKWQ.js} +6 -6
- package/dist/chunk-TSE3PKWQ.js.map +1 -0
- package/dist/{chunk-3BBOSSDG.js → chunk-U7TPJMGY.js} +4 -4
- package/dist/{chunk-3BBOSSDG.js.map → chunk-U7TPJMGY.js.map} +1 -1
- package/dist/{chunk-5I7AXWJU.js → chunk-UC5J6GWG.js} +5 -5
- package/dist/{chunk-5I7AXWJU.js.map → chunk-UC5J6GWG.js.map} +1 -1
- package/dist/{chunk-ZKK7L7H7.js → chunk-UNHPLKMR.js} +3 -3
- package/dist/{chunk-ZKK7L7H7.js.map → chunk-UNHPLKMR.js.map} +1 -1
- package/dist/{chunk-I7ZLEC7Y.js → chunk-UZEJ3ZVR.js} +3 -3
- package/dist/{chunk-I7ZLEC7Y.js.map → chunk-UZEJ3ZVR.js.map} +1 -1
- package/dist/{chunk-SXPBKGLT.js → chunk-UZZCEQH4.js} +4 -4
- package/dist/{chunk-SXPBKGLT.js.map → chunk-UZZCEQH4.js.map} +1 -1
- package/dist/{chunk-AEE5GDNA.js → chunk-V4NSLSCA.js} +4 -4
- package/dist/{chunk-AEE5GDNA.js.map → chunk-V4NSLSCA.js.map} +1 -1
- package/dist/{chunk-IZC5YFGO.js → chunk-V57DERRV.js} +14 -7
- package/dist/chunk-V57DERRV.js.map +1 -0
- package/dist/{chunk-VZZ3HP7G.js → chunk-VHJ6ALIE.js} +4 -4
- package/dist/{chunk-VZZ3HP7G.js.map → chunk-VHJ6ALIE.js.map} +1 -1
- package/dist/{chunk-N3I6GA4I.js → chunk-WG34IXUV.js} +3 -3
- package/dist/{chunk-N3I6GA4I.js.map → chunk-WG34IXUV.js.map} +1 -1
- package/dist/{chunk-OEXQ2MOY.js → chunk-WGKOYZRI.js} +4 -4
- package/dist/{chunk-OEXQ2MOY.js.map → chunk-WGKOYZRI.js.map} +1 -1
- package/dist/{chunk-6DN2UAIR.js → chunk-WGSVSZ7V.js} +3 -3
- package/dist/{chunk-6DN2UAIR.js.map → chunk-WGSVSZ7V.js.map} +1 -1
- package/dist/{chunk-X4YUWX7H.js → chunk-WK324C6D.js} +4 -4
- package/dist/{chunk-X4YUWX7H.js.map → chunk-WK324C6D.js.map} +1 -1
- package/dist/{chunk-N2WITPE2.js → chunk-WOP5OWLG.js} +3 -3
- package/dist/{chunk-N2WITPE2.js.map → chunk-WOP5OWLG.js.map} +1 -1
- package/dist/{chunk-JPA2VQRW.js → chunk-WSDWJX4Y.js} +4 -4
- package/dist/{chunk-JPA2VQRW.js.map → chunk-WSDWJX4Y.js.map} +1 -1
- package/dist/{chunk-2XJWE2XR.js → chunk-WUS45IZW.js} +4 -4
- package/dist/{chunk-2XJWE2XR.js.map → chunk-WUS45IZW.js.map} +1 -1
- package/dist/{chunk-B3BDIM4H.js → chunk-WVOZYDH3.js} +3 -3
- package/dist/{chunk-B3BDIM4H.js.map → chunk-WVOZYDH3.js.map} +1 -1
- package/dist/{chunk-K45MMHLA.js → chunk-WWK7UIKK.js} +5 -5
- package/dist/{chunk-K45MMHLA.js.map → chunk-WWK7UIKK.js.map} +1 -1
- package/dist/{chunk-NCLOPI6U.js → chunk-X2EMALTZ.js} +3 -3
- package/dist/{chunk-NCLOPI6U.js.map → chunk-X2EMALTZ.js.map} +1 -1
- package/dist/{chunk-PK5O62XD.js → chunk-X4CJFD6D.js} +3 -3
- package/dist/{chunk-PK5O62XD.js.map → chunk-X4CJFD6D.js.map} +1 -1
- package/dist/{chunk-JWXK4TMX.js → chunk-XEQGATVF.js} +3 -3
- package/dist/{chunk-JWXK4TMX.js.map → chunk-XEQGATVF.js.map} +1 -1
- package/dist/{chunk-B6KQKQ4S.js → chunk-XMUD3LG7.js} +3 -3
- package/dist/{chunk-B6KQKQ4S.js.map → chunk-XMUD3LG7.js.map} +1 -1
- package/dist/{chunk-5ZEYTBTU.js → chunk-XWBVIBN4.js} +3 -3
- package/dist/{chunk-5ZEYTBTU.js.map → chunk-XWBVIBN4.js.map} +1 -1
- package/dist/{chunk-7I6KK6QE.js → chunk-XXWCMY2G.js} +3 -3
- package/dist/{chunk-7I6KK6QE.js.map → chunk-XXWCMY2G.js.map} +1 -1
- package/dist/{chunk-LFN7UHDT.js → chunk-Y4FEW7SR.js} +3 -3
- package/dist/{chunk-LFN7UHDT.js.map → chunk-Y4FEW7SR.js.map} +1 -1
- package/dist/{chunk-PFVT27B5.js → chunk-YC5VVIZO.js} +3 -3
- package/dist/{chunk-PFVT27B5.js.map → chunk-YC5VVIZO.js.map} +1 -1
- package/dist/{chunk-7EGN7IGY.js → chunk-YMCKML6D.js} +7 -7
- package/dist/{chunk-7EGN7IGY.js.map → chunk-YMCKML6D.js.map} +1 -1
- package/dist/{chunk-7HT32DZG.js → chunk-YMQDTTO7.js} +6 -6
- package/dist/{chunk-7HT32DZG.js.map → chunk-YMQDTTO7.js.map} +1 -1
- package/dist/{chunk-ZARZYMBM.js → chunk-YNTS4GRT.js} +3 -3
- package/dist/{chunk-ZARZYMBM.js.map → chunk-YNTS4GRT.js.map} +1 -1
- package/dist/{chunk-6SZRWNPT.js → chunk-ZOHLZ4YL.js} +3 -3
- package/dist/{chunk-6SZRWNPT.js.map → chunk-ZOHLZ4YL.js.map} +1 -1
- package/dist/{chunk-4Y72SPNL.js → chunk-ZVSMLMMS.js} +5 -5
- package/dist/chunk-ZVSMLMMS.js.map +1 -0
- package/dist/{chunk-VKDN66VL.js → chunk-ZXWT4KWJ.js} +3 -3
- package/dist/{chunk-VKDN66VL.js.map → chunk-ZXWT4KWJ.js.map} +1 -1
- package/dist/components/advanced/AssetManager/index.js +2 -2
- package/dist/components/advanced/Calendar/index.js +7 -7
- package/dist/components/advanced/Command/index.js +3 -3
- package/dist/components/advanced/DragAndDrop/index.js +2 -2
- package/dist/components/advanced/ErrorBoundary/index.js +2 -2
- package/dist/components/advanced/EventCalendar/index.js +7 -7
- package/dist/components/advanced/FileDropzone/index.js +2 -2
- package/dist/components/advanced/FilePreview/index.js +2 -2
- package/dist/components/advanced/FileUpload/index.js +2 -2
- package/dist/components/advanced/FilterBuilder/index.js +10 -10
- package/dist/components/advanced/MarkdownEditor/index.js +6 -6
- package/dist/components/advanced/ReportBuilder/index.js +8 -8
- package/dist/components/advanced/RichTextEditor/index.js +4 -4
- package/dist/components/advanced/Search/index.js +2 -2
- package/dist/components/advanced/SortableList/index.js +2 -2
- package/dist/components/advanced/VersionControl/index.js +2 -2
- package/dist/components/advanced/index.js +31 -31
- package/dist/components/data-display/Accordion/index.js +2 -2
- package/dist/components/data-display/AreaChart/index.js +3 -3
- package/dist/components/data-display/Banner/index.js +2 -2
- package/dist/components/data-display/BarChart/index.js +3 -3
- package/dist/components/data-display/BarList/index.js +2 -2
- package/dist/components/data-display/Callout/index.js +2 -2
- package/dist/components/data-display/Carousel/index.js +7 -7
- package/dist/components/data-display/CategoryBar/index.js +3 -3
- package/dist/components/data-display/Chart/index.js +2 -2
- package/dist/components/data-display/ChartCard/index.js +5 -5
- package/dist/components/data-display/ChartLegend/index.js +2 -2
- package/dist/components/data-display/ComboChart/index.js +3 -3
- package/dist/components/data-display/DashboardCard/index.js +3 -3
- package/dist/components/data-display/DataTable/FilterBuilder/index.js +10 -10
- package/dist/components/data-display/DataTable/index.js +17 -17
- package/dist/components/data-display/DeltaBar/index.js +3 -3
- package/dist/components/data-display/EmptyState/index.js +2 -2
- package/dist/components/data-display/FeatureItem/index.js +3 -3
- package/dist/components/data-display/Feed/index.js +2 -2
- package/dist/components/data-display/FunnelChart/index.js +3 -3
- package/dist/components/data-display/GaugeChart/index.js +2 -2
- package/dist/components/data-display/Heatmap/index.js +3 -3
- package/dist/components/data-display/HoverCard/index.js +2 -2
- package/dist/components/data-display/ImageGallery/index.js +9 -9
- package/dist/components/data-display/Item/index.js +3 -3
- package/dist/components/data-display/KPICard/index.js +8 -8
- package/dist/components/data-display/Lightbox/index.js +2 -2
- package/dist/components/data-display/LineChart/index.js +3 -3
- package/dist/components/data-display/List/index.js +6 -6
- package/dist/components/data-display/MarkerBar/index.js +3 -3
- package/dist/components/data-display/PieChart/index.js +3 -3
- package/dist/components/data-display/RadarChart/index.js +3 -3
- package/dist/components/data-display/RadialChart/index.js +3 -3
- package/dist/components/data-display/ScatterChart/index.js +3 -3
- package/dist/components/data-display/SingleStat/index.js +3 -3
- package/dist/components/data-display/Sparkline/index.js +2 -2
- package/dist/components/data-display/Table/index.js +2 -2
- package/dist/components/data-display/Timeline/index.js +2 -2
- package/dist/components/data-display/Tracker/index.js +3 -3
- package/dist/components/data-display/VirtualTable/index.js +5 -5
- package/dist/components/data-display/index.js +57 -57
- package/dist/components/feedback/Alert/index.js +2 -2
- package/dist/components/feedback/AlertDialog/index.js +7 -7
- package/dist/components/feedback/ConfirmModal/index.js +8 -8
- package/dist/components/feedback/Dialog/index.js +2 -2
- package/dist/components/feedback/ErrorPage/index.js +2 -2
- package/dist/components/feedback/FocusTrap/index.js +2 -2
- package/dist/components/feedback/Message/index.js +2 -2
- package/dist/components/feedback/Modal/index.js +2 -2
- package/dist/components/feedback/Notification/index.js +4 -4
- package/dist/components/feedback/Popover/index.js +2 -2
- package/dist/components/feedback/Tooltip/index.js +2 -2
- package/dist/components/feedback/UpdatesWidget/index.js +2 -2
- package/dist/components/feedback/index.js +18 -18
- package/dist/components/forms/Autocomplete/index.js +2 -2
- package/dist/components/forms/Checkbox/index.js +2 -2
- package/dist/components/forms/CheckboxGroup/index.js +3 -3
- package/dist/components/forms/ColorPicker/index.js +3 -3
- package/dist/components/forms/Combobox/index.js +2 -2
- package/dist/components/forms/DatePicker/index.js +10 -10
- package/dist/components/forms/DateRangePicker/index.js +10 -10
- package/dist/components/forms/EmailInput/index.js +4 -4
- package/dist/components/forms/ErrorMessage/index.js +2 -2
- package/dist/components/forms/Field/index.js +4 -4
- package/dist/components/forms/FloatLabel/index.js +2 -2
- package/dist/components/forms/Form/index.js +3 -3
- package/dist/components/forms/FormValidation/index.js +2 -2
- package/dist/components/forms/HelpText/index.js +2 -2
- package/dist/components/forms/IftaLabel/index.js +2 -2
- package/dist/components/forms/InputGroup/index.js +10 -10
- package/dist/components/forms/InputOTP/index.js +2 -2
- package/dist/components/forms/InputOTPField/index.js +6 -6
- package/dist/components/forms/MultiSelect/index.js +3 -3
- package/dist/components/forms/NativeSelect/index.js +2 -2
- package/dist/components/forms/NumberInput/index.js +3 -3
- package/dist/components/forms/PasswordInput/index.js +4 -4
- package/dist/components/forms/PaymentInput/index.js +2 -2
- package/dist/components/forms/PhoneInput/index.js +2 -2
- package/dist/components/forms/RadioButton/index.js +2 -2
- package/dist/components/forms/RadioCardGroup/index.js +2 -2
- package/dist/components/forms/RadioGroup/index.js +2 -2
- package/dist/components/forms/Rating/index.js +2 -2
- package/dist/components/forms/SearchInput/index.js +4 -4
- package/dist/components/forms/Select/index.js +2 -2
- package/dist/components/forms/Slider/index.js +2 -2
- package/dist/components/forms/SuccessMessage/index.js +2 -2
- package/dist/components/forms/Switch/index.js +2 -2
- package/dist/components/forms/TagsInput/index.js +4 -4
- package/dist/components/forms/TextInput/index.js +3 -3
- package/dist/components/forms/Textarea/index.js +2 -2
- package/dist/components/forms/TextareaField/index.js +6 -6
- package/dist/components/forms/TimePicker/index.js +4 -4
- package/dist/components/forms/URLInput/index.js +4 -4
- package/dist/components/forms/index.js +51 -51
- package/dist/components/index.js +186 -186
- package/dist/components/layout/Card/index.js +2 -2
- package/dist/components/layout/Collapsible/index.js +2 -2
- package/dist/components/layout/Container/index.js +2 -2
- package/dist/components/layout/Flex/index.js +2 -2
- package/dist/components/layout/Grid/index.js +2 -2
- package/dist/components/layout/Panel/index.js +3 -3
- package/dist/components/layout/ResizablePanels/index.js +2 -2
- package/dist/components/layout/ResponsiveContainer/index.js +2 -2
- package/dist/components/layout/ScrollArea/index.js +2 -2
- package/dist/components/layout/Section/index.js +2 -2
- package/dist/components/layout/Sheet/index.js +2 -2
- package/dist/components/layout/Stack/index.js +2 -2
- package/dist/components/layout/index.js +13 -13
- package/dist/components/navigation/AccountSwitch/index.js +6 -6
- package/dist/components/navigation/Breadcrumb/index.js +2 -2
- package/dist/components/navigation/ContextMenu/index.js +2 -2
- package/dist/components/navigation/Drawer/index.js +2 -2
- package/dist/components/navigation/DropdownMenu/index.js +2 -2
- package/dist/components/navigation/FileTree/index.js +2 -2
- package/dist/components/navigation/Header/index.js +2 -2
- package/dist/components/navigation/LogoConta/index.js +2 -2
- package/dist/components/navigation/Menu/index.js +3 -3
- package/dist/components/navigation/Menubar/index.js +2 -2
- package/dist/components/navigation/Navbar/index.js +2 -2
- package/dist/components/navigation/NavigationMenu/index.js +2 -2
- package/dist/components/navigation/Pagination/index.js +7 -7
- package/dist/components/navigation/Sidebar/index.js +12 -12
- package/dist/components/navigation/SkipLinks/index.js +2 -2
- package/dist/components/navigation/SpeedDial/index.js +3 -3
- package/dist/components/navigation/TabNavigation/index.js +2 -2
- package/dist/components/navigation/TabPanel/index.js +2 -2
- package/dist/components/navigation/Tabs/index.js +2 -2
- package/dist/components/navigation/Toolbar/index.js +2 -2
- package/dist/components/navigation/Topbar/index.js +2 -2
- package/dist/components/navigation/index.js +33 -33
- package/dist/components/primitives/ArrowAnimated/index.js +2 -2
- package/dist/components/primitives/Avatar/index.js +3 -3
- package/dist/components/primitives/Badge/index.js +3 -3
- package/dist/components/primitives/Button/index.js +6 -6
- package/dist/components/primitives/ButtonGroup/index.js +3 -3
- package/dist/components/primitives/ConfirmButton/index.js +8 -8
- package/dist/components/primitives/Divider/index.js +2 -2
- package/dist/components/primitives/FeaturedIcon/index.js +2 -2
- package/dist/components/primitives/FolderStack/index.js +2 -2
- package/dist/components/primitives/Heading/index.js +2 -2
- package/dist/components/primitives/Icon/index.js +2 -2
- package/dist/components/primitives/Image/index.js +2 -2
- package/dist/components/primitives/Kbd/index.js +2 -2
- package/dist/components/primitives/Label/index.js +2 -2
- package/dist/components/primitives/Link/index.js +2 -2
- package/dist/components/primitives/Paragraph/index.js +2 -2
- package/dist/components/primitives/PaymentMethodIcon/index.js +2 -2
- package/dist/components/primitives/ProgressBar/index.js +3 -3
- package/dist/components/primitives/ProgressCircle/index.js +3 -3
- package/dist/components/primitives/SkeletonLoader/index.js +2 -2
- package/dist/components/primitives/Spacer/index.js +2 -2
- package/dist/components/primitives/Spinner/index.js +2 -2
- package/dist/components/primitives/SplitButton/index.js +3 -3
- package/dist/components/primitives/StatusIndicator/index.js +2 -2
- package/dist/components/primitives/Tag/index.js +2 -2
- package/dist/components/primitives/Text/index.js +2 -2
- package/dist/components/primitives/Thumbnail/index.js +3 -3
- package/dist/components/primitives/Toggle/index.js +2 -2
- package/dist/components/primitives/index.js +32 -32
- package/dist/components/workflow/ApprovalFlow/index.js +8 -8
- package/dist/components/workflow/ApprovalStatus/index.js +2 -2
- package/dist/components/workflow/CommentSystem/index.js +9 -9
- package/dist/components/workflow/Dashboard/index.js +7 -7
- package/dist/components/workflow/DashboardBuilder/index.js +10 -10
- package/dist/components/workflow/KanbanBoard/index.js +9 -9
- package/dist/components/workflow/ProgressSteps/index.js +2 -2
- package/dist/components/workflow/ReportGenerator/index.js +9 -9
- package/dist/components/workflow/Stepper/index.js +2 -2
- package/dist/components/workflow/TaskCard/index.js +2 -2
- package/dist/components/workflow/TaskList/index.js +2 -2
- package/dist/components/workflow/TaskStatus/index.js +3 -3
- package/dist/components/workflow/Wizard/index.js +8 -8
- package/dist/components/workflow/index.js +27 -27
- package/dist/index.d.ts +62 -14
- package/dist/index.js +186 -186
- package/dist/lib/utils.d.ts +2 -1
- package/dist/lib/utils.js +1 -1
- package/dist/styles.css +27 -703
- package/package.json +2 -2
- package/dist/chunk-3L5G7VI2.js.map +0 -1
- package/dist/chunk-46ESMCEQ.js.map +0 -1
- package/dist/chunk-4GVOOXYD.js.map +0 -1
- package/dist/chunk-4KOJTZVU.js.map +0 -1
- package/dist/chunk-4Y72SPNL.js.map +0 -1
- package/dist/chunk-5GE3BQA7.js.map +0 -1
- package/dist/chunk-66TBTTZO.js.map +0 -1
- package/dist/chunk-7TF5PVEU.js.map +0 -1
- package/dist/chunk-7Y2UQMX6.js.map +0 -1
- package/dist/chunk-DYDXGWH2.js.map +0 -1
- package/dist/chunk-HRNDJU7D.js +0 -11
- package/dist/chunk-HRNDJU7D.js.map +0 -1
- package/dist/chunk-IFHF4UES.js.map +0 -1
- package/dist/chunk-IRIIK3BU.js.map +0 -1
- package/dist/chunk-IZC5YFGO.js.map +0 -1
- package/dist/chunk-NXQ25PKF.js.map +0 -1
- package/dist/chunk-OXDWUKGP.js.map +0 -1
- package/dist/chunk-P27ERD6W.js.map +0 -1
- package/dist/chunk-P7D6S6GX.js.map +0 -1
- package/dist/chunk-TNDW52VZ.js.map +0 -1
- package/dist/chunk-U6EOAIPK.js.map +0 -1
- package/dist/chunk-UPK5B2FL.js.map +0 -1
- package/dist/chunk-VAVE4ZJF.js.map +0 -1
- package/dist/chunk-VT4IMHGE.js.map +0 -1
- package/dist/chunk-W3JVNX35.js.map +0 -1
- package/dist/chunk-WKWLKGNI.js.map +0 -1
- package/dist/chunk-XLTSCY22.js.map +0 -1
- package/dist/chunk-XOGMDABS.js.map +0 -1
- package/dist/chunk-Y4RKKQMB.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/feedback/AlertDialog/AlertDialog.tsx"],"names":[],"mappings":"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","file":"chunk-P7D6S6GX.js","sourcesContent":["\"use client\"\n\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { buttonVariants } from \"../../primitives/Button\"\n\nfunction AlertDialog({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n )\n}\n\nfunction AlertDialogPortal({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return (\n <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n )\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-[color:var(--alert-dialog-overlay-bg)]\",\n className\n )}\n data-slot=\"alert-dialog-overlay\"\n {...props}\n />\n )\n}\n\nfunction AlertDialogContent({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Content>) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full translate-x-[-50%] translate-y-[-50%] duration-200\",\n \"bg-[color:var(--alert-dialog-content-bg)] rounded-[var(--alert-dialog-content-radius)] border-[color:var(--alert-dialog-content-border)] shadow-[var(--alert-dialog-content-shadow)] gap-[var(--alert-dialog-content-gap)] p-[var(--alert-dialog-content-padding)] max-w-[var(--alert-dialog-content-max-width)]\",\n className\n )}\n data-slot=\"alert-dialog-content\"\n {...props}\n />\n </AlertDialogPortal>\n )\n}\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\"flex flex-col gap-[var(--alert-dialog-header-gap)] text-center sm:text-left\", className)}\n data-slot=\"alert-dialog-header\"\n {...props}\n />\n )\n}\n\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\n \"flex flex-col-reverse gap-[var(--alert-dialog-footer-gap)] sm:flex-row sm:justify-end\",\n className\n )}\n data-slot=\"alert-dialog-footer\"\n {...props}\n />\n )\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n className={cn(\"text-lg font-semibold\", className)}\n data-slot=\"alert-dialog-title\"\n {...props}\n />\n )\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n className={cn(\"text-muted-foreground text-sm\", className)}\n data-slot=\"alert-dialog-description\"\n {...props}\n />\n )\n}\n\nfunction AlertDialogAction({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Action> & {\n variant?: \"default\" | \"destructive\"\n}) {\n return (\n <AlertDialogPrimitive.Action\n className={cn(buttonVariants({ variant }), className)}\n data-slot=\"alert-dialog-action\"\n {...props}\n />\n )\n}\n\nfunction AlertDialogCancel({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Cancel>) {\n return (\n <AlertDialogPrimitive.Cancel\n className={cn(buttonVariants({ variant: \"outline\" }), className)}\n data-slot=\"alert-dialog-cancel\"\n {...props}\n />\n )\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/navigation/Sidebar/Sidebar.variants.ts","../src/components/navigation/Sidebar/Sidebar.tsx"],"names":["open"],"mappings":"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","file":"chunk-TNDW52VZ.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/* eslint-disable sonarjs/no-duplicate-string -- Tailwind class combinations naturally repeat in variant definitions */\n\n/**\n * Common peer menu button position styles\n */\nconst PEER_SIZE_POSITIONS = [\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n]\n\n/**\n * SidebarProvider wrapper variant styles\n */\nexport const sidebarProviderVariants = cva([\n \"group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full\",\n])\n\n/**\n * Sidebar (non-collapsible) variant styles\n */\nexport const sidebarNonCollapsibleVariants = cva([\n \"bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col\",\n])\n\n/**\n * Sidebar mobile content variant styles\n */\nexport const sidebarMobileVariants = cva([\n \"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\",\n])\n\n/**\n * Sidebar desktop wrapper variant styles\n */\nexport const sidebarDesktopVariants = cva([\n \"group peer text-sidebar-foreground hidden md:block\",\n])\n\n/**\n * Sidebar gap variant styles\n */\nexport const sidebarGapVariants = cva([\n \"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear\",\n \"group-data-[collapsible=offcanvas]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n])\n\n/**\n * Sidebar container variant styles\n */\nexport const sidebarContainerVariants = cva([\n \"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\",\n])\n\n/**\n * Sidebar inner variant styles\n */\nexport const sidebarInnerVariants = cva([\n \"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col\",\n \"group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm\",\n])\n\n/**\n * SidebarTrigger variant styles\n */\nexport const sidebarTriggerVariants = cva([\"size-7\"])\n\n/**\n * SidebarRail variant styles\n */\nexport const sidebarRailVariants = cva([\n \"hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear\",\n \"group-data-[side=left]:-right-4 group-data-[side=right]:left-0\",\n \"after:absolute after:inset-y-0 after:left-1/2 after:w-0.5 sm:flex\",\n \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full\",\n \"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n])\n\n/**\n * SidebarInset variant styles\n */\nexport const sidebarInsetVariants = cva([\n \"bg-background relative flex w-full flex-1 flex-col\",\n \"md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0\",\n \"md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm\",\n \"md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2\",\n \"peer-data-[mode=dual]:bg-[color:var(--sidebar-background,var(--sidebar))] peer-data-[mode=dual]:flex peer-data-[mode=dual]:flex-col peer-data-[mode=dual]:gap-3 peer-data-[mode=dual]:pt-5\",\n])\n\n/**\n * SidebarInput variant styles\n */\nexport const sidebarInputVariants = cva([\n \"bg-background h-8 w-full shadow-none\",\n])\n\n/**\n * SidebarHeader variant styles\n *\n * Dual mode consumes sidebar.tokens.json (Figma 1092:542 panel header):\n * - padding-x = 16px (--sidebar-panel-header-padding-x)\n * - padding-top = 28px (--sidebar-panel-padding-top) when at top of panel\n *\n * Single mode consumes the container spec (Figma 1091:8941/8942):\n * - padding-x = 12px, padding-top = 24px (--sidebar-container-padding-*)\n * - gap = 24px between logo row and account switch (--sidebar-rail-group-gap)\n */\nexport const sidebarHeaderVariants = cva([\n \"flex flex-col gap-2 p-2\",\n \"group-data-[mode=dual]/sidebar-wrapper:gap-0\",\n \"group-data-[mode=dual]/sidebar-wrapper:px-[var(--sidebar-panel-header-padding-x)]\",\n \"group-data-[mode=dual]/sidebar-wrapper:pt-[var(--sidebar-panel-padding-top)]\",\n \"group-data-[mode=dual]/sidebar-wrapper:pb-0\",\n \"group-data-[mode=single]/sidebar-wrapper:gap-[var(--sidebar-rail-group-gap)]\",\n \"group-data-[mode=single]/sidebar-wrapper:px-[var(--sidebar-container-padding-x)]\",\n \"group-data-[mode=single]/sidebar-wrapper:pt-[var(--sidebar-container-padding-y)]\",\n \"group-data-[mode=single]/sidebar-wrapper:pb-0\",\n])\n\n/**\n * SidebarFooter variant styles\n *\n * Single mode consumes the container spec (Figma 1091:8941/8942 bottom block):\n * - padding-x = 12px, padding-bottom = 24px (--sidebar-container-padding-*)\n * - gap = 20px between toggle / settings / avatar (--sidebar-rail-item-gap)\n */\nexport const sidebarFooterVariants = cva([\n \"flex flex-col gap-2 p-2\",\n \"group-data-[mode=single]/sidebar-wrapper:gap-[var(--sidebar-rail-item-gap)]\",\n \"group-data-[mode=single]/sidebar-wrapper:px-[var(--sidebar-container-padding-x)]\",\n \"group-data-[mode=single]/sidebar-wrapper:pb-[var(--sidebar-container-padding-y)]\",\n \"group-data-[mode=single]/sidebar-wrapper:pt-0\",\n])\n\n/**\n * SidebarSeparator variant styles\n */\nexport const sidebarSeparatorVariants = cva([\n \"bg-sidebar-border mx-2 w-auto\",\n])\n\n/**\n * SidebarContent variant styles\n */\nexport const sidebarContentVariants = cva([\n \"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n // Single mode — nav block sits inside the container padding, 24px below the\n // header block (Figma 1091:8942: container px-12, section gap-24)\n \"group-data-[mode=single]/sidebar-wrapper:px-[var(--sidebar-container-padding-x)]\",\n \"group-data-[mode=single]/sidebar-wrapper:pt-[var(--sidebar-rail-group-gap)]\",\n // Dual mode — section spacing comes from each group's pt (--sidebar-panel-gap);\n // the base gap-2 would add +8px between sections (Figma 1092:542 has 28, not 36)\n \"group-data-[mode=dual]/sidebar-wrapper:gap-0\",\n])\n\n/**\n * SidebarGroup variant styles\n *\n * Dual mode consumes sidebar.tokens.json (Figma 1092:542 Sub Categoria block):\n * - padding-x = 8px (--sidebar-section-padding-x)\n * - vertical gap with header handled by panel gap (--sidebar-panel-gap = 28px)\n */\nexport const sidebarGroupVariants = cva([\n \"relative flex w-full min-w-0 flex-col p-2\",\n \"group-data-[mode=dual]/sidebar-wrapper:px-[var(--sidebar-section-padding-x)]\",\n \"group-data-[mode=dual]/sidebar-wrapper:pt-[var(--sidebar-panel-gap)]\",\n \"group-data-[mode=dual]/sidebar-wrapper:gap-[var(--sidebar-section-gap)]\",\n // Single mode — the nav list has no wrapper padding of its own (Figma\n // 1091:8942); SidebarContent carries the container padding\n \"group-data-[mode=single]/sidebar-wrapper:p-0\",\n])\n\n/**\n * SidebarGroupLabel variant styles\n *\n * Dual mode consumes sidebar.tokens.json (Figma 1092:542 section title \"Dashboards\"):\n * - padding-x = 8px (--sidebar-section-title-padding-x)\n * - font 10px Regular leading-1 (not 12px uppercase!)\n * - color = muted-foreground tertiary\n */\nexport const sidebarGroupLabelVariants = cva([\n \"text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium\",\n \"outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2\",\n \"[&>svg]:size-4 [&>svg]:shrink-0\",\n \"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\",\n \"group-data-[mode]/sidebar-wrapper:h-auto\",\n \"group-data-[mode]/sidebar-wrapper:px-[var(--sidebar-section-title-padding-x)]\",\n \"group-data-[mode]/sidebar-wrapper:py-0\",\n \"group-data-[mode]/sidebar-wrapper:text-[length:var(--sidebar-section-title-font-size)]\",\n \"group-data-[mode]/sidebar-wrapper:font-[var(--sidebar-section-title-font-weight)]\",\n \"group-data-[mode]/sidebar-wrapper:leading-[var(--sidebar-section-title-line-height)]\",\n \"group-data-[mode]/sidebar-wrapper:tracking-normal\",\n \"group-data-[mode]/sidebar-wrapper:normal-case\",\n \"group-data-[mode]/sidebar-wrapper:text-[color:var(--sidebar-section-title-color)]\",\n])\n\n/**\n * SidebarGroupAction variant styles\n */\nexport const sidebarGroupActionVariants = cva([\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n \"absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0\",\n \"outline-hidden transition-transform focus-visible:ring-2\",\n \"[&>svg]:size-4 [&>svg]:shrink-0\",\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"group-data-[collapsible=icon]:hidden\",\n])\n\n/**\n * SidebarGroupContent variant styles\n */\nexport const sidebarGroupContentVariants = cva([\n \"w-full text-sm\",\n])\n\n/**\n * SidebarMenu variant styles\n *\n * Figma spacing differs per variant:\n * - Single (Expanded 1091:8942): gap-y 20px between items (--sidebar-rail-item-gap)\n * - Dual panel (1092:542): gap-y 8px between sub-items (--sidebar-section-content-gap)\n */\nexport const sidebarMenuVariants = cva([\n \"flex w-full min-w-0 flex-col gap-1\",\n \"group-data-[mode=single]:gap-[var(--sidebar-rail-item-gap)]\",\n \"group-data-[mode=dual]:gap-[var(--sidebar-section-content-gap)]\",\n \"group-data-[mode=dual]:px-[var(--sidebar-section-content-padding-x)]\",\n])\n\n/**\n * SidebarMenuItem variant styles\n */\nexport const sidebarMenuItemVariants = cva([\n \"group/menu-item relative\",\n])\n\n/**\n * SidebarMenuButton variant styles\n */\nexport const sidebarMenuButtonVariants = cva(\n [\n \"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm\",\n \"outline-hidden ring-sidebar-ring transition-[width,height,padding]\",\n \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n \"focus-visible:ring-2\",\n \"active:bg-sidebar-accent active:text-sidebar-accent-foreground\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n \"group-has-data-[sidebar=menu-action]/menu-item:pr-8\",\n \"aria-disabled:pointer-events-none aria-disabled:opacity-50\",\n \"data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground\",\n \"data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground\",\n \"group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2!\",\n \"[&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\n // Dual mode — consumes Figma 1092:446 nav-item tokens:\n // padding 8px, radius 4px, gap 12px, font 14px Regular leading-1,\n // color muted-foreground default / foreground active, icon 20px\n \"group-data-[mode]/sidebar-wrapper:p-[var(--sidebar-nav-item-padding)]\",\n \"group-data-[mode]/sidebar-wrapper:rounded-[var(--sidebar-nav-item-radius)]\",\n \"group-data-[mode]/sidebar-wrapper:gap-[var(--sidebar-nav-item-gap)]\",\n \"group-data-[mode]/sidebar-wrapper:text-[length:var(--sidebar-nav-item-font-size)]\",\n \"group-data-[mode]/sidebar-wrapper:font-[var(--sidebar-nav-item-font-weight)]\",\n \"group-data-[mode]/sidebar-wrapper:leading-[var(--sidebar-nav-item-line-height)]\",\n \"group-data-[mode]/sidebar-wrapper:text-[color:var(--sidebar-nav-item-fg-default)]\",\n \"group-data-[mode]/sidebar-wrapper:[&>svg]:size-[var(--sidebar-nav-item-icon-size)]\",\n \"group-data-[mode]/sidebar-wrapper:hover:bg-[color:var(--sidebar-nav-item-bg-hover)]\",\n \"group-data-[mode]/sidebar-wrapper:hover:text-[color:var(--sidebar-nav-item-fg-active)]\",\n // Scoped `!` so the token-mode active bg/fg wins the Tailwind v4 stacked-variant\n // cascade over the base `data-[active=true]:bg-sidebar-accent` (which otherwise wins\n // by sort order). Idiomatic here (cf. `size-8!`/`p-2!` above). Gated on data-mode →\n // legacy sidebars (no data-mode) keep the shadcn mint; fixes single + dual alike.\n \"group-data-[mode]/sidebar-wrapper:data-[active=true]:bg-[color:var(--sidebar-nav-item-bg-hover)]!\",\n \"group-data-[mode]/sidebar-wrapper:data-[active=true]:text-[color:var(--sidebar-nav-item-fg-active)]!\",\n ],\n {\n variants: {\n variant: {\n default:\n \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n outline:\n \"bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]\",\n },\n size: {\n default: \"h-8 text-sm\",\n sm: \"h-7 text-xs\",\n lg: \"h-12 text-sm group-data-[collapsible=icon]:p-0!\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\n/**\n * SidebarRailButton variant styles\n *\n * Consumes sidebar.tokens.json sub-tokens (Figma 1087:204 Nav Item, status=Default/Active):\n * - padding 8px, radius 4px (rounded-md)\n * - icon size 20px (was 16px — Figma canonical)\n * - fg default = muted-foreground, active = foreground\n * - bg hover/active = muted\n */\nexport const sidebarRailButtonVariants = cva(\n [\n \"inline-flex items-center justify-center transition-colors shrink-0\",\n \"p-[var(--sidebar-rail-item-padding)]\",\n \"rounded-[var(--sidebar-rail-item-radius)]\",\n \"outline-hidden ring-sidebar-ring focus-visible:ring-2\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n \"[&>svg]:size-[var(--sidebar-rail-item-icon-size)] [&>svg]:shrink-0\",\n ],\n {\n variants: {\n isActive: {\n true: \"bg-[color:var(--sidebar-rail-item-bg-hover)] text-[color:var(--sidebar-rail-item-fg-active)]\",\n false: \"bg-[color:var(--sidebar-rail-item-bg-default)] text-[color:var(--sidebar-rail-item-fg-default)] hover:bg-[color:var(--sidebar-rail-item-bg-hover)] hover:text-[color:var(--sidebar-rail-item-fg-active)]\",\n },\n },\n defaultVariants: {\n isActive: false,\n },\n }\n)\n\n/**\n * SidebarMenuAction variant styles\n */\nexport const sidebarMenuActionVariants = cva([\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n \"peer-hover/menu-button:text-sidebar-accent-foreground\",\n \"absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0\",\n \"outline-hidden transition-transform focus-visible:ring-2\",\n \"[&>svg]:size-4 [&>svg]:shrink-0\",\n \"after:absolute after:-inset-2 md:after:hidden\",\n ...PEER_SIZE_POSITIONS,\n \"group-data-[collapsible=icon]:hidden\",\n])\n\n/**\n * SidebarMenuAction showOnHover variant styles\n */\nexport const sidebarMenuActionShowOnHoverVariants = cva([\n \"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\",\n \"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100\",\n \"data-[state=open]:opacity-100 md:opacity-0\",\n])\n\n/**\n * SidebarMenuBadge variant styles\n */\nexport const sidebarMenuBadgeVariants = cva([\n \"text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center\",\n \"rounded-md px-1 text-xs font-medium tabular-nums select-none\",\n \"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\",\n ...PEER_SIZE_POSITIONS,\n \"group-data-[collapsible=icon]:hidden\",\n])\n\n/**\n * SidebarMenuSkeleton variant styles\n */\nexport const sidebarMenuSkeletonVariants = cva([\n \"flex h-8 items-center gap-2 rounded-md px-2\",\n])\n\n/**\n * SidebarMenuSub variant styles\n */\nexport const sidebarMenuSubVariants = cva([\n \"border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5\",\n \"group-data-[collapsible=icon]:hidden\",\n])\n\n/**\n * SidebarMenuSubItem variant styles\n */\nexport const sidebarMenuSubItemVariants = cva([\n \"group/menu-sub-item relative\",\n])\n\n/**\n * SidebarMenuSubButton variant styles\n */\nexport const sidebarMenuSubButtonVariants = cva(\n [\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n \"active:bg-sidebar-accent active:text-sidebar-accent-foreground\",\n \"[&>svg]:text-sidebar-accent-foreground\",\n \"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2\",\n \"outline-hidden focus-visible:ring-2\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n \"aria-disabled:pointer-events-none aria-disabled:opacity-50\",\n \"[&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\n \"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground\",\n \"group-data-[collapsible=icon]:hidden\",\n ],\n {\n variants: {\n size: {\n sm: \"text-xs\",\n md: \"text-sm\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n","\"use client\"\n\nimport type {\n SidebarContentProps,\n SidebarContextProps,\n SidebarFooterProps,\n SidebarGroupActionProps,\n SidebarGroupContentProps,\n SidebarGroupLabelProps,\n SidebarGroupProps,\n SidebarHeaderProps,\n SidebarInputProps,\n SidebarInsetProps,\n SidebarMenuActionProps,\n SidebarMenuBadgeProps,\n SidebarMenuButtonProps,\n SidebarMenuItemProps,\n SidebarMenuProps,\n SidebarMenuSkeletonProps,\n SidebarMenuSubButtonProps,\n SidebarMenuSubItemProps,\n SidebarMenuSubProps,\n SidebarPanelContentProps,\n SidebarProps,\n SidebarProviderProps,\n SidebarRailButtonProps,\n SidebarRailContentProps,\n SidebarRailProps,\n SidebarSeparatorProps,\n SidebarTriggerProps,\n} from \"./Sidebar.types\"\n\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { ChevronsUpDown, MoonIcon, PanelLeftCloseIcon, PanelLeftIcon, SunIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { useIsMobile } from \"../../../hooks/use-mobile\"\nimport { cn } from \"../../../lib/utils\"\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"../../feedback/Tooltip\"\nimport { TextInput } from \"../../forms/TextInput\"\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from \"../../layout/Sheet\"\nimport { Avatar } from \"../../primitives/Avatar\"\nimport { Button } from \"../../primitives/Button\"\nimport { Divider } from \"../../primitives/Divider\"\nimport { SkeletonLoader } from \"../../primitives/SkeletonLoader\"\nimport {\n sidebarContainerVariants,\n sidebarContentVariants,\n sidebarDesktopVariants,\n sidebarFooterVariants,\n sidebarGapVariants,\n sidebarGroupActionVariants,\n sidebarGroupContentVariants,\n sidebarGroupLabelVariants,\n sidebarGroupVariants,\n sidebarHeaderVariants,\n sidebarInnerVariants,\n sidebarInputVariants,\n sidebarInsetVariants,\n sidebarMenuActionShowOnHoverVariants,\n sidebarMenuActionVariants,\n sidebarMenuBadgeVariants,\n sidebarMenuButtonVariants,\n sidebarMenuItemVariants,\n sidebarMenuSkeletonVariants,\n sidebarMenuSubButtonVariants,\n sidebarMenuSubItemVariants,\n sidebarMenuSubVariants,\n sidebarMenuVariants,\n sidebarMobileVariants,\n sidebarNonCollapsibleVariants,\n sidebarProviderVariants,\n sidebarRailButtonVariants,\n sidebarRailVariants,\n sidebarSeparatorVariants,\n sidebarTriggerVariants,\n} from \"./Sidebar.variants\"\n\n// App-level constants — NOT design tokens. Persistence + keyboard config.\n// Width tokens read from CSS vars (--sidebar-width, --sidebar-width-icon,\n// --sidebar-width-mobile, --sidebar-rail-width, --sidebar-panel-width)\n// emitted by @etus/tokens. See packages/tokens/src/components/sidebar.tokens.json.\nconst SIDEBAR_COOKIE_NAME = \"sidebar_state\"\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\"\n\nconst SidebarContext = React.createContext<null | SidebarContextProps>(null)\n\n/**\n * useSidebar - Hook to access sidebar context.\n *\n * Must be used within a SidebarProvider.\n */\nfunction useSidebar() {\n const context = React.use(SidebarContext)\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\")\n }\n\n return context\n}\n\n/**\n * SidebarProvider - Context provider for sidebar state management.\n *\n * Provides state for expanded/collapsed, mobile/desktop, and keyboard shortcuts.\n *\n * @example\n * <SidebarProvider>\n * <Sidebar>...</Sidebar>\n * <SidebarInset>...</SidebarInset>\n * </SidebarProvider>\n */\nfunction SidebarProvider({\n defaultOpen = true,\n mode,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: SidebarProviderProps) {\n const isMobile = useIsMobile()\n const [openMobile, setOpenMobile] = React.useState(false)\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [internalOpen, setInternalOpen] = React.useState(defaultOpen)\n const open = openProp ?? internalOpen\n const cookieTimeoutRef = React.useRef<ReturnType<typeof setTimeout>>(undefined)\n const persistCookie = React.useCallback((openState: boolean) => {\n clearTimeout(cookieTimeoutRef.current)\n cookieTimeoutRef.current = setTimeout(() => {\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${String(openState)}; path=/; max-age=${String(SIDEBAR_COOKIE_MAX_AGE)}`\n }, 300)\n }, [])\n\n const setOpen = React.useCallback(\n (value: ((value: boolean) => boolean) | boolean) => {\n if (typeof value === \"function\") {\n if (setOpenProp) {\n const resolved = value(open)\n setOpenProp(resolved)\n persistCookie(resolved)\n } else {\n setInternalOpen((prev) => {\n const next = value(prev)\n persistCookie(next)\n return next\n })\n }\n } else {\n if (setOpenProp) {\n setOpenProp(value)\n } else {\n setInternalOpen(value)\n }\n persistCookie(value)\n }\n },\n [setOpenProp, open, persistCookie]\n )\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n if (isMobile) { setOpenMobile((open) => !open); } else { setOpen((open) => !open); }\n }, [isMobile, setOpen, setOpenMobile])\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.repeat) return\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault()\n toggleSidebar()\n }\n }\n\n window.addEventListener(\"keydown\", handleKeyDown)\n return () => { window.removeEventListener(\"keydown\", handleKeyDown); }\n }, [toggleSidebar])\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\"\n\n const contextValue = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n mode,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, mode, openMobile, setOpenMobile, toggleSidebar]\n )\n\n return (\n <SidebarContext value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n style={\n {\n // Mode \"dual\" overrides --sidebar-width and --sidebar-width-icon to compose\n // rail + panel widths. Single mode uses the base token values from\n // @etus/tokens (--sidebar-width, --sidebar-width-icon) without override.\n ...(mode === \"dual\" && {\n \"--sidebar-width\": \"calc(var(--sidebar-rail-width) + var(--sidebar-panel-width))\",\n \"--sidebar-width-icon\": \"var(--sidebar-rail-width)\",\n }),\n ...style,\n } as React.CSSProperties\n }\n className={cn(sidebarProviderVariants(), className)}\n data-mode={mode}\n data-slot=\"sidebar-wrapper\"\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext>\n )\n}\n\n/**\n * SidebarDualMode - Private dual-mode rendering path (icon rail + text panel).\n *\n * Desktop: fixed sidebar with rail and panel children side by side.\n * Mobile: falls back to Sheet with panel content only (rail hidden).\n */\nfunction SidebarDualMode({\n side = \"left\",\n className,\n children,\n ...props\n}: SidebarProps) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar()\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n style={\n {\n \"--sidebar-width\": \"var(--sidebar-width-mobile)\",\n } as React.CSSProperties\n }\n className={cn(sidebarMobileVariants())}\n data-mobile=\"true\"\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n side={side}\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <nav aria-label=\"Main navigation\" className=\"flex h-full w-full flex-col\">{children}</nav>\n </SheetContent>\n </Sheet>\n )\n }\n\n return (\n <div\n className={cn(sidebarDesktopVariants())}\n data-collapsible={state === \"collapsed\" ? \"icon\" : \"\"}\n data-mode=\"dual\"\n data-side={side}\n data-slot=\"sidebar\"\n data-state={state}\n data-variant=\"sidebar\"\n >\n {/* Gap spacer transitions between rail-only and rail+panel widths */}\n <div\n className={cn(\n sidebarGapVariants(),\n \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\"\n )}\n data-slot=\"sidebar-gap\"\n />\n <div\n className={cn(\n sidebarContainerVariants(),\n side === \"left\" ? \"left-0\" : \"right-0\",\n \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\",\n className\n )}\n data-slot=\"sidebar-container\"\n {...props}\n >\n <nav\n aria-label=\"Main navigation\"\n className=\"flex h-full w-full flex-row\"\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n >\n {children}\n </nav>\n </div>\n </div>\n )\n}\n\n/**\n * Sidebar - The main sidebar component.\n *\n * Supports multiple variants and collapsible modes.\n * When `mode=\"dual\"` is set on SidebarProvider, delegates to SidebarDualMode.\n */\nfunction Sidebar({\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offcanvas\",\n className,\n children,\n ...props\n}: SidebarProps) {\n const { isMobile, mode, state, openMobile, setOpenMobile } = useSidebar()\n\n if (mode === \"dual\") {\n return (\n <SidebarDualMode className={className} side={side} {...props}>\n {children}\n </SidebarDualMode>\n )\n }\n\n if (collapsible === \"none\") {\n return (\n <nav\n aria-label=\"Main navigation\"\n className={cn(sidebarNonCollapsibleVariants(), className)}\n data-slot=\"sidebar\"\n {...props}\n >\n {children}\n </nav>\n )\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n style={\n {\n \"--sidebar-width\": \"var(--sidebar-width-mobile)\",\n } as React.CSSProperties\n }\n className={cn(sidebarMobileVariants())}\n data-mobile=\"true\"\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n side={side}\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <nav aria-label=\"Main navigation\" className=\"flex h-full w-full flex-col\">{children}</nav>\n </SheetContent>\n </Sheet>\n )\n }\n\n return (\n <div\n className={cn(sidebarDesktopVariants())}\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-mode={mode}\n data-side={side}\n data-slot=\"sidebar\"\n data-state={state}\n data-variant={variant}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n sidebarGapVariants(),\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\"\n )}\n data-slot=\"sidebar-gap\"\n />\n <div\n className={cn(\n sidebarContainerVariants(),\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\",\n className\n )}\n data-slot=\"sidebar-container\"\n {...props}\n >\n <nav\n aria-label=\"Main navigation\"\n className={cn(sidebarInnerVariants())}\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n >\n {children}\n </nav>\n </div>\n </div>\n )\n}\n\n/**\n * SidebarTrigger - Button to toggle the sidebar.\n */\nfunction SidebarTrigger({\n className,\n onClick,\n ...props\n}: SidebarTriggerProps) {\n const { toggleSidebar, state } = useSidebar()\n\n return (\n <Button\n aria-expanded={state === \"expanded\"}\n className={cn(sidebarTriggerVariants(), className)}\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n size=\"icon\"\n variant=\"ghost\"\n onClick={(event, payload) => {\n onClick?.(event, payload)\n toggleSidebar()\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n )\n}\n\n/**\n * SidebarRail - Clickable edge to toggle sidebar.\n */\nfunction SidebarRail({ className, ...props }: SidebarRailProps) {\n const { toggleSidebar } = useSidebar()\n\n return (\n <button\n aria-label=\"Toggle Sidebar\"\n className={cn(sidebarRailVariants(), className)}\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n tabIndex={-1}\n title=\"Toggle Sidebar\"\n onClick={toggleSidebar}\n {...props}\n />\n )\n}\n\n/**\n * SidebarInset - Main content area adjacent to sidebar.\n */\nfunction SidebarInset({ className, ...props }: SidebarInsetProps) {\n return (\n <main\n className={cn(sidebarInsetVariants(), className)}\n data-slot=\"sidebar-inset\"\n {...props}\n />\n )\n}\n\n/**\n * SidebarInput - Input field styled for sidebar.\n */\nfunction SidebarInput({\n className,\n ...props\n}: SidebarInputProps) {\n return (\n <TextInput\n className={cn(sidebarInputVariants(), className)}\n data-sidebar=\"input\"\n data-slot=\"sidebar-input\"\n {...props}\n />\n )\n}\n\n/**\n * SidebarHeader - Header section of the sidebar.\n */\nfunction SidebarHeader({ className, ...props }: SidebarHeaderProps) {\n return (\n <div\n className={cn(sidebarHeaderVariants(), className)}\n data-sidebar=\"header\"\n data-slot=\"sidebar-header\"\n {...props}\n />\n )\n}\n\n/**\n * SidebarFooter - Footer section of the sidebar.\n */\nfunction SidebarFooter({ className, ...props }: SidebarFooterProps) {\n return (\n <div\n className={cn(sidebarFooterVariants(), className)}\n data-sidebar=\"footer\"\n data-slot=\"sidebar-footer\"\n {...props}\n />\n )\n}\n\n/**\n * SidebarSeparator - Divider for sidebar sections.\n */\nfunction SidebarSeparator({\n className,\n ...props\n}: SidebarSeparatorProps) {\n return (\n <Divider\n className={cn(sidebarSeparatorVariants(), className)}\n data-sidebar=\"separator\"\n data-slot=\"sidebar-separator\"\n {...props}\n />\n )\n}\n\n/**\n * SidebarContent - Main scrollable content area.\n */\nfunction SidebarContent({ className, ...props }: SidebarContentProps) {\n return (\n <div\n className={cn(sidebarContentVariants(), className)}\n data-sidebar=\"content\"\n data-slot=\"sidebar-content\"\n {...props}\n />\n )\n}\n\n/**\n * SidebarGroup - Group container for sidebar items.\n */\nfunction SidebarGroup({ className, ...props }: SidebarGroupProps) {\n return (\n <div\n className={cn(sidebarGroupVariants(), className)}\n data-sidebar=\"group\"\n data-slot=\"sidebar-group\"\n {...props}\n />\n )\n}\n\n/**\n * SidebarGroupLabel - Label for a sidebar group.\n */\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: SidebarGroupLabelProps) {\n const Comp = asChild ? Slot : \"div\"\n\n return (\n <Comp\n className={cn(sidebarGroupLabelVariants(), className)}\n data-sidebar=\"group-label\"\n data-slot=\"sidebar-group-label\"\n {...props}\n />\n )\n}\n\n/**\n * SidebarGroupAction - Action button for a sidebar group.\n */\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: SidebarGroupActionProps) {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n className={cn(sidebarGroupActionVariants(), className)}\n data-sidebar=\"group-action\"\n data-slot=\"sidebar-group-action\"\n {...props}\n />\n )\n}\n\n/**\n * SidebarGroupContent - Content container for a sidebar group.\n */\nfunction SidebarGroupContent({\n className,\n ...props\n}: SidebarGroupContentProps) {\n return (\n <div\n className={cn(sidebarGroupContentVariants(), className)}\n data-sidebar=\"group-content\"\n data-slot=\"sidebar-group-content\"\n {...props}\n />\n )\n}\n\n/**\n * SidebarMenu - Menu list container.\n */\nfunction SidebarMenu({ className, ...props }: SidebarMenuProps) {\n return (\n <ul\n className={cn(sidebarMenuVariants(), className)}\n data-sidebar=\"menu\"\n data-slot=\"sidebar-menu\"\n {...props}\n />\n )\n}\n\n/**\n * SidebarMenuItem - Individual menu item.\n */\nfunction SidebarMenuItem({ className, ...props }: SidebarMenuItemProps) {\n return (\n <li\n className={cn(sidebarMenuItemVariants(), className)}\n data-sidebar=\"menu-item\"\n data-slot=\"sidebar-menu-item\"\n {...props}\n />\n )\n}\n\n/**\n * SidebarMenuButton - Interactive menu button with variants.\n */\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = \"default\",\n size = \"default\",\n tooltip,\n className,\n ...props\n}: SidebarMenuButtonProps) {\n const Comp = asChild ? Slot : \"button\"\n const { isMobile, state } = useSidebar()\n\n const button = (\n <Comp\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n data-active={isActive}\n data-sidebar=\"menu-button\"\n data-size={size}\n data-slot=\"sidebar-menu-button\"\n {...props}\n />\n )\n\n if (!tooltip) {\n return button\n }\n\n if (typeof tooltip === \"string\") {\n tooltip = {\n children: tooltip,\n }\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n side=\"right\"\n {...tooltip}\n />\n </Tooltip>\n )\n}\n\n/**\n * SidebarMenuAction - Action button within a menu item.\n */\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: SidebarMenuActionProps) {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n className={cn(\n sidebarMenuActionVariants(),\n showOnHover && sidebarMenuActionShowOnHoverVariants(),\n className\n )}\n data-sidebar=\"menu-action\"\n data-slot=\"sidebar-menu-action\"\n {...props}\n />\n )\n}\n\n/**\n * SidebarMenuBadge - Badge displayed in a menu item.\n */\nfunction SidebarMenuBadge({\n className,\n ...props\n}: SidebarMenuBadgeProps) {\n return (\n <div\n className={cn(sidebarMenuBadgeVariants(), className)}\n data-sidebar=\"menu-badge\"\n data-slot=\"sidebar-menu-badge\"\n {...props}\n />\n )\n}\n\n/**\n * SidebarMenuSkeleton - Loading skeleton for menu items.\n */\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: SidebarMenuSkeletonProps) {\n const skeletonId = React.useId()\n // Deterministic width between 50 to 90% based on component id.\n const width = React.useMemo(() => {\n let hash = 0\n for (let i = 0; i < skeletonId.length; i += 1) {\n hash = Math.trunc(hash * 31 + skeletonId.charCodeAt(i))\n }\n const normalized = Math.abs(hash) % 41 + 50\n return `${String(normalized)}%`\n }, [skeletonId])\n\n return (\n <div\n className={cn(sidebarMenuSkeletonVariants(), className)}\n data-sidebar=\"menu-skeleton\"\n data-slot=\"sidebar-menu-skeleton\"\n {...props}\n >\n {showIcon && (\n <SkeletonLoader\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <SkeletonLoader\n style={\n {\n \"--skeleton-width\": width,\n } as React.CSSProperties\n }\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n />\n </div>\n )\n}\n\n/**\n * SidebarMenuSub - Submenu container.\n */\nfunction SidebarMenuSub({ className, ...props }: SidebarMenuSubProps) {\n return (\n <ul\n className={cn(sidebarMenuSubVariants(), className)}\n data-sidebar=\"menu-sub\"\n data-slot=\"sidebar-menu-sub\"\n {...props}\n />\n )\n}\n\n/**\n * SidebarMenuSubItem - Individual submenu item.\n */\nfunction SidebarMenuSubItem({\n className,\n ...props\n}: SidebarMenuSubItemProps) {\n return (\n <li\n className={cn(sidebarMenuSubItemVariants(), className)}\n data-sidebar=\"menu-sub-item\"\n data-slot=\"sidebar-menu-sub-item\"\n {...props}\n />\n )\n}\n\n/**\n * SidebarMenuSubButton - Interactive button within a submenu.\n */\nfunction SidebarMenuSubButton({\n asChild = false,\n size = \"md\",\n isActive = false,\n className,\n ...props\n}: SidebarMenuSubButtonProps) {\n const Comp = asChild ? Slot : \"a\"\n\n return (\n <Comp\n className={cn(sidebarMenuSubButtonVariants({ size }), className)}\n data-active={isActive}\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-slot=\"sidebar-menu-sub-button\"\n {...props}\n />\n )\n}\n\n/**\n * SidebarRailContent - Icon rail zone in dual mode (always visible, 64px wide).\n *\n * Owns the Figma rail-column layout (1091:8943): container padding 12/24,\n * top/bottom blocks pinned apart, 24px between stacked blocks. Spacing\n * between items inside a block is composition — wrap them in an element with\n * `gap-[var(--sidebar-rail-item-gap)]` (20px).\n */\nfunction SidebarRailContent({\n className,\n ...props\n}: SidebarRailContentProps) {\n const { isMobile, mode } = useSidebar()\n\n if (isMobile && mode === \"dual\") return null\n\n return (\n <div\n className={cn(\n \"flex h-full w-[var(--rail-width)] shrink-0 flex-col items-center justify-between\",\n \"gap-[var(--sidebar-rail-group-gap)]\",\n \"px-[var(--sidebar-container-padding-x)] py-[var(--sidebar-container-padding-y)]\",\n \"border-r border-[color:var(--rail-border)]\",\n \"bg-[color:var(--rail-background)]\",\n className\n )}\n data-sidebar=\"rail-content\"\n data-slot=\"sidebar-rail-content\"\n {...props}\n />\n )\n}\n\n/**\n * SidebarRailButton - Icon button for the sidebar rail (32×32).\n *\n * Supports active/inactive states with Figma-aligned sizing.\n */\nfunction SidebarRailButton({\n isActive = false,\n tooltip,\n className,\n ...props\n}: SidebarRailButtonProps) {\n const button = (\n <button\n className={cn(sidebarRailButtonVariants({ isActive: isActive ?? undefined }), className)}\n data-active={isActive}\n data-sidebar=\"rail-button\"\n data-slot=\"sidebar-rail-button\"\n {...props}\n />\n )\n\n if (!tooltip) {\n return button\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side=\"right\">{tooltip}</TooltipContent>\n </Tooltip>\n )\n}\n\n/**\n * SidebarPanelContent - Text panel zone in dual mode (toggleable, 13.5rem wide).\n *\n * Collapses to width 0 when sidebar state is \"collapsed\".\n */\nfunction SidebarPanelContent({\n className,\n ...props\n}: SidebarPanelContentProps) {\n const { open } = useSidebar()\n\n return (\n <div\n className={cn(\n \"flex h-full flex-col overflow-hidden\",\n \"w-[var(--sidebar-panel-width)]\",\n // Figma 1092:542 — panel bottom padding = 80px\n \"pb-[var(--sidebar-panel-padding-bottom)]\",\n \"bg-sidebar text-sidebar-foreground\",\n \"transition-[width,opacity] duration-200 ease-linear motion-reduce:transition-none\",\n !open && \"w-0 opacity-0\",\n className\n )}\n data-sidebar=\"panel-content\"\n data-slot=\"sidebar-panel-content\"\n data-state={open ? \"expanded\" : \"collapsed\"}\n {...props}\n />\n )\n}\n\n/* ─────────────────────────────────────────────────────────────\n * Sub-componentes alinhados aos Figma nodes:\n * - Sidebar / Logo (1087-323) → SidebarLogo\n * - Sidebar / Avatar (1088-627) → SidebarAvatar\n * - Sidebar / Color Mode Toggle (1089-324) → SidebarThemeToggle\n * Valores numéricos pinados em docs/proposals/sidebar-filetree-components/\n * 11-Prototype-values.md (seção 9).\n * ─────────────────────────────────────────────────────────────*/\n\nfunction SevenLogo({ className, ...props }: React.SVGProps<SVGSVGElement>) {\n return (\n <svg\n aria-hidden=\"true\"\n className={className}\n fill=\"none\"\n viewBox=\"0 0 447 421\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <rect\n height=\"420.697\"\n rx=\"52.3255\"\n style={{ fill: \"var(--brand-primary-500, var(--primary))\" }}\n width=\"446.511\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M297.097 126.658C313.023 126.661 327.15 131.593 337.759 140.229L337.772 140.241C342.56 143.898 346.681 148.278 349.989 153.277C360.539 169.219 361.562 189.733 351.524 207.699C341.313 225.975 325.169 234.706 307.327 237.12C289.856 239.483 270.755 235.793 253.953 229.106C257.099 236.591 262.271 243.904 268.869 249.321C273.202 252.609 278.097 255.077 283.391 256.278C304.929 261.165 323.562 252.744 336.549 236.264L337.34 235.261L365.526 256.947L365.513 256.964L366.897 258.029L366.095 259.055C346.033 284.695 314.063 300.49 276.874 292.052C264.669 289.283 254.128 283.966 245.384 276.913L245.377 276.907L245.36 276.894L245.353 276.888L244.889 276.528C224.237 260.353 213.344 234.603 213.866 209.528C213.876 209.081 214.479 202.313 214.479 202.313C214.479 202.313 218.001 182.504 224.799 169.993C237.562 146.503 261.564 126.651 297.097 126.658ZM298.448 163.313C276.722 163.308 261.843 176.856 255.022 192.602C262.048 196.07 269.076 198.519 275.811 199.995C299.647 205.218 314.251 197.954 319.102 189.272C322.736 182.767 322.06 176.535 318.957 171.845C318.134 170.602 317.053 169.35 315.692 168.179L315.341 167.93L314.978 167.684C311.174 165.165 305.764 163.314 298.448 163.313Z\"\n fill=\"black\"\n fillRule=\"evenodd\"\n />\n <path\n d=\"M246.018 186.67C268.826 199.868 252.621 219.225 249.886 226.823C212.772 211.745 200.922 187.978 177.479 169.658C158.128 154.537 139.239 156.58 131.217 162.056C127.067 164.888 125.582 168.878 125.582 173.623C125.582 176.588 126.375 179.159 127.957 181.334C129.538 183.509 131.716 185.286 134.484 186.67C137.449 188.054 140.808 189.34 144.562 190.526L170.368 198.237C183.616 202.192 193.804 208.125 200.922 216.034C208.237 223.942 211.893 233.632 211.893 245.099C211.893 254.788 209.323 263.391 204.182 270.905C199.041 278.22 191.923 283.954 182.828 288.106C173.732 292.258 163.052 294.336 150.792 294.336C133.591 294.336 118.561 290.28 105.709 282.174C93.0569 273.87 84.3585 262.7 79.613 248.665L108.679 234.724C112.831 243.818 118.564 250.937 125.88 256.078C133.393 261.218 141.698 263.789 150.792 263.789C157.911 263.789 163.551 262.204 167.703 259.04C171.853 255.878 173.925 251.727 173.926 246.588C173.926 243.426 173.039 240.854 171.261 238.877C169.679 236.702 167.402 234.917 164.436 233.533C161.668 231.952 158.604 230.665 155.243 229.677L128.85 222.264C115.206 218.309 104.818 212.276 97.7 204.169C90.7811 196.063 87.3242 186.473 87.3242 175.401C87.3242 165.515 89.7943 156.912 94.7376 149.596C99.8784 142.083 106.897 136.249 115.794 132.097C137.208 122.527 166.002 124.69 188.861 140.375C214.713 158.114 223.21 173.473 246.018 186.67Z\"\n fill=\"black\"\n />\n </svg>\n )\n}\n\ninterface SidebarLogoProps extends Omit<React.ComponentProps<\"div\">, \"onClick\"> {\n brand?: string\n collapseLabel?: string\n mark?: React.ReactNode\n onClick?: (event: React.MouseEvent) => void\n showCollapse?: boolean\n sub?: string\n}\n\n/**\n * SidebarLogo — branding header inside `<SidebarHeader>`.\n *\n * Renders a logomark + brand name + (optional) sub line + (optional) collapse trigger.\n * Aligned with Figma node `Sidebar / Logo` (1087-323).\n *\n * Default `mark` is the Seven brand logo. Pass a custom `mark` to override.\n *\n * @example\n * <SidebarHeader>\n * <SidebarLogo brand=\"ETUS · DAM\" showCollapse />\n * </SidebarHeader>\n */\nfunction SidebarLogo({\n mark = <SevenLogo className=\"size-full\" />,\n brand,\n sub,\n showCollapse = false,\n collapseLabel = \"Colapsar painel\",\n onClick,\n className,\n ...props\n}: SidebarLogoProps) {\n const { toggleSidebar } = useSidebar()\n return (\n <div\n className={cn(\n // Figma 1087:507 — logo↔brand gap = 12px; in token mode (data-mode set)\n // the row has no padding of its own: SidebarHeader carries the container\n // padding (px-12 pt-24)\n \"flex items-center gap-3 px-3.5 pt-4 pb-3\",\n \"group-data-[mode]/sidebar-wrapper:p-0\",\n className,\n )}\n data-slot=\"sidebar-logo\"\n {...props}\n >\n {mark && (\n <button\n className={cn(\n \"grid place-items-center shrink-0 size-[var(--sidebar-logo-size)] rounded-[var(--sidebar-logo-radius)]\",\n \"bg-[color:var(--sidebar-logo-background)] text-[color:var(--sidebar-logo-foreground)]\",\n onClick && \"cursor-pointer transition-transform hover:translate-y-px active:translate-y-0.5 motion-reduce:transform-none\",\n )}\n aria-label={brand ?? \"Home\"}\n data-slot=\"sidebar-logo-mark\"\n type=\"button\"\n onClick={onClick}\n >\n {mark}\n </button>\n )}\n {(brand ?? sub) && (\n <div className=\"flex flex-col min-w-0 flex-1 leading-tight group-data-[collapsible=icon]:hidden\" data-slot=\"sidebar-logo-meta\">\n {brand && (\n <span\n className=\"text-[18px] font-semibold leading-6 truncate\"\n data-slot=\"sidebar-logo-brand\"\n >\n {brand}\n </span>\n )}\n {sub && (\n <span\n className=\"text-[11px] text-[color:var(--muted-foreground)] truncate\"\n data-slot=\"sidebar-logo-sub\"\n >\n {sub}\n </span>\n )}\n </div>\n )}\n {showCollapse && (\n <button\n className={cn(\n // Figma 1087:507 Close — 32px button (p-4) with 16px PanelLeftClose\n \"grid place-items-center shrink-0 size-8 rounded-md\",\n \"bg-transparent text-[color:var(--muted-foreground)] cursor-pointer\",\n \"transition-colors hover:bg-[color:var(--muted)] hover:text-[color:var(--foreground)]\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--ring)]\",\n \"group-data-[collapsible=icon]:hidden\",\n )}\n aria-label={collapseLabel}\n data-slot=\"sidebar-logo-collapse\"\n type=\"button\"\n onClick={() => { toggleSidebar(); }}\n >\n <PanelLeftCloseIcon size={16} />\n </button>\n )}\n </div>\n )\n}\n\ninterface SidebarAvatarProps {\n \"aria-label\"?: string\n avatar?: React.ComponentProps<typeof Avatar>\n className?: string\n compact?: boolean\n email?: string\n name?: string\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void\n showChevron?: boolean\n}\n\n/**\n * SidebarAvatar — user-identity footer button inside `<SidebarFooter>`.\n *\n * Renders avatar + name + email + (optional) chevron, opens user menu on click.\n * Aligned with Figma node `Sidebar / Avatar` (1088-627).\n *\n * @example\n * <SidebarFooter>\n * <SidebarAvatar\n * avatar={{ initials: \"CR\", tone: \"mint\", size: \"sm\" }}\n * name=\"Camila Reis\"\n * email=\"camila@etus.com.br\"\n * onClick={() => userMenu.toggle()}\n * />\n * <SidebarThemeToggle />\n * </SidebarFooter>\n */\nfunction SidebarAvatar({\n avatar,\n name,\n email,\n showChevron = true,\n compact = false,\n onClick,\n className,\n \"aria-label\": ariaLabel,\n}: SidebarAvatarProps) {\n return (\n <button\n className={cn(\n // Figma 1088:626 — row padding = 4px, avatar↔text gap = 10px\n \"flex items-center gap-2.5 p-1 flex-1 min-w-0 rounded-md text-left\",\n \"bg-transparent cursor-pointer transition-colors hover:bg-[color:var(--muted)]\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--ring)]\",\n className,\n )}\n aria-haspopup={onClick ? \"menu\" : undefined}\n aria-label={ariaLabel ?? (name ? `User menu — ${name}` : \"User menu\")}\n data-compact={compact || undefined}\n data-slot=\"sidebar-avatar\"\n type=\"button\"\n onClick={onClick}\n >\n {avatar && (\n <Avatar\n size=\"sm\"\n {...avatar}\n />\n )}\n {!compact && (name ?? email) && (\n <span className=\"flex flex-col min-w-0 flex-1 leading-tight group-data-[collapsible=icon]:hidden\" data-slot=\"sidebar-avatar-meta\">\n {name && (\n <span className=\"text-sm font-bold leading-5 text-[color:var(--foreground)] truncate\" data-slot=\"sidebar-avatar-name\">\n {name}\n </span>\n )}\n {email && (\n <span className=\"text-xs text-[color:var(--muted-foreground)] truncate\" data-slot=\"sidebar-avatar-email\">\n {email}\n </span>\n )}\n </span>\n )}\n {!compact && showChevron && (\n <ChevronsUpDown\n aria-hidden=\"true\"\n className=\"shrink-0 text-[color:var(--muted-foreground)] group-data-[collapsible=icon]:hidden\"\n data-slot=\"sidebar-avatar-chevron\"\n size={16}\n />\n )}\n </button>\n )\n}\n\ninterface SidebarThemeToggleProps {\n className?: string\n darkIcon?: React.ReactNode\n label?: (mode: \"dark\" | \"light\") => string\n lightIcon?: React.ReactNode\n mode?: \"dark\" | \"light\"\n onToggle?: (next: \"dark\" | \"light\") => void\n size?: \"default\" | \"sm\"\n}\n\n/**\n * useSidebarTheme — internal hook to read/write `class=\"dark\"|\"light\"` on `<html>`.\n *\n * Persists choice to localStorage under \"seven-theme\". Reacts to external changes\n * via a MutationObserver on `<html>.class`. Used by SidebarThemeToggle when no\n * `mode` prop is provided (uncontrolled mode).\n */\nfunction useSidebarTheme(): readonly [\"dark\" | \"light\", () => void] {\n const read = React.useCallback((): \"dark\" | \"light\" => {\n if (typeof document === \"undefined\") return \"light\"\n const html = document.documentElement\n if (html.classList.contains(\"dark\")) return \"dark\"\n if (html.classList.contains(\"light\")) return \"light\"\n return typeof window !== \"undefined\" && window.matchMedia(\"(prefers-color-scheme: dark)\").matches\n ? \"dark\"\n : \"light\"\n }, [])\n const [mode, setMode] = React.useState<\"dark\" | \"light\">(read)\n React.useEffect(() => {\n if (typeof document === \"undefined\") return\n const obs = new MutationObserver(() => { setMode(read()); })\n obs.observe(document.documentElement, { attributes: true, attributeFilter: [\"class\"] })\n return () => { obs.disconnect(); }\n }, [read])\n const toggle = React.useCallback(() => {\n if (typeof document === \"undefined\") return\n const next: \"dark\" | \"light\" = mode === \"dark\" ? \"light\" : \"dark\"\n const html = document.documentElement\n html.classList.remove(\"dark\", \"light\")\n html.classList.add(next)\n try { localStorage.setItem(\"seven-theme\", next) } catch {\n // localStorage may be unavailable (private browsing, SSR); fail silently\n }\n setMode(next)\n }, [mode])\n return [mode, toggle] as const\n}\n\n/**\n * SidebarThemeToggle — sun/moon button that flips `<html>` class between\n * `light` and `dark`. Use inside `<SidebarFooter>` next to `<SidebarAvatar>`.\n *\n * Aligned with Figma node `Sidebar / Color Mode Toggle` (1089-324).\n *\n * @example\n * // Uncontrolled — reads/writes html.classList + localStorage\n * <SidebarThemeToggle />\n *\n * @example\n * // Controlled\n * <SidebarThemeToggle mode={themeStore.mode} onToggle={themeStore.set} />\n */\nfunction SidebarThemeToggle({\n mode: controlledMode,\n onToggle,\n lightIcon,\n darkIcon,\n label = (m) => (m === \"dark\" ? \"Modo de cor: Escuro\" : \"Modo de cor: Claro\"),\n size = \"default\",\n className,\n}: SidebarThemeToggleProps) {\n const [internalMode, internalToggle] = useSidebarTheme()\n const mode = controlledMode ?? internalMode\n const isDark = mode === \"dark\"\n const handleClick = () => {\n if (onToggle) {\n onToggle(isDark ? \"light\" : \"dark\")\n } else {\n internalToggle()\n }\n }\n const iconSize = size === \"sm\" ? 11 : 12\n return (\n <button\n className={cn(\n \"flex items-center gap-[var(--sidebar-theme-toggle-gap)] rounded-md p-2 text-left cursor-pointer\",\n \"bg-transparent transition-colors hover:bg-[color:var(--muted)]\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--ring)]\",\n // Figma 1091:8942/1095:1288 — the toggle row has no padding of its own;\n // the pill sits flush with the container edge, unlike nav items (p-2)\n \"group-data-[mode]/sidebar-wrapper:p-0\",\n className,\n )}\n aria-checked={isDark}\n aria-label={label(mode)}\n data-mode={mode}\n data-slot=\"sidebar-theme-toggle\"\n role=\"switch\"\n title={label(mode)}\n type=\"button\"\n onClick={handleClick}\n >\n {/* Pill switch — knob slides + swaps icon to reflect the active mode (Figma 1089:324) */}\n <span\n aria-hidden\n className={cn(\n \"relative flex h-[var(--sidebar-theme-toggle-track-height)] w-[var(--sidebar-theme-toggle-track-width)] shrink-0 items-center rounded-full px-0.5 transition-colors\",\n isDark ? \"bg-[color:var(--sidebar-theme-toggle-track-bg-dark)]\" : \"bg-[color:var(--sidebar-theme-toggle-track-bg-light)]\",\n )}\n >\n <span\n className={cn(\n \"grid size-[var(--sidebar-theme-toggle-knob-size)] place-items-center rounded-full bg-[color:var(--sidebar-theme-toggle-knob-bg)] text-[color:var(--sidebar-theme-toggle-knob-fg)] shadow-sm transition-transform duration-200\",\n isDark && \"translate-x-3\",\n )}\n >\n {isDark\n ? (darkIcon ?? <MoonIcon size={iconSize} />)\n : (lightIcon ?? <SunIcon size={iconSize} />)}\n </span>\n </span>\n {/* Label — hidden when the sidebar is collapsed to icons */}\n <span className=\"truncate text-[14px] text-[color:var(--muted-foreground)] group-data-[collapsible=icon]:hidden\">\n {label(mode)}\n </span>\n </button>\n )\n}\n\nexport {\n Sidebar,\n SidebarAvatar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarLogo,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarPanelContent,\n SidebarProvider,\n SidebarRail,\n SidebarRailButton,\n SidebarRailContent,\n SidebarSeparator,\n SidebarThemeToggle,\n SidebarTrigger,\n useSidebar,\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/forms/Textarea/Textarea.variants.ts","../src/components/forms/Textarea/Textarea.tsx"],"names":[],"mappings":";;;;;AAKO,IAAM,gBAAA,GAAmB,GAAA;AAAA;AAAA,EAE9B;AAAA,IACE,2DAAA;AAAA,IACA,+EAAA;AAAA,IACA,6HAAA;AAAA,IACA,yDAAA;AAAA,IACA,wDAAA;AAAA,IACA,eAAA;AAAA,IACA,oNAAA;AAAA,IACA,oDAAA;AAAA,IACA,2IAAA;AAAA,IACA,mLAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,kJAAA;AAAA,QACJ,EAAA,EAAI,kJAAA;AAAA,QACJ,EAAA,EAAI;AAAA,OACN;AAAA,MACA,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,iCAAA;AAAA,QACT,MAAA,EAAQ,yDAAA;AAAA,QACR,OAAA,EAAS,yFAAA;AAAA,QACT,QAAA,EAAU;AAAA,OACZ;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,aAAA;AAAA,QACN,QAAA,EAAU,UAAA;AAAA,QACV,UAAA,EAAY,UAAA;AAAA,QACZ,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM,IAAA;AAAA,MACN,OAAA,EAAS,SAAA;AAAA,MACT,MAAA,EAAQ;AAAA;AACV;AAEJ;ACvCA,SAAS,QAAA,CAAS;AAAA,EAChB,SAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAkB;AAChB,EAAA,uBACE,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,GAAG,gBAAA,CAAiB,EAAE,MAAM,OAAA,EAAS,MAAA,EAAQ,CAAA,EAAG,SAAS,CAAA;AAAA,MACpE,WAAA,EAAU,UAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-U6EOAIPK.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * Textarea variant styles using CVA\n */\nexport const textareaVariants = cva(\n // Base styles\n [\n \"w-full min-w-0 transition-[color,box-shadow] outline-none\",\n \"rounded-[var(--textarea-radius)] border-[length:var(--textarea-border-width)]\",\n \"bg-[color:var(--textarea-bg-default)] text-[color:var(--textarea-fg-default)] border-[color:var(--textarea-border-default)]\",\n \"placeholder:text-[color:var(--textarea-fg-placeholder)]\",\n \"selection:bg-primary selection:text-primary-foreground\",\n \"dark:bg-input\",\n \"disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-[color:var(--textarea-bg-disabled)] disabled:text-[color:var(--textarea-fg-disabled)] disabled:border-[color:var(--textarea-border-disabled)]\",\n \"hover:border-[color:var(--border-semantic-strong)]\",\n \"focus-visible:border-[color:var(--textarea-border-focus)] focus-visible:ring-[color:var(--textarea-border-focus)]/20 focus-visible:ring-4\",\n \"aria-invalid:ring-[color:var(--textarea-border-error)]/20 dark:aria-invalid:ring-[color:var(--textarea-border-error)]/40 aria-invalid:border-[color:var(--textarea-border-error)]\",\n \"field-sizing-content\",\n ],\n {\n variants: {\n size: {\n sm: \"min-h-[var(--textarea-size-sm-min-h)] px-[var(--textarea-size-sm-px)] py-[var(--textarea-size-sm-py)] text-[length:var(--textarea-size-sm-text)]\",\n md: \"min-h-[var(--textarea-size-md-min-h)] px-[var(--textarea-size-md-px)] py-[var(--textarea-size-md-py)] text-[length:var(--textarea-size-md-text)]\",\n lg: \"min-h-[var(--textarea-size-lg-min-h)] px-[var(--textarea-size-lg-px)] py-[var(--textarea-size-lg-py)] text-[length:var(--textarea-size-lg-text)]\",\n },\n variant: {\n default: \"shadow-[var(--textarea-shadow)]\",\n filled: \"border-transparent bg-[color:var(--textarea-bg-filled)]\",\n flushed: \"rounded-none border-x-0 border-t-0 border-b-[color:var(--textarea-border-default)] px-0\",\n unstyled: \"border-0 bg-transparent p-0 shadow-none focus-visible:ring-0\",\n },\n resize: {\n none: \"resize-none\",\n vertical: \"resize-y\",\n horizontal: \"resize-x\",\n both: \"resize\",\n },\n },\n defaultVariants: {\n size: \"md\",\n variant: \"default\",\n resize: \"vertical\",\n },\n }\n)\n\nexport type TextareaVariantProps = VariantProps<typeof textareaVariants>\n","import type { TextareaProps } from \"./Textarea.types\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { textareaVariants } from \"./Textarea.variants\"\n\nfunction Textarea({\n className,\n size,\n variant,\n resize,\n ...props\n}: TextareaProps) {\n return (\n <textarea\n className={cn(textareaVariants({ size, variant, resize }), className)}\n data-slot=\"textarea\"\n {...props}\n />\n )\n}\n\nexport { Textarea }\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/forms/TagsInput/TagsInput.variants.ts","../src/components/forms/TagsInput/TagsInput.tsx"],"names":[],"mappings":"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","file":"chunk-UPK5B2FL.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * TagsInput container variant styles using CVA\n */\nexport const tagsInputVariants = cva(\n [\n \"flex flex-wrap items-center gap-1.5 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 \"aria-disabled:pointer-events-none aria-disabled:cursor-not-allowed aria-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: \"min-h-8 px-2 py-1 text-sm\",\n md: \"min-h-9 px-3 py-1.5 text-base md:text-sm\",\n lg: \"min-h-10 px-3.5 py-2 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 px-0\",\n },\n },\n defaultVariants: {\n size: \"md\",\n variant: \"default\",\n },\n }\n)\n\n/**\n * TagsInput inner input variant styles\n */\nexport const tagsInputInputVariants = cva(\n [\n \"flex-1 min-w-24 bg-transparent outline-none\",\n \"placeholder:text-muted-foreground\",\n \"disabled:cursor-not-allowed\",\n ],\n {\n variants: {\n size: {\n sm: \"text-sm h-5\",\n md: \"text-base md:text-sm h-5\",\n lg: \"text-base h-6\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\nexport type TagsInputVariantProps = VariantProps<typeof tagsInputVariants>\nexport type TagsInputInputVariantProps = VariantProps<typeof tagsInputInputVariants>\n","\"use client\"\n\nimport type { TagsInputProps } from \"./TagsInput.types\"\n\nimport * as React from \"react\"\nimport { useCallback, useId, useRef, useState } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Badge } from \"../../primitives/Badge\"\nimport { tagsInputInputVariants, tagsInputVariants } from \"./TagsInput.variants\"\n\n/**\n * TagsInput - A multi-tag input component for entering and managing tags\n *\n * @example\n * ```tsx\n * // Uncontrolled\n * <TagsInput\n * defaultValue={[\"react\", \"typescript\"]}\n * placeholder=\"Add tags...\"\n * />\n *\n * // Controlled\n * const [tags, setTags] = useState([\"hello\"])\n * <TagsInput\n * value={tags}\n * onChange={setTags}\n * maxTags={5}\n * />\n * ```\n */\nfunction TagsInput({\n value: controlledValue,\n defaultValue = [],\n onChange,\n onTagAdd,\n onTagRemove,\n placeholder = \"Add tag...\",\n maxTags,\n allowDuplicates = false,\n disabled,\n size = \"md\",\n variant,\n invalid,\n delimiters = [\",\"],\n className,\n ...props\n}: TagsInputProps) {\n const inputRef = useRef<HTMLInputElement>(null)\n const [inputValue, setInputValue] = useState(\"\")\n const [internalTags, setInternalTags] = useState<string[]>(defaultValue)\n const id = useId()\n\n // Determine if controlled or uncontrolled\n const isControlled = controlledValue !== undefined\n const tags = isControlled ? controlledValue : internalTags\n\n const updateTags = useCallback(\n (newTags: string[]) => {\n if (!isControlled) {\n setInternalTags(newTags)\n }\n onChange?.(newTags)\n },\n [isControlled, onChange]\n )\n\n const addTag = useCallback(\n (tag: string) => {\n const trimmedTag = tag.trim()\n if (!trimmedTag) return\n\n // Check for duplicates\n if (!allowDuplicates && tags.includes(trimmedTag)) {\n setInputValue(\"\")\n return\n }\n\n // Check max tags\n if (maxTags && tags.length >= maxTags) {\n setInputValue(\"\")\n return\n }\n\n const newTags = [...tags, trimmedTag]\n updateTags(newTags)\n onTagAdd?.(trimmedTag)\n setInputValue(\"\")\n },\n [tags, allowDuplicates, maxTags, updateTags, onTagAdd]\n )\n\n const removeTag = useCallback(\n (tagToRemove: string) => {\n const newTags = tags.filter((tag) => tag !== tagToRemove)\n updateTags(newTags)\n onTagRemove?.(tagToRemove)\n },\n [tags, updateTags, onTagRemove]\n )\n\n const removeLastTag = useCallback(() => {\n const lastTag = tags[tags.length - 1]\n if (lastTag) {\n removeTag(lastTag)\n }\n }, [tags, removeTag])\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\" || delimiters.includes(e.key)) {\n e.preventDefault()\n addTag(inputValue)\n } else if (e.key === \"Backspace\" && inputValue === \"\" && tags.length > 0) {\n removeLastTag()\n }\n },\n [inputValue, tags.length, addTag, removeLastTag, delimiters]\n )\n\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value\n\n // Check if any delimiter is in the pasted/typed value\n for (const delimiter of delimiters) {\n if (value.includes(delimiter)) {\n const parts = value.split(delimiter)\n parts.forEach((part, index) => {\n if (index < parts.length - 1) {\n addTag(part)\n } else {\n setInputValue(part)\n }\n })\n return\n }\n }\n\n setInputValue(value)\n },\n [delimiters, addTag]\n )\n\n const handleContainerClick = useCallback(() => {\n inputRef.current?.focus()\n }, [])\n\n // Map size to Tag size\n const tagSize = size === \"lg\" ? \"default\" : \"sm\"\n\n return (\n <div\n aria-disabled={disabled ?? undefined}\n aria-invalid={invalid ?? undefined}\n className={cn(tagsInputVariants({ size, variant }), className)}\n data-slot=\"tags-input\"\n onClick={handleContainerClick}\n {...props}\n >\n {tags.map((tag, index) => (\n <Badge\n key={`${tag}-${String(index)}`}\n color=\"muted\"\n size={tagSize}\n type=\"pill-color\"\n onDismiss={disabled ? undefined : () => { removeTag(tag); }}\n >\n {tag}\n </Badge>\n ))}\n <input\n ref={inputRef}\n aria-label=\"Add tag\"\n className={tagsInputInputVariants({ size })}\n data-slot=\"tags-input-field\"\n disabled={disabled}\n id={id}\n placeholder={tags.length === 0 ? placeholder : undefined}\n type=\"text\"\n value={inputValue}\n onChange={handleInputChange}\n onKeyDown={handleKeyDown}\n />\n </div>\n )\n}\n\nexport { TagsInput }\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/feedback/Modal/Modal.tsx"],"names":[],"mappings":"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","file":"chunk-VAVE4ZJF.js","sourcesContent":["\"use client\"\n\nimport type { ModalIntent, ModalProps, ModalSize } from \"./Modal.types\"\n\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { X } from \"lucide-react\"\n\nimport { cn } from \"../../../lib/utils\"\n\n/**\n * Size classes for modal widths\n */\nconst sizeClasses: Record<ModalSize, string> = {\n \"2xl\": \"sm:max-w-2xl\",\n full: \"sm:max-w-[calc(100vw-4rem)]\",\n lg: \"sm:max-w-lg\",\n md: \"sm:max-w-md\",\n sm: \"sm:max-w-sm\",\n xl: \"sm:max-w-xl\",\n}\n\n/**\n * Background/foreground classes for the header icon-pill per intent.\n * Reuses the semantic STATUS tokens exposed as `--modal-icon-pill-color-*`.\n */\nconst iconPillClasses: Record<ModalIntent, string> = {\n default:\n \"bg-[color:var(--modal-icon-pill-color-default-bg)] text-[color:var(--modal-icon-pill-color-default-fg)]\",\n destructive:\n \"bg-[color:var(--modal-icon-pill-color-destructive-bg)] text-[color:var(--modal-icon-pill-color-destructive-fg)]\",\n warning:\n \"bg-[color:var(--modal-icon-pill-color-warning-bg)] text-[color:var(--modal-icon-pill-color-warning-fg)]\",\n}\n\n// Default English fallbacks — override via props for i18n (DES-1286 item 7)\nconst DEFAULT_FALLBACK_TITLE = \"Modal dialog\"\nconst DEFAULT_FALLBACK_DESCRIPTION = \"Use this dialog to complete the current action.\"\nconst DEFAULT_CLOSE_LABEL = \"Close\"\n\n/**\n * Modal - Simplified wrapper over @radix-ui/react-dialog\n *\n * A declarative API for common modal use cases. Modal is NOT a wrapper over\n * Seven's Dialog component — both are sibling wrappers over the same Radix\n * primitive. Modal provides a simpler props-based interface than Dialog's\n * compound subcomponents while maintaining full accessibility.\n *\n * @example\n * ```tsx\n * // With trigger (uncontrolled)\n * <Modal\n * trigger={<Button>Open Modal</Button>}\n * title=\"Modal Title\"\n * description=\"Optional description\"\n * footer={<Button>Save</Button>}\n * >\n * <p>Modal content here</p>\n * </Modal>\n *\n * // Controlled\n * <Modal\n * open={isOpen}\n * onOpenChange={setIsOpen}\n * title=\"Controlled Modal\"\n * >\n * <p>Content</p>\n * </Modal>\n * ```\n */\nfunction Modal({\n children,\n className,\n closeLabel = DEFAULT_CLOSE_LABEL,\n closeOnEscape = true,\n closeOnOverlayClick = true,\n defaultOpen = false,\n description,\n fallbackDescription = DEFAULT_FALLBACK_DESCRIPTION,\n fallbackTitle = DEFAULT_FALLBACK_TITLE,\n footer,\n icon,\n intent = \"default\",\n onOpenChange,\n open,\n overlayClassName,\n showCloseButton = true,\n size = \"md\",\n title,\n trigger,\n}: ModalProps) {\n const accessibleTitle = title ?? fallbackTitle\n const accessibleDescription = description ?? fallbackDescription\n\n const handleOpenChange = (newOpen: boolean): void => {\n onOpenChange?.(newOpen)\n }\n\n const handleEscapeKeyDown = (event: KeyboardEvent): void => {\n if (!closeOnEscape) {\n event.preventDefault()\n }\n }\n\n const handleInteractOutside = (\n event: CustomEvent<{ originalEvent: Event }>\n ): void => {\n if (!closeOnOverlayClick) {\n event.preventDefault()\n }\n }\n\n return (\n <DialogPrimitive.Root\n defaultOpen={defaultOpen}\n open={open}\n onOpenChange={handleOpenChange}\n >\n {trigger && (\n <DialogPrimitive.Trigger asChild data-slot=\"modal-trigger\">\n {trigger}\n </DialogPrimitive.Trigger>\n )}\n\n <DialogPrimitive.Portal>\n <DialogPrimitive.Overlay\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-[color:var(--modal-overlay-bg)]\",\n overlayClassName\n )}\n data-slot=\"modal-overlay\"\n />\n <DialogPrimitive.Content\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] border duration-200\",\n \"bg-[color:var(--modal-content-bg)] border-[color:var(--modal-content-border)] gap-[var(--modal-content-gap)] rounded-[var(--modal-content-radius)] p-[var(--modal-content-padding)] shadow-[var(--modal-content-shadow)]\",\n sizeClasses[size],\n className\n )}\n data-slot=\"modal\"\n onEscapeKeyDown={handleEscapeKeyDown}\n onInteractOutside={handleInteractOutside}\n >\n {/* Header */}\n <div\n className=\"flex flex-col gap-[var(--modal-header-gap)] text-center sm:text-left\"\n data-slot=\"modal-header\"\n >\n {icon && (\n <span\n className={cn(\n \"inline-flex w-fit items-center justify-center self-center rounded-[var(--modal-icon-pill-radius)] p-[var(--modal-icon-pill-padding)] sm:self-start [&_svg]:size-[var(--modal-icon-pill-icon-size)] [&_svg]:shrink-0\",\n iconPillClasses[intent]\n )}\n aria-hidden=\"true\"\n data-intent={intent}\n data-slot=\"modal-icon-pill\"\n >\n {icon}\n </span>\n )}\n <DialogPrimitive.Title\n className={cn(\n \"text-lg leading-tight font-semibold\",\n !title && \"sr-only\"\n )}\n data-slot=\"modal-title\"\n >\n {accessibleTitle}\n </DialogPrimitive.Title>\n <DialogPrimitive.Description\n className={cn(\n \"text-muted-foreground text-sm\",\n !description && \"sr-only\"\n )}\n data-slot=\"modal-description\"\n >\n {accessibleDescription}\n </DialogPrimitive.Description>\n </div>\n\n {/* Content */}\n {children && <div data-slot=\"modal-content\">{children}</div>}\n\n {/* Footer */}\n {footer && (\n <div\n className=\"flex flex-col-reverse gap-[var(--modal-footer-gap)] sm:flex-row sm:justify-end\"\n data-slot=\"modal-footer\"\n >\n {footer}\n </div>\n )}\n\n {/* Close Button */}\n {showCloseButton && (\n <DialogPrimitive.Close\n className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n data-slot=\"modal-close\"\n >\n <X />\n <span className=\"sr-only\">{closeLabel}</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n )\n}\n\nexport { Modal }\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/navigation/Menubar/Menubar.variants.ts","../src/components/navigation/Menubar/Menubar.tsx"],"names":[],"mappings":"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","file":"chunk-VT4IMHGE.js","sourcesContent":["// Menubar/Menubar.variants.ts\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\n/* eslint-disable sonarjs/no-duplicate-string -- Tailwind class combinations naturally repeat in variant definitions */\n\n/**\n * Common focus state styles\n */\nconst FOCUS_ACCENT_STYLES = \"focus:bg-accent focus:text-accent-foreground\"\n\n/**\n * Shared animation and transition styles for menu content\n */\nconst menuContentBase = [\n \"bg-popover text-popover-foreground\",\n \"z-[var(--menubar-content-z-index)] overflow-hidden rounded-[var(--menubar-content-radius)] border-[var(--menubar-content-border-width)] p-[var(--menubar-content-padding)]\",\n \"data-[state=open]:animate-in data-[state=closed]:animate-out\",\n \"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n \"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n \"data-[side=bottom]:slide-in-from-top-2\",\n \"data-[side=left]:slide-in-from-right-2\",\n \"data-[side=right]:slide-in-from-left-2\",\n \"data-[side=top]:slide-in-from-bottom-2\",\n]\n\n/**\n * Shared base styles for interactive menu items\n */\nconst menuItemBase = [\n \"relative flex cursor-default items-center rounded-[var(--menubar-item-radius)] text-[length:var(--menubar-item-text-size)] outline-hidden select-none\",\n \"data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-[var(--menubar-item-icon-size)]\",\n]\n\n/**\n * Menubar root variant styles\n */\nexport const menubarVariants = cva([\n \"bg-background flex h-[var(--menubar-root-height)] items-center gap-[var(--menubar-root-gap)] rounded-[var(--menubar-root-radius)] border-[var(--menubar-root-border-width)] p-[var(--menubar-root-padding)] shadow-[var(--menubar-root-shadow)]\",\n])\n\n/**\n * MenubarTrigger variant styles\n */\nexport const menubarTriggerVariants = cva([\n FOCUS_ACCENT_STYLES,\n \"data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n \"flex items-center rounded-[var(--menubar-trigger-radius)] px-[var(--menubar-trigger-padding-x)] py-[var(--menubar-trigger-padding-y)] text-[length:var(--menubar-trigger-text-size)] font-medium outline-hidden select-none\",\n])\n\n/**\n * MenubarContent variant styles\n */\nexport const menubarContentVariants = cva([\n ...menuContentBase,\n \"min-w-[var(--menubar-content-min-width)] shadow-md\",\n \"origin-(--radix-menubar-content-transform-origin)\",\n])\n\n/**\n * MenubarSubContent variant styles\n */\nexport const menubarSubContentVariants = cva([\n ...menuContentBase,\n \"min-w-[var(--menubar-content-sub-min-width)] shadow-lg\",\n \"origin-(--radix-menubar-content-transform-origin)\",\n])\n\n/**\n * MenubarItem variant styles\n */\nexport const menubarItemVariants = cva(\n [\n ...menuItemBase,\n \"[&_svg:not([class*='text-'])]:text-muted-foreground\",\n \"px-[var(--menubar-item-padding-x)] py-[var(--menubar-item-padding-y)] gap-[var(--menubar-item-gap)]\",\n ],\n {\n variants: {\n inset: {\n true: \"pl-[var(--menubar-item-inset-padding-left)]\",\n false: \"\",\n },\n variant: {\n default: \"focus:bg-accent focus:text-accent-foreground\",\n destructive: [\n \"text-destructive\",\n \"focus:bg-destructive/10 dark:focus:bg-destructive/20\",\n \"focus:text-destructive\",\n \"*:[svg]:!text-destructive\",\n ],\n },\n },\n defaultVariants: {\n inset: false,\n variant: \"default\",\n },\n }\n)\n\n/**\n * MenubarSubTrigger variant styles\n */\nexport const menubarSubTriggerVariants = cva(\n [\n \"focus:bg-accent focus:text-accent-foreground\",\n \"data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n \"flex cursor-default items-center rounded-[var(--menubar-item-radius)] px-[var(--menubar-item-padding-x)] py-[var(--menubar-item-padding-y)] text-[length:var(--menubar-item-text-size)] outline-none select-none\",\n ],\n {\n variants: {\n inset: {\n true: \"pl-[var(--menubar-item-inset-padding-left)]\",\n false: \"\",\n },\n },\n defaultVariants: {\n inset: false,\n },\n }\n)\n\n/**\n * MenubarCheckboxItem variant styles\n */\nexport const menubarCheckboxItemVariants = cva([\n ...menuItemBase,\n \"focus:bg-accent focus:text-accent-foreground\",\n \"py-[var(--menubar-item-padding-y)] pr-[var(--menubar-item-padding-x)] pl-[var(--menubar-item-inset-padding-left)] gap-[var(--menubar-item-gap)] rounded-[var(--menubar-checkbox-radius)]\",\n])\n\n/**\n * MenubarRadioItem variant styles\n */\nexport const menubarRadioItemVariants = cva([\n ...menuItemBase,\n \"focus:bg-accent focus:text-accent-foreground\",\n \"py-[var(--menubar-item-padding-y)] pr-[var(--menubar-item-padding-x)] pl-[var(--menubar-item-inset-padding-left)] gap-[var(--menubar-item-gap)] rounded-[var(--menubar-radio-radius)]\",\n])\n\n/**\n * MenubarLabel variant styles\n */\nexport const menubarLabelVariants = cva(\n [\"px-[var(--menubar-item-padding-x)] py-[var(--menubar-item-padding-y)] text-[length:var(--menubar-item-text-size)] font-medium\"],\n {\n variants: {\n inset: {\n true: \"pl-[var(--menubar-item-inset-padding-left)]\",\n false: \"\",\n },\n },\n defaultVariants: {\n inset: false,\n },\n }\n)\n\n/**\n * MenubarSeparator variant styles\n */\nexport const menubarSeparatorVariants = cva([\"bg-border -mx-[var(--menubar-separator-margin-x)] my-[var(--menubar-separator-margin-y)] h-[var(--menubar-separator-height)]\"])\n\n/**\n * MenubarShortcut variant styles\n */\nexport const menubarShortcutVariants = cva([\n \"text-muted-foreground ml-auto text-[length:var(--menubar-shortcut-text-size)] tracking-widest\",\n])\n\n/**\n * Item indicator wrapper styles\n */\nexport const menubarIndicatorWrapperVariants = cva([\n \"pointer-events-none absolute left-[var(--menubar-indicator-left)] flex size-[var(--menubar-indicator-size)] items-center justify-center\",\n])\n\nexport type MenubarItemVariantProps = VariantProps<typeof menubarItemVariants>\nexport type MenubarSubTriggerVariantProps = VariantProps<\n typeof menubarSubTriggerVariants\n>\nexport type MenubarLabelVariantProps = VariantProps<typeof menubarLabelVariants>\n","\"use client\"\n\nimport type {\n MenubarCheckboxItemProps,\n MenubarContentProps,\n MenubarGroupProps,\n MenubarItemProps,\n MenubarLabelProps,\n MenubarMenuProps,\n MenubarPortalProps,\n MenubarProps,\n MenubarRadioGroupProps,\n MenubarRadioItemProps,\n MenubarSeparatorProps,\n MenubarShortcutProps,\n MenubarSubContentProps,\n MenubarSubProps,\n MenubarSubTriggerProps,\n MenubarTriggerProps,\n} from \"./Menubar.types\"\n\nimport * as MenubarPrimitive from \"@radix-ui/react-menubar\"\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n menubarCheckboxItemVariants,\n menubarContentVariants,\n menubarIndicatorWrapperVariants,\n menubarItemVariants,\n menubarLabelVariants,\n menubarRadioItemVariants,\n menubarSeparatorVariants,\n menubarShortcutVariants,\n menubarSubContentVariants,\n menubarSubTriggerVariants,\n menubarTriggerVariants,\n menubarVariants,\n} from \"./Menubar.variants\"\n\n/**\n * Menubar - A horizontal menu bar for application navigation.\n *\n * Built on top of Radix UI Menubar primitive with additional styling.\n * Provides a desktop-style menu bar with dropdown menus.\n *\n * @example\n * <Menubar>\n * <MenubarMenu>\n * <MenubarTrigger>File</MenubarTrigger>\n * <MenubarContent>\n * <MenubarItem>New</MenubarItem>\n * <MenubarItem>Open</MenubarItem>\n * </MenubarContent>\n * </MenubarMenu>\n * </Menubar>\n */\nfunction Menubar({ className, ...props }: MenubarProps) {\n return (\n <MenubarPrimitive.Root\n className={cn(menubarVariants(), className)}\n data-slot=\"menubar\"\n {...props}\n />\n )\n}\n\n/**\n * MenubarMenu - Container for a single menu within the menubar.\n */\nfunction MenubarMenu({ ...props }: MenubarMenuProps) {\n return <MenubarPrimitive.Menu data-slot=\"menubar-menu\" {...props} />\n}\n\n/**\n * MenubarGroup - Groups related menu items together.\n */\nfunction MenubarGroup({ ...props }: MenubarGroupProps) {\n return <MenubarPrimitive.Group data-slot=\"menubar-group\" {...props} />\n}\n\n/**\n * MenubarPortal - Renders menubar content in a portal.\n */\nfunction MenubarPortal({ ...props }: MenubarPortalProps) {\n return <MenubarPrimitive.Portal data-slot=\"menubar-portal\" {...props} />\n}\n\n/**\n * MenubarRadioGroup - Groups radio items together.\n */\nfunction MenubarRadioGroup({ ...props }: MenubarRadioGroupProps) {\n return (\n <MenubarPrimitive.RadioGroup data-slot=\"menubar-radio-group\" {...props} />\n )\n}\n\n/**\n * MenubarTrigger - Button that opens a menu in the menubar.\n */\nfunction MenubarTrigger({ className, ...props }: MenubarTriggerProps) {\n return (\n <MenubarPrimitive.Trigger\n className={cn(menubarTriggerVariants(), className)}\n data-slot=\"menubar-trigger\"\n {...props}\n />\n )\n}\n\n/**\n * MenubarContent - Main content container for a menu.\n */\nfunction MenubarContent({\n className,\n align = \"start\",\n alignOffset = -4,\n sideOffset = 8,\n ...props\n}: MenubarContentProps) {\n return (\n <MenubarPortal>\n <MenubarPrimitive.Content\n align={align}\n alignOffset={alignOffset}\n className={cn(menubarContentVariants(), className)}\n data-slot=\"menubar-content\"\n sideOffset={sideOffset}\n {...props}\n />\n </MenubarPortal>\n )\n}\n\n/**\n * MenubarItem - An interactive menu item.\n *\n * Supports inset layout and destructive variant.\n */\nfunction MenubarItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: MenubarItemProps) {\n return (\n <MenubarPrimitive.Item\n className={cn(menubarItemVariants({ inset, variant }), className)}\n data-inset={inset}\n data-slot=\"menubar-item\"\n data-variant={variant}\n {...props}\n />\n )\n}\n\n/**\n * MenubarCheckboxItem - A menu item that can be checked/unchecked.\n */\nfunction MenubarCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: MenubarCheckboxItemProps) {\n return (\n <MenubarPrimitive.CheckboxItem\n checked={checked ?? false}\n className={cn(menubarCheckboxItemVariants(), className)}\n data-slot=\"menubar-checkbox-item\"\n {...props}\n >\n <span className={cn(menubarIndicatorWrapperVariants())}>\n <MenubarPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n )\n}\n\n/**\n * MenubarRadioItem - A radio menu item within a radio group.\n */\nfunction MenubarRadioItem({\n className,\n children,\n ...props\n}: MenubarRadioItemProps) {\n return (\n <MenubarPrimitive.RadioItem\n className={cn(menubarRadioItemVariants(), className)}\n data-slot=\"menubar-radio-item\"\n {...props}\n >\n <span className={cn(menubarIndicatorWrapperVariants())}>\n <MenubarPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n )\n}\n\n/**\n * MenubarLabel - A non-interactive label for menu sections.\n */\nfunction MenubarLabel({ className, inset, ...props }: MenubarLabelProps) {\n return (\n <MenubarPrimitive.Label\n className={cn(menubarLabelVariants({ inset }), className)}\n data-inset={inset}\n data-slot=\"menubar-label\"\n {...props}\n />\n )\n}\n\n/**\n * MenubarSeparator - A visual separator between menu sections.\n */\nfunction MenubarSeparator({ className, ...props }: MenubarSeparatorProps) {\n return (\n <MenubarPrimitive.Separator\n className={cn(menubarSeparatorVariants(), className)}\n data-slot=\"menubar-separator\"\n {...props}\n />\n )\n}\n\n/**\n * MenubarShortcut - Displays keyboard shortcut hints.\n */\nfunction MenubarShortcut({ className, ...props }: MenubarShortcutProps) {\n return (\n <span\n className={cn(menubarShortcutVariants(), className)}\n data-slot=\"menubar-shortcut\"\n {...props}\n />\n )\n}\n\n/**\n * MenubarSub - Container for nested submenus.\n */\nfunction MenubarSub({ ...props }: MenubarSubProps) {\n return <MenubarPrimitive.Sub data-slot=\"menubar-sub\" {...props} />\n}\n\n/**\n * MenubarSubTrigger - Trigger for opening a submenu.\n *\n * Includes a chevron icon indicator.\n */\nfunction MenubarSubTrigger({\n className,\n inset,\n children,\n ...props\n}: MenubarSubTriggerProps) {\n return (\n <MenubarPrimitive.SubTrigger\n className={cn(menubarSubTriggerVariants({ inset }), className)}\n data-inset={inset}\n data-slot=\"menubar-sub-trigger\"\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto h-4 w-4\" />\n </MenubarPrimitive.SubTrigger>\n )\n}\n\n/**\n * MenubarSubContent - Content container for submenus.\n */\nfunction MenubarSubContent({ className, ...props }: MenubarSubContentProps) {\n return (\n <MenubarPrimitive.SubContent\n className={cn(menubarSubContentVariants(), className)}\n data-slot=\"menubar-sub-content\"\n {...props}\n />\n )\n}\n\nexport {\n Menubar,\n MenubarCheckboxItem,\n MenubarContent,\n MenubarGroup,\n MenubarItem,\n MenubarLabel,\n MenubarMenu,\n MenubarPortal,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarSeparator,\n MenubarShortcut,\n MenubarSub,\n MenubarSubContent,\n MenubarSubTrigger,\n MenubarTrigger,\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/navigation/AccountSwitch/AccountSwitch.tsx"],"names":[],"mappings":"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","file":"chunk-W3JVNX35.js","sourcesContent":["\"use client\";\n\nimport type {\n AccountSwitchAccount,\n AccountSwitchProps,\n} from \"./AccountSwitch.types\";\n\nimport { Check, ChevronsUpDown } from \"lucide-react\";\n\nimport { cn } from \"../../../lib/utils\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"../../primitives/Avatar\";\nimport { Badge } from \"../../primitives/Badge\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n} from \"../DropdownMenu\";\n\nconst MAX_NAVIGATION_DEPTH = 3;\n\nfunction getCurrentAccount(\n accounts: AccountSwitchAccount[],\n): AccountSwitchAccount | undefined {\n for (const account of accounts) {\n if (account.isCurrent) {\n return account;\n }\n\n const currentChild = getCurrentAccount(account.children ?? []);\n if (currentChild) {\n return currentChild;\n }\n }\n\n return undefined;\n}\n\nfunction AccountSwitchItemContent({\n account,\n isCurrent,\n}: {\n account: AccountSwitchAccount;\n isCurrent: boolean;\n}) {\n return (\n <>\n {account.logo ?? (\n <Avatar size=\"xs\">\n {account.avatarSrc && (\n <AvatarImage alt={account.name} src={account.avatarSrc} />\n )}\n <AvatarFallback>\n {account.avatarFallback ?? account.name.charAt(0)}\n </AvatarFallback>\n </Avatar>\n )}\n <span className=\"min-w-0 flex-1 truncate\">{account.name}</span>\n {account.plan && (\n <Badge\n color={account.plan === \"PRO\" ? \"primary\" : \"muted\"}\n size=\"sm\"\n type=\"pill-color\"\n >\n {account.plan}\n </Badge>\n )}\n {isCurrent && (\n <Check aria-hidden=\"true\" className=\"size-3.5 text-primary\" />\n )}\n </>\n );\n}\n\nfunction AccountSwitch({\n className,\n accounts,\n triggerShape = \"pill\",\n placement = \"sidebar\",\n header,\n footer,\n onSelect,\n ...props\n}: AccountSwitchProps) {\n const currentAccount = getCurrentAccount(accounts) ?? accounts[0];\n const contentAlign = placement === \"header\" ? \"end\" : \"start\";\n\n const handleSelect = (account: AccountSwitchAccount) => {\n if (!account.disabled && account.id !== currentAccount?.id) {\n onSelect?.(account);\n }\n };\n\n const renderAccountItem = (account: AccountSwitchAccount, depth: number) => {\n const children =\n depth < MAX_NAVIGATION_DEPTH ? (account.children ?? []) : [];\n const hasChildren = children.length > 0;\n const isCurrent = account.id === currentAccount?.id;\n const stateProps = {\n \"aria-current\": isCurrent ? (\"true\" as const) : undefined,\n \"data-selected\": isCurrent ? \"true\" : undefined,\n };\n\n if (hasChildren) {\n return (\n <DropdownMenuSub key={account.id}>\n <DropdownMenuSubTrigger\n className={cn(\n \"flex min-w-0 items-center gap-2\",\n isCurrent && \"bg-accent text-accent-foreground\",\n )}\n data-account-switch-level={depth}\n disabled={account.disabled}\n {...stateProps}\n >\n <AccountSwitchItemContent account={account} isCurrent={isCurrent} />\n </DropdownMenuSubTrigger>\n <DropdownMenuSubContent\n className=\"min-w-[var(--account-switch-content-min-width)]\"\n data-account-switch-level={depth + 1}\n >\n <DropdownMenuGroup>\n {children.map((childAccount) =>\n renderAccountItem(childAccount, depth + 1),\n )}\n </DropdownMenuGroup>\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n );\n }\n\n return (\n <DropdownMenuItem\n key={account.id}\n className={cn(\n \"flex min-w-0 items-center gap-2\",\n isCurrent && \"bg-accent text-accent-foreground\",\n )}\n data-account-switch-level={depth}\n disabled={account.disabled}\n onClick={() => {\n handleSelect(account);\n }}\n {...stateProps}\n >\n <AccountSwitchItemContent account={account} isCurrent={isCurrent} />\n </DropdownMenuItem>\n );\n };\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <button\n className={cn(\n \"inline-flex min-w-0 items-center gap-2 h-[var(--input-size-md-h)] border transition-colors hover:bg-accent/50 focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none\",\n triggerShape === \"pill\"\n ? \"rounded-full pl-1.5 pr-3 bg-card text-card-foreground\"\n : [\n // Figma 1138:2522 \"Input\" — bg background, border input, radius md;\n // inside an icon-collapsed sidebar only the logo remains (2418:9772)\n \"rounded-[var(--radius-md)] px-3 bg-background text-foreground\",\n \"border-[color:var(--input-border-default)]\",\n \"group-data-[collapsible=icon]:px-2\",\n ],\n className,\n )}\n data-placement={placement}\n data-slot=\"account-switch-trigger\"\n type=\"button\"\n {...props}\n >\n {currentAccount && (\n <>\n {currentAccount.logo ?? (\n <Avatar size=\"xs\">\n {currentAccount.avatarSrc && (\n <AvatarImage\n alt={currentAccount.name}\n src={currentAccount.avatarSrc}\n />\n )}\n <AvatarFallback>\n {currentAccount.avatarFallback ??\n currentAccount.name.charAt(0)}\n </AvatarFallback>\n </Avatar>\n )}\n <span\n className={cn(\n \"truncate max-w-[var(--account-switch-name-max-width)]\",\n // Figma 1138:2523 — rect/sidebar name is 16px regular muted-foreground\n triggerShape === \"pill\"\n ? \"text-sm font-medium\"\n : \"text-base font-normal text-muted-foreground group-data-[collapsible=icon]:hidden\",\n )}\n >\n {currentAccount.name}\n </span>\n </>\n )}\n <ChevronsUpDown\n className={cn(\n \"text-muted-foreground shrink-0 ml-auto\",\n triggerShape === \"pill\"\n ? \"size-3.5\"\n : \"size-4 group-data-[collapsible=icon]:hidden\",\n )}\n aria-hidden=\"true\"\n />\n </button>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align={contentAlign}\n className=\"min-w-[var(--account-switch-content-min-width)]\"\n data-placement={placement}\n data-slot=\"account-switch-content\"\n >\n {header && (\n <>\n <div className=\"px-2 py-1.5\">{header}</div>\n <DropdownMenuSeparator />\n </>\n )}\n <DropdownMenuLabel className=\"text-xs font-medium text-muted-foreground uppercase tracking-wider\">\n Contas\n </DropdownMenuLabel>\n <DropdownMenuGroup>\n {accounts.map((account) => renderAccountItem(account, 1))}\n </DropdownMenuGroup>\n {footer && (\n <>\n <DropdownMenuSeparator />\n {footer}\n </>\n )}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\nexport { AccountSwitch };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/forms/ColorPicker/ColorPicker.variants.ts","../src/components/forms/ColorPicker/colorMath.ts","../src/components/forms/ColorPicker/ColorPickerPanel.tsx","../src/components/forms/ColorPicker/ColorPicker.tsx"],"names":["m","React2","jsxs","jsx"],"mappings":"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","file":"chunk-WKWLKGNI.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * ColorPicker trigger variant styles using CVA\n */\nexport const colorPickerTriggerVariants = cva(\n // Base styles\n [\n \"inline-flex w-full items-center justify-between gap-2 rounded-[var(--color-picker-trigger-radius)] border bg-transparent font-normal transition-[color,box-shadow] outline-none\",\n \"text-left\",\n \"placeholder:text-muted-foreground\",\n \"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\",\n \"focus-visible:border-[color:var(--color-picker-focus-ring-primary)] focus-visible:ring-[color:var(--color-picker-focus-ring-primary)]/50 focus-visible:ring-[length:var(--color-picker-focus-ring-width)]\",\n \"aria-invalid:ring-[color:var(--color-picker-focus-ring-destructive)]/20 dark:aria-invalid:ring-[color:var(--color-picker-focus-ring-destructive)]/40 aria-invalid:border-[color:var(--color-picker-focus-ring-destructive)]\",\n ],\n {\n variants: {\n size: {\n sm: \"h-9 px-2.5 py-1 text-sm\",\n md: \"h-10 px-3 py-1 text-base md:text-sm\",\n lg: \"h-11 px-3.5 py-1.5 text-base\",\n },\n variant: {\n default: \"border-input shadow-xs dark:bg-input/30\",\n filled: \"border-transparent bg-muted\",\n flushed: \"rounded-none border-x-0 border-t-0 border-b-input px-0\",\n },\n },\n defaultVariants: {\n size: \"md\",\n variant: \"default\",\n },\n }\n)\n\n/**\n * ColorPicker swatch styles using CVA\n */\nexport const colorPickerSwatchVariants = cva(\n // Base styles\n [\n \"rounded-[var(--color-picker-swatch-radius)] border border-input cursor-pointer transition-all\",\n \"hover:scale-110 hover:border-ring\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n ],\n {\n variants: {\n size: {\n sm: \"size-5\",\n md: \"size-6\",\n lg: \"size-7\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n/**\n * ColorPicker preview swatch (in trigger) styles\n */\nexport const colorPickerPreviewVariants = cva(\n // Base styles\n [\n \"rounded-[var(--color-picker-swatch-radius)] border border-input shrink-0\",\n ],\n {\n variants: {\n size: {\n sm: \"size-4\",\n md: \"size-5\",\n lg: \"size-6\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\nexport type ColorPickerTriggerVariantProps = VariantProps<typeof colorPickerTriggerVariants>\nexport type ColorPickerSwatchVariantProps = VariantProps<typeof colorPickerSwatchVariants>\nexport type ColorPickerPreviewVariantProps = VariantProps<typeof colorPickerPreviewVariants>\n","/**\n * Color conversion helpers for the ColorPicker visual picker (DES-1256 item 3).\n *\n * All hue values are 0–360; saturation/value/lightness are 0–100; alpha is 0–1;\n * RGB channels are 0–255. Internal module — not exported from the package.\n */\n\nexport interface RGBA {\n /** 0–1 */\n a: number\n /** 0–255 */\n b: number\n /** 0–255 */\n g: number\n /** 0–255 */\n r: number\n}\n\nexport interface HSV {\n /** 0–360 */\n h: number\n /** 0–100 */\n s: number\n /** 0–100 */\n v: number\n}\n\nexport interface HSL {\n /** 0–360 */\n h: number\n /** 0–100 */\n l: number\n /** 0–100 */\n s: number\n}\n\nexport type ColorFormat = \"hex\" | \"hsl\" | \"rgb\"\n\nconst clamp = (n: number, min: number, max: number): number =>\n Math.min(max, Math.max(min, n))\n\n/**\n * Parse a hex string (3/4/6/8 digits, optional leading `#`) into RGBA.\n * Returns null when the string is not a valid hex color.\n */\nexport function hexToRgba(hex: string): null | RGBA {\n const match = /^#?([0-9a-f]{3,8})$/i.exec(hex.trim())\n if (!match?.[1]) return null\n let h = match[1]\n if (h.length === 3 || h.length === 4) {\n h = h.replaceAll(/./g, (c) => c + c)\n }\n if (h.length !== 6 && h.length !== 8) return null\n return {\n r: Number.parseInt(h.slice(0, 2), 16),\n g: Number.parseInt(h.slice(2, 4), 16),\n b: Number.parseInt(h.slice(4, 6), 16),\n a: h.length === 8 ? Number.parseInt(h.slice(6, 8), 16) / 255 : 1,\n }\n}\n\nconst toHex2 = (n: number): string =>\n clamp(Math.round(n), 0, 255).toString(16).padStart(2, \"0\")\n\n/** RGBA → hex string. 6-digit when fully opaque, 8-digit (`#rrggbbaa`) otherwise. */\nexport function rgbaToHex({ r, g, b, a }: RGBA): string {\n const base = `#${toHex2(r)}${toHex2(g)}${toHex2(b)}`\n return a >= 1 ? base : base + toHex2(clamp(a, 0, 1) * 255)\n}\n\n/** Shared hue→rgb chroma distribution used by HSV and HSL conversions. */\nfunction chromaToRgb(h: number, c: number, x: number, m: number): RGBA {\n const [rp, gp, bp] =\n h < 60\n ? [c, x, 0]\n : h < 120\n ? [x, c, 0]\n : h < 180\n ? [0, c, x]\n : h < 240\n ? [0, x, c]\n : h < 300\n ? [x, 0, c]\n : [c, 0, x]\n return {\n r: Math.round((rp + m) * 255),\n g: Math.round((gp + m) * 255),\n b: Math.round((bp + m) * 255),\n a: 1,\n }\n}\n\nexport function rgbToHsv(r: number, g: number, b: number): HSV {\n const rn = r / 255\n const gn = g / 255\n const bn = b / 255\n const max = Math.max(rn, gn, bn)\n const min = Math.min(rn, gn, bn)\n const d = max - min\n let h = 0\n if (d !== 0) {\n if (max === rn) h = ((gn - bn) / d) % 6\n else if (max === gn) h = (bn - rn) / d + 2\n else h = (rn - gn) / d + 4\n h *= 60\n if (h < 0) h += 360\n }\n return { h, s: (max === 0 ? 0 : d / max) * 100, v: max * 100 }\n}\n\nexport function hsvToRgb(h: number, s: number, v: number): RGBA {\n const sn = s / 100\n const vn = v / 100\n const c = vn * sn\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1))\n return chromaToRgb(h, c, x, vn - c)\n}\n\nexport function rgbToHsl(r: number, g: number, b: number): HSL {\n const rn = r / 255\n const gn = g / 255\n const bn = b / 255\n const max = Math.max(rn, gn, bn)\n const min = Math.min(rn, gn, bn)\n const d = max - min\n const l = (max + min) / 2\n let h = 0\n let s = 0\n if (d !== 0) {\n s = d / (1 - Math.abs(2 * l - 1))\n if (max === rn) h = ((gn - bn) / d) % 6\n else if (max === gn) h = (bn - rn) / d + 2\n else h = (rn - gn) / d + 4\n h *= 60\n if (h < 0) h += 360\n }\n return { h, s: s * 100, l: l * 100 }\n}\n\nexport function hslToRgb(h: number, s: number, l: number): RGBA {\n const sn = s / 100\n const ln = l / 100\n const c = (1 - Math.abs(2 * ln - 1)) * sn\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1))\n return chromaToRgb(h, c, x, ln - c / 2)\n}\n\n/** Format an RGBA color as a string in the requested format. */\nexport function formatColor(rgba: RGBA, format: ColorFormat): string {\n const { r, g, b, a } = rgba\n if (format === \"hex\") return rgbaToHex(rgba).toUpperCase()\n if (format === \"rgb\") {\n const rgb = `${String(Math.round(r))}, ${String(Math.round(g))}, ${String(Math.round(b))}`\n return a >= 1 ? `rgb(${rgb})` : `rgba(${rgb}, ${String(Number(a.toFixed(2)))})`\n }\n const { h, s, l } = rgbToHsl(r, g, b)\n const hsl = `${String(Math.round(h))}, ${String(Math.round(s))}%, ${String(Math.round(l))}%`\n return a >= 1 ? `hsl(${hsl})` : `hsla(${hsl}, ${String(Number(a.toFixed(2)))})`\n}\n\n/** Parse a user-typed string in the given format into RGBA (null when invalid). */\nexport function parseColor(input: string, format: ColorFormat): null | RGBA {\n const str = input.trim()\n if (format === \"hex\") return hexToRgba(str)\n if (format === \"rgb\") {\n const m =\n /^rgba?\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\s*(?:,\\s*([\\d.]+)\\s*)?\\)$/i.exec(\n str\n )\n if (!m) return null\n return {\n r: clamp(Math.round(Number(m[1])), 0, 255),\n g: clamp(Math.round(Number(m[2])), 0, 255),\n b: clamp(Math.round(Number(m[3])), 0, 255),\n a: m[4] === undefined ? 1 : clamp(Number(m[4]), 0, 1),\n }\n }\n const m =\n /^hsla?\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)%?\\s*,\\s*([\\d.]+)%?\\s*(?:,\\s*([\\d.]+)\\s*)?\\)$/i.exec(\n str\n )\n if (!m) return null\n const rgb = hslToRgb(\n Number(m[1]),\n clamp(Number(m[2]), 0, 100),\n clamp(Number(m[3]), 0, 100)\n )\n return { ...rgb, a: m[4] === undefined ? 1 : clamp(Number(m[4]), 0, 1) }\n}\n","\"use client\"\n\nimport type { ColorFormat, RGBA } from \"./colorMath\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n formatColor,\n hexToRgba,\n hsvToRgb,\n parseColor,\n rgbaToHex,\n rgbToHsv,\n} from \"./colorMath\"\n\nconst FORMATS: ColorFormat[] = [\"hex\", \"rgb\", \"hsl\"]\n\nconst clampPct = (n: number): number => Math.min(100, Math.max(0, n))\n\nconst HUE_TRACK =\n \"linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%)\"\n\nconst CHECKERBOARD =\n \"repeating-conic-gradient(#bbb 0% 25%, #fff 0% 50%) 50% / 12px 12px\"\n\n// Color-space overlays for the saturation/value area (white = desaturate, black =\n// darken). Held as consts — like HUE_TRACK — since these axes are not tokenizable.\nconst SATURATION_WHITE = \"linear-gradient(to right, #fff, rgba(255,255,255,0))\"\nconst SATURATION_BLACK = \"linear-gradient(to top, #000, rgba(0,0,0,0))\"\n\nconst thumbClass =\n \"pointer-events-none absolute -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-white ring-1 ring-black/30\"\n\n// ─────────────────────────── Saturation / Value area ───────────────────────────\n\ninterface SaturationAreaProps {\n hue: number\n onChange: (s: number, v: number) => void\n s: number\n v: number\n}\n\nfunction SaturationArea({ hue, s, v, onChange }: SaturationAreaProps) {\n const ref = React.useRef<HTMLDivElement>(null)\n\n const setFromPoint = (clientX: number, clientY: number) => {\n const el = ref.current\n if (!el) return\n const rect = el.getBoundingClientRect()\n onChange(\n clampPct(((clientX - rect.left) / rect.width) * 100),\n clampPct((1 - (clientY - rect.top) / rect.height) * 100)\n )\n }\n\n const handlePointerDown = (e: React.PointerEvent<HTMLDivElement>) => {\n e.currentTarget.setPointerCapture(e.pointerId)\n setFromPoint(e.clientX, e.clientY)\n }\n\n const handlePointerMove = (e: React.PointerEvent<HTMLDivElement>) => {\n if (e.buttons !== 1) return\n setFromPoint(e.clientX, e.clientY)\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n const step = e.shiftKey ? 10 : 1\n let ns = s\n let nv = v\n let handled = true\n if (e.key === \"ArrowRight\") ns = clampPct(s + step)\n else if (e.key === \"ArrowLeft\") ns = clampPct(s - step)\n else if (e.key === \"ArrowUp\") nv = clampPct(v + step)\n else if (e.key === \"ArrowDown\") nv = clampPct(v - step)\n else handled = false\n if (handled) {\n e.preventDefault()\n onChange(ns, nv)\n }\n }\n\n return (\n <div\n ref={ref}\n aria-label=\"Saturation and brightness\"\n aria-valuetext={`Saturation ${String(Math.round(s))}%, brightness ${String(Math.round(v))}%`}\n className=\"relative h-40 w-full touch-none cursor-crosshair overflow-hidden rounded-md outline-none focus-visible:ring-[length:var(--color-picker-focus-ring-width)] focus-visible:ring-[color:var(--color-picker-focus-ring-primary)]/50\"\n data-slot=\"color-picker-area\"\n role=\"slider\"\n style={{ backgroundColor: `hsl(${String(hue)}, 100%, 50%)` }}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n >\n <div className=\"absolute inset-0\" style={{ background: SATURATION_WHITE }} />\n <div className=\"absolute inset-0\" style={{ background: SATURATION_BLACK }} />\n <span\n style={{\n left: `${String(s)}%`,\n top: `${String(100 - v)}%`,\n backgroundColor: rgbaToHex(hsvToRgb(hue, s, v)),\n }}\n className={cn(thumbClass, \"size-3.5\")}\n data-slot=\"color-picker-area-thumb\"\n />\n </div>\n )\n}\n\n// ─────────────────────────────── 1D color slider ───────────────────────────────\n\ninterface ColorSliderProps {\n ariaLabel: string\n max: number\n onChange: (value: number) => void\n thumbColor: string\n trackStyle: React.CSSProperties\n value: number\n}\n\nfunction ColorSlider({\n ariaLabel,\n max,\n thumbColor,\n trackStyle,\n value,\n onChange,\n}: ColorSliderProps) {\n const ref = React.useRef<HTMLDivElement>(null)\n\n const setFromPoint = (clientX: number) => {\n const el = ref.current\n if (!el) return\n const rect = el.getBoundingClientRect()\n const next = ((clientX - rect.left) / rect.width) * max\n onChange(Math.min(max, Math.max(0, next)))\n }\n\n const handlePointerDown = (e: React.PointerEvent<HTMLDivElement>) => {\n e.currentTarget.setPointerCapture(e.pointerId)\n setFromPoint(e.clientX)\n }\n\n const handlePointerMove = (e: React.PointerEvent<HTMLDivElement>) => {\n if (e.buttons !== 1) return\n setFromPoint(e.clientX)\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n const step = (e.shiftKey ? 10 : 1) * (max / 100)\n let next = value\n let handled = true\n if (e.key === \"ArrowRight\" || e.key === \"ArrowUp\") next = Math.min(max, value + step)\n else if (e.key === \"ArrowLeft\" || e.key === \"ArrowDown\") next = Math.max(0, value - step)\n else if (e.key === \"Home\") next = 0\n else if (e.key === \"End\") next = max\n else handled = false\n if (handled) {\n e.preventDefault()\n onChange(next)\n }\n }\n\n return (\n <div\n ref={ref}\n aria-label={ariaLabel}\n aria-valuemax={max}\n aria-valuemin={0}\n aria-valuenow={Math.round(value)}\n className=\"relative h-3 w-full touch-none cursor-pointer rounded-full outline-none focus-visible:ring-[length:var(--color-picker-focus-ring-width)] focus-visible:ring-[color:var(--color-picker-focus-ring-primary)]/50\"\n role=\"slider\"\n style={trackStyle}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n >\n <span\n className={cn(thumbClass, \"top-1/2 size-4\")}\n style={{ left: `${String((value / max) * 100)}%`, backgroundColor: thumbColor }}\n />\n </div>\n )\n}\n\n// ─────────────────────────────────── Panel ─────────────────────────────────────\n\ninterface ColorPickerPanelProps {\n onChange: (hex: string) => void\n showAlpha: boolean\n showInput: boolean\n value: string\n}\n\nexport function ColorPickerPanel({\n showAlpha,\n showInput,\n value,\n onChange,\n}: ColorPickerPanelProps) {\n const initial = hexToRgba(value) ?? { r: 0, g: 0, b: 0, a: 1 }\n const [hsv, setHsv] = React.useState(() => rgbToHsv(initial.r, initial.g, initial.b))\n const [alpha, setAlpha] = React.useState(initial.a)\n const [format, setFormat] = React.useState<ColorFormat>(\"hex\")\n const [draft, setDraft] = React.useState(\"\")\n const lastEmittedRef = React.useRef(value)\n\n const rgba: RGBA = { ...hsvToRgb(hsv.h, hsv.s, hsv.v), a: alpha }\n const formatted = formatColor(rgba, format)\n\n // Sync external value changes (e.g. swatch clicks) into the internal HSV state,\n // skipping the echo of our own emits so dragging never loses hue at the edges.\n // Effects are the intended pattern here: resettable state derived from a prop +\n // a draft field that only re-syncs after a valid value is committed.\n /* eslint-disable react-you-might-not-need-an-effect/no-derived-state, react-you-might-not-need-an-effect/no-pass-data-to-parent, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect -- resettable state synced from the `value` prop */\n React.useEffect(() => {\n if (value === lastEmittedRef.current) return\n const next = hexToRgba(value)\n if (!next) return\n setHsv(rgbToHsv(next.r, next.g, next.b))\n setAlpha(next.a)\n }, [value])\n\n React.useEffect(() => {\n setDraft(formatted)\n }, [formatted])\n /* eslint-enable react-you-might-not-need-an-effect/no-derived-state, react-you-might-not-need-an-effect/no-pass-data-to-parent, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect */\n\n const emit = (nextHsv: { h: number; s: number; v: number }, nextAlpha: number) => {\n setHsv(nextHsv)\n setAlpha(nextAlpha)\n const hex = rgbaToHex({ ...hsvToRgb(nextHsv.h, nextHsv.s, nextHsv.v), a: nextAlpha })\n lastEmittedRef.current = hex\n onChange(hex)\n }\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const raw = e.target.value\n setDraft(raw)\n // While typing hex, only commit a complete 6/8-digit value so 3-digit\n // intermediates don't fire mid-keystroke (3-digit is accepted on blur).\n if (format === \"hex\" && !/^#?[0-9a-f]{6}(?:[0-9a-f]{2})?$/i.test(raw.trim())) return\n const parsed = parseColor(raw, format)\n if (parsed) emit(rgbToHsv(parsed.r, parsed.g, parsed.b), parsed.a)\n }\n\n const handleInputBlur = () => {\n const parsed = parseColor(draft, format)\n if (parsed) emit(rgbToHsv(parsed.r, parsed.g, parsed.b), parsed.a)\n else setDraft(formatted)\n }\n\n const solidHex = rgbaToHex(hsvToRgb(hsv.h, hsv.s, hsv.v))\n\n return (\n <div className=\"space-y-3\" data-slot=\"color-picker-panel\">\n <SaturationArea\n hue={hsv.h}\n s={hsv.s}\n v={hsv.v}\n onChange={(s, v) => { emit({ h: hsv.h, s, v }, alpha) }}\n />\n\n <div className=\"flex items-center gap-3\">\n <span\n style={{\n background: `linear-gradient(${rgbaToHex(rgba)}, ${rgbaToHex(rgba)}), ${CHECKERBOARD}`,\n }}\n aria-hidden=\"true\"\n className=\"size-9 shrink-0 rounded-full border border-[color:var(--color-picker-trigger-border)]\"\n data-slot=\"color-picker-panel-preview\"\n />\n <div className=\"flex-1 space-y-2\">\n <ColorSlider\n ariaLabel=\"Hue\"\n max={360}\n thumbColor={`hsl(${String(hsv.h)}, 100%, 50%)`}\n trackStyle={{ background: HUE_TRACK }}\n value={hsv.h}\n onChange={(h) => { emit({ h, s: hsv.s, v: hsv.v }, alpha) }}\n />\n {showAlpha && (\n <div className=\"relative rounded-full\" style={{ background: CHECKERBOARD }}>\n <ColorSlider\n trackStyle={{\n background: `linear-gradient(to right, rgba(0,0,0,0), ${solidHex})`,\n }}\n ariaLabel=\"Alpha\"\n max={1}\n thumbColor={solidHex}\n value={alpha}\n onChange={(a) => { emit(hsv, a) }}\n />\n </div>\n )}\n </div>\n </div>\n\n <div className=\"flex items-center gap-2\">\n <div aria-label=\"Color format\" className=\"flex gap-1\" role=\"group\">\n {FORMATS.map((f) => (\n <button\n key={f}\n className={cn(\n \"rounded-md px-2 py-1 text-xs font-medium uppercase transition-colors\",\n format === f\n ? \"bg-accent text-accent-foreground\"\n : \"text-muted-foreground hover:bg-accent/50\"\n )}\n aria-pressed={format === f}\n type=\"button\"\n onClick={() => { setFormat(f) }}\n >\n {f}\n </button>\n ))}\n </div>\n {showInput && (\n <input\n aria-label={`Color value (${format})`}\n className=\"flex h-9 w-full min-w-0 flex-1 rounded-md border border-input bg-transparent px-3 py-1 font-mono text-sm uppercase shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[color:var(--color-picker-focus-ring-primary)]/50 focus-visible:ring-[length:var(--color-picker-focus-ring-width)]\"\n data-slot=\"color-picker-input\"\n spellCheck={false}\n value={draft}\n onBlur={handleInputBlur}\n onChange={handleInputChange}\n />\n )}\n </div>\n </div>\n )\n}\n","import type { ColorPickerProps } from \"./ColorPicker.types\"\n\nimport { Palette } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"../../feedback/Popover\"\nimport {\n colorPickerPreviewVariants,\n colorPickerSwatchVariants,\n colorPickerTriggerVariants,\n} from \"./ColorPicker.variants\"\nimport { ColorPickerPanel } from \"./ColorPickerPanel\"\n\n/**\n * Normalizes a hex color to lowercase, expanding 3-digit shorthand to 6-digit.\n * 6- and 8-digit (`#rrggbbaa`) values pass through unchanged (just lowercased).\n */\nfunction normalizeHexColor(color: string): string {\n let normalized = color\n if (!normalized.startsWith(\"#\")) {\n normalized = `#${normalized}`\n }\n if (normalized.length === 4) {\n const r = normalized[1] ?? \"\"\n const g = normalized[2] ?? \"\"\n const b = normalized[3] ?? \"\"\n return `#${r}${r}${g}${g}${b}${b}`.toLowerCase()\n }\n return normalized.toLowerCase()\n}\n\n/**\n * Default preset swatches\n */\nconst DEFAULT_SWATCHES = [\n \"#ef4444\", // red\n \"#f97316\", // orange\n \"#eab308\", // yellow\n \"#22c55e\", // green\n \"#14b8a6\", // teal\n \"#3b82f6\", // blue\n \"#8b5cf6\", // violet\n \"#ec4899\", // pink\n \"#000000\", // black\n \"#ffffff\", // white\n]\n\nfunction ColorPicker({\n className,\n value,\n defaultValue,\n placeholder = \"Select color\",\n disabled = false,\n swatches = DEFAULT_SWATCHES,\n showInput = true,\n showAlpha = true,\n showPreview = true,\n onChange,\n onOpenChange,\n size = \"md\",\n variant = \"default\",\n required = false,\n invalid = false,\n id,\n name,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledby,\n ...props\n}: ColorPickerProps) {\n const [open, setOpen] = React.useState(false)\n const [internalColor, setInternalColor] = React.useState<string | undefined>(defaultValue)\n\n // Use controlled value if provided, otherwise use internal state\n const selectedColor = value ?? internalColor\n\n const handleColorChange = (color: string) => {\n const normalizedColor = normalizeHexColor(color)\n if (value === undefined) {\n setInternalColor(normalizedColor)\n }\n onChange?.(normalizedColor)\n }\n\n const handleSwatchClick = (color: string) => {\n handleColorChange(color)\n }\n\n const handleOpenChange = (isOpen: boolean) => {\n setOpen(isOpen)\n onOpenChange?.(isOpen)\n }\n\n return (\n <div className={cn(\"relative\", className)} data-slot=\"color-picker\" {...props}>\n <Popover open={open} onOpenChange={handleOpenChange}>\n <PopoverTrigger asChild>\n <button\n className={cn(\n colorPickerTriggerVariants({ size, variant }),\n !selectedColor && \"text-muted-foreground\"\n )}\n aria-expanded={open}\n aria-haspopup=\"dialog\"\n aria-invalid={invalid}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-required={required}\n data-has-value={!!selectedColor}\n data-size={size}\n data-slot=\"color-picker-trigger\"\n data-state={open ? \"open\" : \"closed\"}\n data-variant={variant}\n disabled={disabled}\n id={id}\n role=\"combobox\"\n type=\"button\"\n >\n <span className=\"flex items-center gap-2 flex-1 truncate\">\n {showPreview && selectedColor && (\n <span\n aria-hidden=\"true\"\n className={cn(colorPickerPreviewVariants({ size }))}\n data-slot=\"color-picker-preview\"\n style={{ backgroundColor: selectedColor }}\n />\n )}\n <span className=\"truncate\">\n {selectedColor ?? placeholder}\n </span>\n </span>\n <Palette aria-hidden=\"true\" className=\"size-4 shrink-0 opacity-50\" />\n </button>\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className=\"w-[var(--color-picker-content-width)] p-[var(--color-picker-content-padding)]\"\n data-slot=\"color-picker-content\"\n >\n <div className=\"space-y-3\">\n {/* Visual picker: saturation/value area + hue/alpha sliders + format input */}\n <ColorPickerPanel\n showAlpha={showAlpha}\n showInput={showInput}\n value={selectedColor ?? \"#000000\"}\n onChange={handleColorChange}\n />\n\n {/* Preset swatches */}\n {swatches.length > 0 ? (\n <div className=\"space-y-1.5\">\n <span className=\"text-xs text-muted-foreground font-medium\">\n Preset colors\n </span>\n <div\n aria-label=\"Color swatches\"\n className=\"grid grid-cols-5 gap-2\"\n data-slot=\"color-picker-swatches\"\n role=\"group\"\n >\n {swatches.map((color, index) => (\n <button\n key={`${color}-${String(index)}`}\n className={cn(\n colorPickerSwatchVariants({ size }),\n selectedColor === color && \"ring-2 ring-ring ring-offset-2\"\n )}\n aria-label={`Select color ${color}`}\n aria-pressed={selectedColor === color}\n data-color={color}\n data-selected={selectedColor === color}\n data-slot=\"color-picker-swatch\"\n style={{ backgroundColor: color }}\n type=\"button\"\n onClick={() => { handleSwatchClick(color); }}\n />\n ))}\n </div>\n </div>\n ) : null}\n </div>\n </PopoverContent>\n </Popover>\n {name && (\n <input\n name={name}\n type=\"hidden\"\n value={selectedColor ?? \"\"}\n />\n )}\n </div>\n )\n}\n\nexport { ColorPicker }\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/data-display/Callout/Callout.variants.ts","../src/components/data-display/Callout/Callout.tsx"],"names":[],"mappings":"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","file":"chunk-XLTSCY22.js","sourcesContent":["// Callout/Callout.variants.ts\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * Callout style variants using CVA\n *\n * @see https://cva.style/docs\n */\nexport const calloutVariants = cva(\n // Base styles (always applied)\n \"rounded-[var(--callout-root-radius)] border-l-[length:var(--callout-root-border-width)]\",\n {\n variants: {\n variant: {\n default: \"bg-muted/50 border-l-muted-foreground\",\n info: \"bg-[color:var(--info-subtle)] border-l-info\",\n warning: \"bg-[color:var(--warning-subtle)] border-l-warning\",\n error: \"bg-[color:var(--destructive-subtle)] border-l-destructive\",\n success: \"bg-[color:var(--success-subtle)] border-l-success\",\n tip: \"bg-[color:var(--tip-bg)] border-l-tip\",\n transparent: \"bg-transparent border-l-muted-foreground\",\n },\n size: {\n sm: \"p-[var(--callout-root-padding-sm)] text-[length:var(--callout-text-sm)]\",\n md: \"px-[var(--callout-root-padding-md)] py-[var(--callout-root-padding-sm)] text-[length:var(--callout-text-md)]\",\n lg: \"p-[var(--callout-root-padding-lg)] text-[length:var(--callout-text-lg)]\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n }\n)\n\n/**\n * Icon color mapping by variant\n */\nexport const iconColorVariants: Record<string, string> = {\n default: \"text-muted-foreground\",\n info: \"text-info\",\n warning: \"text-warning\",\n error: \"text-destructive\",\n success: \"text-success\",\n tip: \"text-tip\",\n transparent: \"text-muted-foreground\",\n}\n\n// Export variant prop types\nexport type CalloutVariantProps = VariantProps<typeof calloutVariants>\n","import type { VariantProps } from \"class-variance-authority\"\n\nimport {\n CircleCheck,\n CircleX,\n FileText,\n Info,\n Lightbulb,\n TriangleAlert,\n} from \"lucide-react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { calloutVariants, iconColorVariants } from \"./Callout.variants\"\n\nconst variantIcons = {\n default: FileText,\n info: Info,\n warning: TriangleAlert,\n error: CircleX,\n success: CircleCheck,\n tip: Lightbulb,\n transparent: FileText,\n}\n\ninterface CalloutProps\n extends React.ComponentProps<\"div\">,\n VariantProps<typeof calloutVariants> {\n /** Custom icon to display (overrides variant icon) */\n icon?: React.ReactNode\n /** Title of the callout */\n title?: string\n}\n\nfunction Callout({\n children,\n className,\n icon,\n size,\n title,\n variant = \"default\",\n role,\n ...props\n}: CalloutProps) {\n const Icon = variantIcons[variant ?? \"default\"]\n const iconColor = iconColorVariants[variant ?? \"default\"]\n\n // Determine ARIA role based on variant\n const ariaRole =\n role ?? (variant === \"error\" || variant === \"warning\" ? \"alert\" : \"note\")\n\n return (\n <div\n aria-live={ariaRole === \"alert\" ? \"assertive\" : \"polite\"}\n className={cn(calloutVariants({ variant, size }), className)}\n data-size={size ?? \"md\"}\n data-slot=\"callout\"\n data-variant={variant ?? \"default\"}\n role={ariaRole}\n {...props}\n >\n <div className=\"flex gap-3\">\n <span className={cn(\"shrink-0 mt-0.5\", iconColor)} data-slot=\"callout-icon\">\n {icon ?? <Icon className=\"size-4\" />}\n </span>\n <div className=\"space-y-1 min-w-0\">\n {title && (\n <h5\n className=\"font-medium leading-none tracking-tight\"\n data-slot=\"callout-title\"\n >\n {title}\n </h5>\n )}\n <div className=\"text-muted-foreground\" data-slot=\"callout-content\">\n {children}\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nexport { Callout, calloutVariants }\nexport type { CalloutProps }\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/forms/NativeSelect/NativeSelect.variants.ts","../src/components/forms/NativeSelect/NativeSelect.tsx"],"names":[],"mappings":"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","file":"chunk-XOGMDABS.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * NativeSelect variant styles using CVA\n */\nexport const nativeSelectVariants = cva(\n // Base styles\n [\n \"w-full min-w-0 appearance-none rounded-[var(--native-select-root-radius)] border bg-transparent transition-[color,box-shadow] outline-none\",\n \"placeholder:text-muted-foreground\",\n \"selection:bg-primary selection:text-primary-foreground\",\n \"dark:bg-input/30 dark:hover:bg-input/50\",\n \"disabled:pointer-events-none disabled:cursor-not-allowed\",\n \"focus-visible:border-[color:var(--native-select-root-border-focus)] focus-visible:ring-[color:var(--native-select-focus-ring-color)]/50 focus-visible:ring-[length:var(--native-select-focus-ring-width)]\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n ],\n {\n variants: {\n size: {\n xs: \"h-7 px-2 py-0.5 pr-7 text-xs\",\n sm: \"h-8 px-2.5 py-1 pr-8 text-sm\",\n md: \"h-9 px-3 py-1 pr-9 text-base md:text-sm\",\n lg: \"h-10 px-3.5 py-1.5 pr-10 text-base\",\n xl: \"h-12 px-4 py-2 pr-11 text-lg\",\n },\n variant: {\n default: \"border-input shadow-xs\",\n filled: \"border-transparent bg-[color:var(--native-select-variant-filled-bg)]\",\n flushed: \"rounded-none border-x-0 border-t-0 border-b-input px-0 pr-7\",\n },\n },\n defaultVariants: {\n size: \"lg\",\n variant: \"default\",\n },\n }\n)\n\n/**\n * Wrapper styles for the NativeSelect container\n */\nexport const nativeSelectWrapperVariants = cva(\n \"group/native-select relative w-fit has-[select:disabled]:opacity-50\",\n {\n variants: {},\n defaultVariants: {},\n }\n)\n\n/**\n * Icon styles based on size\n */\nexport const nativeSelectIconVariants = cva(\n \"text-muted-foreground pointer-events-none absolute top-1/2 -translate-y-1/2 opacity-50 select-none\",\n {\n variants: {\n size: {\n xs: \"right-2 size-3\",\n sm: \"right-2.5 size-3.5\",\n md: \"right-3 size-4\",\n lg: \"right-3.5 size-4\",\n xl: \"right-4 size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n/**\n * Left icon styles based on size\n */\nexport const nativeSelectLeftIconVariants = cva(\n \"text-muted-foreground pointer-events-none absolute top-1/2 -translate-y-1/2 opacity-70 select-none\",\n {\n variants: {\n size: {\n xs: \"left-2 size-3\",\n sm: \"left-2.5 size-3.5\",\n md: \"left-3 size-4\",\n lg: \"left-3.5 size-4\",\n xl: \"left-4 size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n/**\n * Additional padding-left when leftIcon is present\n */\nexport const nativeSelectWithLeftIconPadding: Record<NativeSelectSize, string> = {\n xs: \"pl-7\",\n sm: \"pl-8\",\n md: \"pl-9\",\n lg: \"pl-10\",\n xl: \"pl-11\",\n}\n\ntype NativeSelectSize = \"lg\" | \"md\" | \"sm\" | \"xl\" | \"xs\"\n\nexport type NativeSelectVariantProps = VariantProps<typeof nativeSelectVariants>\n","import type {\n NativeSelectOptGroupProps,\n NativeSelectOptionProps,\n NativeSelectProps,\n} from \"./NativeSelect.types\"\n\nimport { ChevronDownIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n nativeSelectIconVariants,\n nativeSelectLeftIconVariants,\n nativeSelectVariants,\n nativeSelectWithLeftIconPadding,\n nativeSelectWrapperVariants,\n} from \"./NativeSelect.variants\"\n\nfunction NativeSelect({\n className,\n size = \"lg\",\n variant,\n leftIcon,\n ...props\n}: NativeSelectProps) {\n return (\n <div\n className={cn(nativeSelectWrapperVariants())}\n data-slot=\"native-select-wrapper\"\n >\n {leftIcon && (\n <span\n aria-hidden=\"true\"\n className={cn(nativeSelectLeftIconVariants({ size }))}\n data-slot=\"native-select-left-icon\"\n >\n {leftIcon}\n </span>\n )}\n <select\n className={cn(\n nativeSelectVariants({ size, variant }),\n leftIcon && nativeSelectWithLeftIconPadding[size],\n className\n )}\n data-slot=\"native-select\"\n {...props}\n />\n <ChevronDownIcon\n aria-hidden=\"true\"\n className={cn(nativeSelectIconVariants({ size }))}\n data-slot=\"native-select-icon\"\n />\n </div>\n )\n}\n\nfunction NativeSelectOption({ ...props }: NativeSelectOptionProps) {\n return <option data-slot=\"native-select-option\" {...props} />\n}\n\nfunction NativeSelectOptGroup({\n className,\n ...props\n}: NativeSelectOptGroupProps) {\n return (\n <optgroup\n className={cn(className)}\n data-slot=\"native-select-optgroup\"\n {...props}\n />\n )\n}\n\nexport { NativeSelect, NativeSelectOptGroup, NativeSelectOption }\n"]}
|