@etus/ui 0.4.0-beta.2 → 0.4.0-beta.20
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-2SUZS6GZ.js +227 -0
- package/dist/chunk-2SUZS6GZ.js.map +1 -0
- package/dist/chunk-2XNMKALT.js +152 -0
- package/dist/chunk-2XNMKALT.js.map +1 -0
- package/dist/chunk-345S7BBL.js +3 -0
- package/dist/chunk-345S7BBL.js.map +1 -0
- package/dist/chunk-3MOBFZJM.js +222 -0
- package/dist/chunk-3MOBFZJM.js.map +1 -0
- package/dist/chunk-3R6MY3YJ.js +90 -0
- package/dist/chunk-3R6MY3YJ.js.map +1 -0
- package/dist/chunk-447INBQP.js +35 -0
- package/dist/chunk-447INBQP.js.map +1 -0
- package/dist/chunk-45D4O7RK.js +78 -0
- package/dist/chunk-45D4O7RK.js.map +1 -0
- package/dist/chunk-4LZ53BAG.js +82 -0
- package/dist/chunk-4LZ53BAG.js.map +1 -0
- package/dist/chunk-4OWRNWHW.js +197 -0
- package/dist/chunk-4OWRNWHW.js.map +1 -0
- package/dist/chunk-4RNPI3LU.js +83 -0
- package/dist/chunk-4RNPI3LU.js.map +1 -0
- package/dist/chunk-4SFBDK4E.js +72 -0
- package/dist/chunk-4SFBDK4E.js.map +1 -0
- package/dist/chunk-4XXAIWQ4.js +181 -0
- package/dist/chunk-4XXAIWQ4.js.map +1 -0
- package/dist/chunk-5ETVWWA5.js +249 -0
- package/dist/chunk-5ETVWWA5.js.map +1 -0
- package/dist/chunk-5GV4LDX7.js +305 -0
- package/dist/chunk-5GV4LDX7.js.map +1 -0
- package/dist/chunk-5MJQ5XSR.js +217 -0
- package/dist/chunk-5MJQ5XSR.js.map +1 -0
- package/dist/chunk-5QDKJMUA.js +97 -0
- package/dist/chunk-5QDKJMUA.js.map +1 -0
- package/dist/chunk-5T7EKOJ5.js +199 -0
- package/dist/chunk-5T7EKOJ5.js.map +1 -0
- package/dist/chunk-5W3T767A.js +235 -0
- package/dist/chunk-5W3T767A.js.map +1 -0
- package/dist/chunk-5YUUE5JJ.js +186 -0
- package/dist/chunk-5YUUE5JJ.js.map +1 -0
- package/dist/chunk-5ZWFIDO2.js +3 -0
- package/dist/chunk-5ZWFIDO2.js.map +1 -0
- package/dist/chunk-627ZZ6HO.js +204 -0
- package/dist/chunk-627ZZ6HO.js.map +1 -0
- package/dist/chunk-6G5QK3SU.js +291 -0
- package/dist/chunk-6G5QK3SU.js.map +1 -0
- package/dist/chunk-6QVXMYKH.js +167 -0
- package/dist/chunk-6QVXMYKH.js.map +1 -0
- package/dist/chunk-6VCJU6XD.js +19 -0
- package/dist/chunk-6VCJU6XD.js.map +1 -0
- package/dist/chunk-6VEQLD2P.js +75 -0
- package/dist/chunk-6VEQLD2P.js.map +1 -0
- package/dist/chunk-73DDLKBG.js +205 -0
- package/dist/chunk-73DDLKBG.js.map +1 -0
- package/dist/chunk-7AR5QRRX.js +122 -0
- package/dist/chunk-7AR5QRRX.js.map +1 -0
- package/dist/chunk-7IKX4AFY.js +264 -0
- package/dist/chunk-7IKX4AFY.js.map +1 -0
- package/dist/chunk-7PX3WBR3.js +96 -0
- package/dist/chunk-7PX3WBR3.js.map +1 -0
- package/dist/chunk-7QEFKWUR.js +495 -0
- package/dist/chunk-7QEFKWUR.js.map +1 -0
- package/dist/chunk-7TX5X4EP.js +383 -0
- package/dist/chunk-7TX5X4EP.js.map +1 -0
- package/dist/chunk-7XJQYAGY.js +37 -0
- package/dist/chunk-7XJQYAGY.js.map +1 -0
- package/dist/chunk-7Y325TBV.js +55 -0
- package/dist/chunk-7Y325TBV.js.map +1 -0
- package/dist/chunk-7YZ7HNXX.js +268 -0
- package/dist/chunk-7YZ7HNXX.js.map +1 -0
- package/dist/chunk-AD4RW2JV.js +70 -0
- package/dist/chunk-AD4RW2JV.js.map +1 -0
- package/dist/chunk-ADX6C3V7.js +96 -0
- package/dist/chunk-ADX6C3V7.js.map +1 -0
- package/dist/chunk-AJUOTABG.js +138 -0
- package/dist/chunk-AJUOTABG.js.map +1 -0
- package/dist/chunk-AP4ZM3DV.js +667 -0
- package/dist/chunk-AP4ZM3DV.js.map +1 -0
- package/dist/chunk-ARJAIH7Q.js +67 -0
- package/dist/chunk-ARJAIH7Q.js.map +1 -0
- package/dist/chunk-AZANPNLR.js +134 -0
- package/dist/chunk-AZANPNLR.js.map +1 -0
- package/dist/chunk-BBKDABQK.js +912 -0
- package/dist/chunk-BBKDABQK.js.map +1 -0
- package/dist/chunk-BITATKTH.js +3 -0
- package/dist/chunk-BITATKTH.js.map +1 -0
- package/dist/chunk-BSTUCHL4.js +80 -0
- package/dist/chunk-BSTUCHL4.js.map +1 -0
- package/dist/chunk-BUCXPZYE.js +643 -0
- package/dist/chunk-BUCXPZYE.js.map +1 -0
- package/dist/chunk-BWGZKU3I.js +3 -0
- package/dist/chunk-BWGZKU3I.js.map +1 -0
- package/dist/chunk-C2MAX4YK.js +875 -0
- package/dist/chunk-C2MAX4YK.js.map +1 -0
- package/dist/chunk-C34UNXMN.js +408 -0
- package/dist/chunk-C34UNXMN.js.map +1 -0
- package/dist/chunk-CV77MF4G.js +70 -0
- package/dist/chunk-CV77MF4G.js.map +1 -0
- package/dist/chunk-DGOW65KM.js +216 -0
- package/dist/chunk-DGOW65KM.js.map +1 -0
- package/dist/chunk-DJHDCDU6.js +101 -0
- package/dist/chunk-DJHDCDU6.js.map +1 -0
- package/dist/chunk-DQGBTZRX.js +270 -0
- package/dist/chunk-DQGBTZRX.js.map +1 -0
- package/dist/chunk-DRIEZH7R.js +107 -0
- package/dist/chunk-DRIEZH7R.js.map +1 -0
- package/dist/chunk-E6SAO2CY.js +53 -0
- package/dist/chunk-E6SAO2CY.js.map +1 -0
- package/dist/chunk-EDSIOUUR.js +159 -0
- package/dist/chunk-EDSIOUUR.js.map +1 -0
- package/dist/chunk-ELRIFGMN.js +198 -0
- package/dist/chunk-ELRIFGMN.js.map +1 -0
- package/dist/chunk-EO4NGM5W.js +281 -0
- package/dist/chunk-EO4NGM5W.js.map +1 -0
- package/dist/chunk-EQ4YAADN.js +58 -0
- package/dist/chunk-EQ4YAADN.js.map +1 -0
- package/dist/chunk-EZYXD2YI.js +147 -0
- package/dist/chunk-EZYXD2YI.js.map +1 -0
- package/dist/chunk-F3ETIDS7.js +236 -0
- package/dist/chunk-F3ETIDS7.js.map +1 -0
- package/dist/chunk-F3WDMYZ4.js +349 -0
- package/dist/chunk-F3WDMYZ4.js.map +1 -0
- package/dist/chunk-FES2I2OT.js +3 -0
- package/dist/chunk-FES2I2OT.js.map +1 -0
- package/dist/chunk-FRKB4Z2P.js +776 -0
- package/dist/chunk-FRKB4Z2P.js.map +1 -0
- package/dist/chunk-FVRSXJKS.js +165 -0
- package/dist/chunk-FVRSXJKS.js.map +1 -0
- package/dist/chunk-FXFVFSG5.js +812 -0
- package/dist/chunk-FXFVFSG5.js.map +1 -0
- package/dist/chunk-G6SIIN2B.js +3 -0
- package/dist/chunk-G6SIIN2B.js.map +1 -0
- package/dist/chunk-GDZECJFS.js +387 -0
- package/dist/chunk-GDZECJFS.js.map +1 -0
- package/dist/chunk-GLHKHYJY.js +226 -0
- package/dist/chunk-GLHKHYJY.js.map +1 -0
- package/dist/chunk-GRODCJS4.js +834 -0
- package/dist/chunk-GRODCJS4.js.map +1 -0
- package/dist/chunk-GVNG5ME6.js +1279 -0
- package/dist/chunk-GVNG5ME6.js.map +1 -0
- package/dist/chunk-GWSM2XNV.js +529 -0
- package/dist/chunk-GWSM2XNV.js.map +1 -0
- package/dist/chunk-H32A6UPL.js +100 -0
- package/dist/chunk-H32A6UPL.js.map +1 -0
- package/dist/chunk-HHWUROMA.js +928 -0
- package/dist/chunk-HHWUROMA.js.map +1 -0
- package/dist/chunk-HM6TEHA6.js +111 -0
- package/dist/chunk-HM6TEHA6.js.map +1 -0
- package/dist/chunk-HNQX6ZG7.js +304 -0
- package/dist/chunk-HNQX6ZG7.js.map +1 -0
- package/dist/chunk-I5RDX6O3.js +122 -0
- package/dist/chunk-I5RDX6O3.js.map +1 -0
- package/dist/chunk-IKLFWGFS.js +4523 -0
- package/dist/chunk-IKLFWGFS.js.map +1 -0
- package/dist/chunk-IPCT4YZT.js +63 -0
- package/dist/chunk-IPCT4YZT.js.map +1 -0
- package/dist/chunk-IPDAFW4F.js +370 -0
- package/dist/chunk-IPDAFW4F.js.map +1 -0
- package/dist/chunk-IXZBH33I.js +63 -0
- package/dist/chunk-IXZBH33I.js.map +1 -0
- package/dist/chunk-JDETM3FL.js +152 -0
- package/dist/chunk-JDETM3FL.js.map +1 -0
- package/dist/chunk-JDTAG7KZ.js +33 -0
- package/dist/chunk-JDTAG7KZ.js.map +1 -0
- package/dist/chunk-JE46MFMN.js +1070 -0
- package/dist/chunk-JE46MFMN.js.map +1 -0
- package/dist/chunk-JFV7CNBP.js +288 -0
- package/dist/chunk-JFV7CNBP.js.map +1 -0
- package/dist/chunk-JPRHMMY6.js +154 -0
- package/dist/chunk-JPRHMMY6.js.map +1 -0
- package/dist/chunk-JUSPLVWO.js +371 -0
- package/dist/chunk-JUSPLVWO.js.map +1 -0
- package/dist/chunk-JUZ4JQWH.js +69 -0
- package/dist/chunk-JUZ4JQWH.js.map +1 -0
- package/dist/chunk-JVTB3NTP.js +163 -0
- package/dist/chunk-JVTB3NTP.js.map +1 -0
- package/dist/chunk-JXEIRIU4.js +74 -0
- package/dist/chunk-JXEIRIU4.js.map +1 -0
- package/dist/chunk-JYYB6F5O.js +524 -0
- package/dist/chunk-JYYB6F5O.js.map +1 -0
- package/dist/chunk-JZA45LEV.js +444 -0
- package/dist/chunk-JZA45LEV.js.map +1 -0
- package/dist/chunk-K44K3EHW.js +77 -0
- package/dist/chunk-K44K3EHW.js.map +1 -0
- package/dist/chunk-K4UCALQQ.js +67 -0
- package/dist/chunk-K4UCALQQ.js.map +1 -0
- package/dist/chunk-KBU4KJKC.js +853 -0
- package/dist/chunk-KBU4KJKC.js.map +1 -0
- package/dist/chunk-KDNTSZF5.js +466 -0
- package/dist/chunk-KDNTSZF5.js.map +1 -0
- package/dist/chunk-KHCHATTD.js +544 -0
- package/dist/chunk-KHCHATTD.js.map +1 -0
- package/dist/chunk-KHJIUHHM.js +273 -0
- package/dist/chunk-KHJIUHHM.js.map +1 -0
- package/dist/chunk-KLFYTLF3.js +100 -0
- package/dist/chunk-KLFYTLF3.js.map +1 -0
- package/dist/chunk-KXJ3SEW7.js +54 -0
- package/dist/chunk-KXJ3SEW7.js.map +1 -0
- package/dist/chunk-L2XR5IFJ.js +103 -0
- package/dist/chunk-L2XR5IFJ.js.map +1 -0
- package/dist/chunk-L4OQ6BJ5.js +233 -0
- package/dist/chunk-L4OQ6BJ5.js.map +1 -0
- package/dist/chunk-LCBB3N5H.js +203 -0
- package/dist/chunk-LCBB3N5H.js.map +1 -0
- package/dist/chunk-LDK6ADKM.js +924 -0
- package/dist/chunk-LDK6ADKM.js.map +1 -0
- package/dist/chunk-LP6JYJQN.js +109 -0
- package/dist/chunk-LP6JYJQN.js.map +1 -0
- package/dist/chunk-LRE3LJMW.js +228 -0
- package/dist/chunk-LRE3LJMW.js.map +1 -0
- package/dist/chunk-LSRKDZW4.js +226 -0
- package/dist/chunk-LSRKDZW4.js.map +1 -0
- package/dist/chunk-MGIGDALC.js +153 -0
- package/dist/chunk-MGIGDALC.js.map +1 -0
- package/dist/chunk-MNYU5MHO.js +700 -0
- package/dist/chunk-MNYU5MHO.js.map +1 -0
- package/dist/chunk-MVOENLOZ.js +3 -0
- package/dist/chunk-MVOENLOZ.js.map +1 -0
- package/dist/chunk-MXBDOYQL.js +438 -0
- package/dist/chunk-MXBDOYQL.js.map +1 -0
- package/dist/chunk-N2DAVD4Y.js +46 -0
- package/dist/chunk-N2DAVD4Y.js.map +1 -0
- package/dist/chunk-N5YGAESZ.js +198 -0
- package/dist/chunk-N5YGAESZ.js.map +1 -0
- package/dist/chunk-N7VMQWM3.js +200 -0
- package/dist/chunk-N7VMQWM3.js.map +1 -0
- package/dist/chunk-NAI3TX52.js +251 -0
- package/dist/chunk-NAI3TX52.js.map +1 -0
- package/dist/chunk-NGX3ITG4.js +119 -0
- package/dist/chunk-NGX3ITG4.js.map +1 -0
- package/dist/chunk-NHUUSXBL.js +236 -0
- package/dist/chunk-NHUUSXBL.js.map +1 -0
- package/dist/chunk-NIRTZLZL.js +337 -0
- package/dist/chunk-NIRTZLZL.js.map +1 -0
- package/dist/chunk-NLPVF34P.js +132 -0
- package/dist/chunk-NLPVF34P.js.map +1 -0
- package/dist/chunk-NNWMBVCB.js +266 -0
- package/dist/chunk-NNWMBVCB.js.map +1 -0
- package/dist/chunk-NUA54ABI.js +233 -0
- package/dist/chunk-NUA54ABI.js.map +1 -0
- package/dist/chunk-NY2WZ4P2.js +127 -0
- package/dist/chunk-NY2WZ4P2.js.map +1 -0
- package/dist/chunk-O6LFU3KB.js +115 -0
- package/dist/chunk-O6LFU3KB.js.map +1 -0
- package/dist/chunk-OAES72MK.js +108 -0
- package/dist/chunk-OAES72MK.js.map +1 -0
- package/dist/chunk-OCH7GGZF.js +136 -0
- package/dist/chunk-OCH7GGZF.js.map +1 -0
- package/dist/chunk-ONN5XVYC.js +382 -0
- package/dist/chunk-ONN5XVYC.js.map +1 -0
- package/dist/chunk-ONTUN5XH.js +57 -0
- package/dist/chunk-ONTUN5XH.js.map +1 -0
- package/dist/chunk-OOJO4QGD.js +3 -0
- package/dist/chunk-OOJO4QGD.js.map +1 -0
- package/dist/chunk-OWZ3MZ5C.js +79 -0
- package/dist/chunk-OWZ3MZ5C.js.map +1 -0
- package/dist/chunk-OXO6SKJO.js +532 -0
- package/dist/chunk-OXO6SKJO.js.map +1 -0
- package/dist/chunk-P4WMDGAQ.js +1062 -0
- package/dist/chunk-P4WMDGAQ.js.map +1 -0
- package/dist/chunk-PBZI5XNV.js +318 -0
- package/dist/chunk-PBZI5XNV.js.map +1 -0
- package/dist/chunk-PEX7FCZC.js +145 -0
- package/dist/chunk-PEX7FCZC.js.map +1 -0
- package/dist/chunk-PI4WGIPG.js +159 -0
- package/dist/chunk-PI4WGIPG.js.map +1 -0
- package/dist/chunk-PTXC4KPQ.js +177 -0
- package/dist/chunk-PTXC4KPQ.js.map +1 -0
- package/dist/chunk-PVIIIQJI.js +183 -0
- package/dist/chunk-PVIIIQJI.js.map +1 -0
- package/dist/chunk-PXR6CZIL.js +286 -0
- package/dist/chunk-PXR6CZIL.js.map +1 -0
- package/dist/chunk-PZSKZFVO.js +91 -0
- package/dist/chunk-PZSKZFVO.js.map +1 -0
- package/dist/chunk-Q3JCNSPU.js +91 -0
- package/dist/chunk-Q3JCNSPU.js.map +1 -0
- package/dist/chunk-QD2ZS5DU.js +139 -0
- package/dist/chunk-QD2ZS5DU.js.map +1 -0
- package/dist/chunk-QJOWG2D4.js +597 -0
- package/dist/chunk-QJOWG2D4.js.map +1 -0
- package/dist/chunk-QLYH3GCV.js +294 -0
- package/dist/chunk-QLYH3GCV.js.map +1 -0
- package/dist/chunk-QO6TOE45.js +215 -0
- package/dist/chunk-QO6TOE45.js.map +1 -0
- package/dist/chunk-QWWA4FZP.js +171 -0
- package/dist/chunk-QWWA4FZP.js.map +1 -0
- package/dist/chunk-QXET2TML.js +297 -0
- package/dist/chunk-QXET2TML.js.map +1 -0
- package/dist/chunk-QZ7SGO7L.js +670 -0
- package/dist/chunk-QZ7SGO7L.js.map +1 -0
- package/dist/chunk-R42LSLJL.js +995 -0
- package/dist/chunk-R42LSLJL.js.map +1 -0
- package/dist/chunk-RMJVCJ6U.js +288 -0
- package/dist/chunk-RMJVCJ6U.js.map +1 -0
- package/dist/chunk-ROPW65RD.js +93 -0
- package/dist/chunk-ROPW65RD.js.map +1 -0
- package/dist/chunk-RQBYBBMP.js +309 -0
- package/dist/chunk-RQBYBBMP.js.map +1 -0
- package/dist/chunk-RVAYDRMA.js +31 -0
- package/dist/chunk-RVAYDRMA.js.map +1 -0
- package/dist/chunk-S4P7JIQ2.js +103 -0
- package/dist/chunk-S4P7JIQ2.js.map +1 -0
- package/dist/chunk-S6BREP2G.js +199 -0
- package/dist/chunk-S6BREP2G.js.map +1 -0
- package/dist/chunk-SA3IQI3Y.js +188 -0
- package/dist/chunk-SA3IQI3Y.js.map +1 -0
- package/dist/chunk-SKI25Q7O.js +482 -0
- package/dist/chunk-SKI25Q7O.js.map +1 -0
- package/dist/chunk-SSKSWSVO.js +204 -0
- package/dist/chunk-SSKSWSVO.js.map +1 -0
- package/dist/chunk-STADVFL2.js +316 -0
- package/dist/chunk-STADVFL2.js.map +1 -0
- package/dist/chunk-SX63UD5X.js +140 -0
- package/dist/chunk-SX63UD5X.js.map +1 -0
- package/dist/chunk-SXSR2VRG.js +279 -0
- package/dist/chunk-SXSR2VRG.js.map +1 -0
- package/dist/chunk-T3LWBCVR.js +109 -0
- package/dist/chunk-T3LWBCVR.js.map +1 -0
- package/dist/chunk-TDANAN5A.js +70 -0
- package/dist/chunk-TDANAN5A.js.map +1 -0
- package/dist/chunk-TEVGCTUN.js +100 -0
- package/dist/chunk-TEVGCTUN.js.map +1 -0
- package/dist/chunk-TIPKU427.js +113 -0
- package/dist/chunk-TIPKU427.js.map +1 -0
- package/dist/chunk-TK5WS675.js +175 -0
- package/dist/chunk-TK5WS675.js.map +1 -0
- package/dist/chunk-TNSMTINE.js +342 -0
- package/dist/chunk-TNSMTINE.js.map +1 -0
- package/dist/chunk-TP4PDKFE.js +3 -0
- package/dist/chunk-TP4PDKFE.js.map +1 -0
- package/dist/chunk-TRTVYFOF.js +292 -0
- package/dist/chunk-TRTVYFOF.js.map +1 -0
- package/dist/chunk-TSE3PKWQ.js +80 -0
- package/dist/chunk-TSE3PKWQ.js.map +1 -0
- package/dist/chunk-U77MCUVE.js +3 -0
- package/dist/chunk-U77MCUVE.js.map +1 -0
- package/dist/chunk-U7TPJMGY.js +460 -0
- package/dist/chunk-U7TPJMGY.js.map +1 -0
- package/dist/chunk-UC5J6GWG.js +174 -0
- package/dist/chunk-UC5J6GWG.js.map +1 -0
- package/dist/chunk-UNHPLKMR.js +78 -0
- package/dist/chunk-UNHPLKMR.js.map +1 -0
- package/dist/chunk-UOHVT5KN.js +3 -0
- package/dist/chunk-UOHVT5KN.js.map +1 -0
- package/dist/chunk-UP2VWCW5.js +2 -7
- package/dist/chunk-UP2VWCW5.js.map +1 -1
- package/dist/chunk-UZEJ3ZVR.js +128 -0
- package/dist/chunk-UZEJ3ZVR.js.map +1 -0
- package/dist/chunk-UZZCEQH4.js +515 -0
- package/dist/chunk-UZZCEQH4.js.map +1 -0
- package/dist/chunk-V4NSLSCA.js +220 -0
- package/dist/chunk-V4NSLSCA.js.map +1 -0
- package/dist/chunk-V57DERRV.js +233 -0
- package/dist/chunk-V57DERRV.js.map +1 -0
- package/dist/chunk-VHJ6ALIE.js +230 -0
- package/dist/chunk-VHJ6ALIE.js.map +1 -0
- package/dist/chunk-WG34IXUV.js +137 -0
- package/dist/chunk-WG34IXUV.js.map +1 -0
- package/dist/chunk-WG5IYG7X.js +3 -0
- package/dist/chunk-WG5IYG7X.js.map +1 -0
- package/dist/chunk-WGKOYZRI.js +338 -0
- package/dist/chunk-WGKOYZRI.js.map +1 -0
- package/dist/chunk-WGSVSZ7V.js +172 -0
- package/dist/chunk-WGSVSZ7V.js.map +1 -0
- package/dist/chunk-WH7Y2MAY.js +24 -0
- package/dist/chunk-WH7Y2MAY.js.map +1 -0
- package/dist/chunk-WK324C6D.js +146 -0
- package/dist/chunk-WK324C6D.js.map +1 -0
- package/dist/chunk-WOP5OWLG.js +249 -0
- package/dist/chunk-WOP5OWLG.js.map +1 -0
- package/dist/chunk-WSDWJX4Y.js +119 -0
- package/dist/chunk-WSDWJX4Y.js.map +1 -0
- package/dist/chunk-WUS45IZW.js +36 -0
- package/dist/chunk-WUS45IZW.js.map +1 -0
- package/dist/chunk-WVOZYDH3.js +137 -0
- package/dist/chunk-WVOZYDH3.js.map +1 -0
- package/dist/chunk-WWK7UIKK.js +258 -0
- package/dist/chunk-WWK7UIKK.js.map +1 -0
- package/dist/chunk-X2EMALTZ.js +347 -0
- package/dist/chunk-X2EMALTZ.js.map +1 -0
- package/dist/chunk-X4CJFD6D.js +58 -0
- package/dist/chunk-X4CJFD6D.js.map +1 -0
- package/dist/chunk-XEQGATVF.js +106 -0
- package/dist/chunk-XEQGATVF.js.map +1 -0
- package/dist/chunk-XMUD3LG7.js +774 -0
- package/dist/chunk-XMUD3LG7.js.map +1 -0
- package/dist/chunk-XWBVIBN4.js +288 -0
- package/dist/chunk-XWBVIBN4.js.map +1 -0
- package/dist/chunk-XXWCMY2G.js +411 -0
- package/dist/chunk-XXWCMY2G.js.map +1 -0
- package/dist/chunk-Y4FEW7SR.js +122 -0
- package/dist/chunk-Y4FEW7SR.js.map +1 -0
- package/dist/chunk-Y555RCRZ.js +26 -0
- package/dist/chunk-Y555RCRZ.js.map +1 -0
- package/dist/chunk-YC5VVIZO.js +92 -0
- package/dist/chunk-YC5VVIZO.js.map +1 -0
- package/dist/chunk-YMCKML6D.js +539 -0
- package/dist/chunk-YMCKML6D.js.map +1 -0
- package/dist/chunk-YMQDTTO7.js +354 -0
- package/dist/chunk-YMQDTTO7.js.map +1 -0
- package/dist/chunk-YNTS4GRT.js +95 -0
- package/dist/chunk-YNTS4GRT.js.map +1 -0
- package/dist/chunk-ZOHLZ4YL.js +67 -0
- package/dist/chunk-ZOHLZ4YL.js.map +1 -0
- package/dist/chunk-ZVSMLMMS.js +283 -0
- package/dist/chunk-ZVSMLMMS.js.map +1 -0
- package/dist/chunk-ZXWT4KWJ.js +129 -0
- package/dist/chunk-ZXWT4KWJ.js.map +1 -0
- package/dist/components/advanced/AssetManager/index.js +5 -0
- package/dist/components/advanced/AssetManager/index.js.map +1 -0
- package/dist/components/advanced/Calendar/index.js +10 -0
- package/dist/components/advanced/Calendar/index.js.map +1 -0
- package/dist/components/advanced/Command/index.js +6 -0
- package/dist/components/advanced/Command/index.js.map +1 -0
- package/dist/components/advanced/DragAndDrop/index.js +5 -0
- package/dist/components/advanced/DragAndDrop/index.js.map +1 -0
- package/dist/components/advanced/ErrorBoundary/index.js +5 -0
- package/dist/components/advanced/ErrorBoundary/index.js.map +1 -0
- package/dist/components/advanced/EventCalendar/index.js +10 -0
- package/dist/components/advanced/EventCalendar/index.js.map +1 -0
- package/dist/components/advanced/FileDropzone/index.js +5 -0
- package/dist/components/advanced/FileDropzone/index.js.map +1 -0
- package/dist/components/advanced/FilePreview/index.js +5 -0
- package/dist/components/advanced/FilePreview/index.js.map +1 -0
- package/dist/components/advanced/FileUpload/index.js +5 -0
- package/dist/components/advanced/FileUpload/index.js.map +1 -0
- package/dist/components/advanced/FilterBuilder/index.js +13 -0
- package/dist/components/advanced/FilterBuilder/index.js.map +1 -0
- package/dist/components/advanced/MarkdownEditor/index.js +9 -0
- package/dist/components/advanced/MarkdownEditor/index.js.map +1 -0
- package/dist/components/advanced/Portal/index.js +4 -0
- package/dist/components/advanced/Portal/index.js.map +1 -0
- package/dist/components/advanced/ReportBuilder/index.js +11 -0
- package/dist/components/advanced/ReportBuilder/index.js.map +1 -0
- package/dist/components/advanced/RichTextEditor/index.js +7 -0
- package/dist/components/advanced/RichTextEditor/index.js.map +1 -0
- package/dist/components/advanced/Search/index.js +5 -0
- package/dist/components/advanced/Search/index.js.map +1 -0
- package/dist/components/advanced/SortableList/index.js +5 -0
- package/dist/components/advanced/SortableList/index.js.map +1 -0
- package/dist/components/advanced/VersionControl/index.js +5 -0
- package/dist/components/advanced/VersionControl/index.js.map +1 -0
- package/dist/components/advanced/index.js +36 -0
- package/dist/components/advanced/index.js.map +1 -0
- package/dist/components/data-display/Accordion/index.js +5 -0
- package/dist/components/data-display/Accordion/index.js.map +1 -0
- package/dist/components/data-display/AreaChart/index.js +6 -0
- package/dist/components/data-display/AreaChart/index.js.map +1 -0
- package/dist/components/data-display/Banner/index.js +5 -0
- package/dist/components/data-display/Banner/index.js.map +1 -0
- package/dist/components/data-display/BarChart/index.js +6 -0
- package/dist/components/data-display/BarChart/index.js.map +1 -0
- package/dist/components/data-display/BarList/index.js +5 -0
- package/dist/components/data-display/BarList/index.js.map +1 -0
- package/dist/components/data-display/Callout/index.js +5 -0
- package/dist/components/data-display/Callout/index.js.map +1 -0
- package/dist/components/data-display/Carousel/index.js +10 -0
- package/dist/components/data-display/Carousel/index.js.map +1 -0
- package/dist/components/data-display/CategoryBar/index.js +6 -0
- package/dist/components/data-display/CategoryBar/index.js.map +1 -0
- package/dist/components/data-display/Chart/index.js +5 -0
- package/dist/components/data-display/Chart/index.js.map +1 -0
- package/dist/components/data-display/ChartCard/index.js +9 -0
- package/dist/components/data-display/ChartCard/index.js.map +1 -0
- package/dist/components/data-display/ChartLegend/index.js +6 -0
- package/dist/components/data-display/ChartLegend/index.js.map +1 -0
- package/dist/components/data-display/ComboChart/index.js +6 -0
- package/dist/components/data-display/ComboChart/index.js.map +1 -0
- package/dist/components/data-display/DashboardCard/index.js +6 -0
- package/dist/components/data-display/DashboardCard/index.js.map +1 -0
- package/dist/components/data-display/DataTable/FilterBuilder/index.js +13 -0
- package/dist/components/data-display/DataTable/FilterBuilder/index.js.map +1 -0
- package/dist/components/data-display/DataTable/index.js +22 -0
- package/dist/components/data-display/DataTable/index.js.map +1 -0
- package/dist/components/data-display/DeltaBar/index.js +6 -0
- package/dist/components/data-display/DeltaBar/index.js.map +1 -0
- package/dist/components/data-display/EmptyState/index.js +5 -0
- package/dist/components/data-display/EmptyState/index.js.map +1 -0
- package/dist/components/data-display/FeatureItem/index.js +6 -0
- package/dist/components/data-display/FeatureItem/index.js.map +1 -0
- package/dist/components/data-display/Feed/index.js +5 -0
- package/dist/components/data-display/Feed/index.js.map +1 -0
- package/dist/components/data-display/FunnelChart/index.js +6 -0
- package/dist/components/data-display/FunnelChart/index.js.map +1 -0
- package/dist/components/data-display/GaugeChart/index.js +5 -0
- package/dist/components/data-display/GaugeChart/index.js.map +1 -0
- package/dist/components/data-display/Heatmap/index.js +6 -0
- package/dist/components/data-display/Heatmap/index.js.map +1 -0
- package/dist/components/data-display/HoverCard/index.js +5 -0
- package/dist/components/data-display/HoverCard/index.js.map +1 -0
- package/dist/components/data-display/ImageGallery/index.js +13 -0
- package/dist/components/data-display/ImageGallery/index.js.map +1 -0
- package/dist/components/data-display/Item/index.js +6 -0
- package/dist/components/data-display/Item/index.js.map +1 -0
- package/dist/components/data-display/KPICard/index.js +12 -0
- package/dist/components/data-display/KPICard/index.js.map +1 -0
- package/dist/components/data-display/Lightbox/index.js +5 -0
- package/dist/components/data-display/Lightbox/index.js.map +1 -0
- package/dist/components/data-display/LineChart/index.js +6 -0
- package/dist/components/data-display/LineChart/index.js.map +1 -0
- package/dist/components/data-display/List/index.js +10 -0
- package/dist/components/data-display/List/index.js.map +1 -0
- package/dist/components/data-display/MarkerBar/index.js +6 -0
- package/dist/components/data-display/MarkerBar/index.js.map +1 -0
- package/dist/components/data-display/PieChart/index.js +6 -0
- package/dist/components/data-display/PieChart/index.js.map +1 -0
- package/dist/components/data-display/RadarChart/index.js +6 -0
- package/dist/components/data-display/RadarChart/index.js.map +1 -0
- package/dist/components/data-display/RadialChart/index.js +6 -0
- package/dist/components/data-display/RadialChart/index.js.map +1 -0
- package/dist/components/data-display/ScatterChart/index.js +6 -0
- package/dist/components/data-display/ScatterChart/index.js.map +1 -0
- package/dist/components/data-display/SingleStat/index.js +6 -0
- package/dist/components/data-display/SingleStat/index.js.map +1 -0
- package/dist/components/data-display/Sparkline/index.js +5 -0
- package/dist/components/data-display/Sparkline/index.js.map +1 -0
- package/dist/components/data-display/Table/index.js +5 -0
- package/dist/components/data-display/Table/index.js.map +1 -0
- package/dist/components/data-display/Timeline/index.js +5 -0
- package/dist/components/data-display/Timeline/index.js.map +1 -0
- package/dist/components/data-display/Tracker/index.js +6 -0
- package/dist/components/data-display/Tracker/index.js.map +1 -0
- package/dist/components/data-display/VirtualTable/index.js +8 -0
- package/dist/components/data-display/VirtualTable/index.js.map +1 -0
- package/dist/components/data-display/index.js +65 -0
- package/dist/components/data-display/index.js.map +1 -0
- package/dist/components/feedback/Alert/index.js +5 -0
- package/dist/components/feedback/Alert/index.js.map +1 -0
- package/dist/components/feedback/AlertDialog/index.js +10 -0
- package/dist/components/feedback/AlertDialog/index.js.map +1 -0
- package/dist/components/feedback/ConfirmModal/index.js +11 -0
- package/dist/components/feedback/ConfirmModal/index.js.map +1 -0
- package/dist/components/feedback/Dialog/index.js +5 -0
- package/dist/components/feedback/Dialog/index.js.map +1 -0
- package/dist/components/feedback/ErrorPage/index.js +5 -0
- package/dist/components/feedback/ErrorPage/index.js.map +1 -0
- package/dist/components/feedback/FocusTrap/index.js +5 -0
- package/dist/components/feedback/FocusTrap/index.js.map +1 -0
- package/dist/components/feedback/Message/index.js +5 -0
- package/dist/components/feedback/Message/index.js.map +1 -0
- package/dist/components/feedback/Modal/index.js +5 -0
- package/dist/components/feedback/Modal/index.js.map +1 -0
- package/dist/components/feedback/Notification/index.js +7 -0
- package/dist/components/feedback/Notification/index.js.map +1 -0
- package/dist/components/feedback/Popover/index.js +5 -0
- package/dist/components/feedback/Popover/index.js.map +1 -0
- package/dist/components/feedback/Toast/index.js +4 -0
- package/dist/components/feedback/Toast/index.js.map +1 -0
- package/dist/components/feedback/Tooltip/index.js +5 -0
- package/dist/components/feedback/Tooltip/index.js.map +1 -0
- package/dist/components/feedback/UpdatesWidget/index.js +5 -0
- package/dist/components/feedback/UpdatesWidget/index.js.map +1 -0
- package/dist/components/feedback/index.js +23 -0
- package/dist/components/feedback/index.js.map +1 -0
- package/dist/components/forms/Autocomplete/index.js +5 -0
- package/dist/components/forms/Autocomplete/index.js.map +1 -0
- package/dist/components/forms/Checkbox/index.js +5 -0
- package/dist/components/forms/Checkbox/index.js.map +1 -0
- package/dist/components/forms/CheckboxGroup/index.js +6 -0
- package/dist/components/forms/CheckboxGroup/index.js.map +1 -0
- package/dist/components/forms/ColorPicker/index.js +6 -0
- package/dist/components/forms/ColorPicker/index.js.map +1 -0
- package/dist/components/forms/Combobox/index.js +5 -0
- package/dist/components/forms/Combobox/index.js.map +1 -0
- package/dist/components/forms/DatePicker/index.js +13 -0
- package/dist/components/forms/DatePicker/index.js.map +1 -0
- package/dist/components/forms/DateRangePicker/index.js +13 -0
- package/dist/components/forms/DateRangePicker/index.js.map +1 -0
- package/dist/components/forms/EmailInput/index.js +7 -0
- package/dist/components/forms/EmailInput/index.js.map +1 -0
- package/dist/components/forms/ErrorMessage/index.js +5 -0
- package/dist/components/forms/ErrorMessage/index.js.map +1 -0
- package/dist/components/forms/Field/index.js +7 -0
- package/dist/components/forms/Field/index.js.map +1 -0
- package/dist/components/forms/FloatLabel/index.js +5 -0
- package/dist/components/forms/FloatLabel/index.js.map +1 -0
- package/dist/components/forms/Form/index.js +6 -0
- package/dist/components/forms/Form/index.js.map +1 -0
- package/dist/components/forms/FormValidation/index.js +5 -0
- package/dist/components/forms/FormValidation/index.js.map +1 -0
- package/dist/components/forms/HelpText/index.js +5 -0
- package/dist/components/forms/HelpText/index.js.map +1 -0
- package/dist/components/forms/IftaLabel/index.js +5 -0
- package/dist/components/forms/IftaLabel/index.js.map +1 -0
- package/dist/components/forms/InputGroup/index.js +13 -0
- package/dist/components/forms/InputGroup/index.js.map +1 -0
- package/dist/components/forms/InputOTP/index.js +5 -0
- package/dist/components/forms/InputOTP/index.js.map +1 -0
- package/dist/components/forms/InputOTPField/index.js +9 -0
- package/dist/components/forms/InputOTPField/index.js.map +1 -0
- package/dist/components/forms/MultiSelect/index.js +6 -0
- package/dist/components/forms/MultiSelect/index.js.map +1 -0
- package/dist/components/forms/NativeSelect/index.js +5 -0
- package/dist/components/forms/NativeSelect/index.js.map +1 -0
- package/dist/components/forms/NumberInput/index.js +6 -0
- package/dist/components/forms/NumberInput/index.js.map +1 -0
- package/dist/components/forms/PasswordInput/index.js +7 -0
- package/dist/components/forms/PasswordInput/index.js.map +1 -0
- package/dist/components/forms/PaymentInput/index.js +5 -0
- package/dist/components/forms/PaymentInput/index.js.map +1 -0
- package/dist/components/forms/PhoneInput/index.js +5 -0
- package/dist/components/forms/PhoneInput/index.js.map +1 -0
- package/dist/components/forms/RadioButton/index.js +6 -0
- package/dist/components/forms/RadioButton/index.js.map +1 -0
- package/dist/components/forms/RadioCardGroup/index.js +5 -0
- package/dist/components/forms/RadioCardGroup/index.js.map +1 -0
- package/dist/components/forms/RadioGroup/index.js +6 -0
- package/dist/components/forms/RadioGroup/index.js.map +1 -0
- package/dist/components/forms/Rating/index.js +5 -0
- package/dist/components/forms/Rating/index.js.map +1 -0
- package/dist/components/forms/SearchInput/index.js +7 -0
- package/dist/components/forms/SearchInput/index.js.map +1 -0
- package/dist/components/forms/Select/index.js +5 -0
- package/dist/components/forms/Select/index.js.map +1 -0
- package/dist/components/forms/Slider/index.js +5 -0
- package/dist/components/forms/Slider/index.js.map +1 -0
- package/dist/components/forms/SuccessMessage/index.js +5 -0
- package/dist/components/forms/SuccessMessage/index.js.map +1 -0
- package/dist/components/forms/Switch/index.js +5 -0
- package/dist/components/forms/Switch/index.js.map +1 -0
- package/dist/components/forms/TagsInput/index.js +8 -0
- package/dist/components/forms/TagsInput/index.js.map +1 -0
- package/dist/components/forms/TextInput/index.js +6 -0
- package/dist/components/forms/TextInput/index.js.map +1 -0
- package/dist/components/forms/Textarea/index.js +5 -0
- package/dist/components/forms/Textarea/index.js.map +1 -0
- package/dist/components/forms/TextareaField/index.js +9 -0
- package/dist/components/forms/TextareaField/index.js.map +1 -0
- package/dist/components/forms/TimePicker/index.js +7 -0
- package/dist/components/forms/TimePicker/index.js.map +1 -0
- package/dist/components/forms/URLInput/index.js +7 -0
- package/dist/components/forms/URLInput/index.js.map +1 -0
- package/dist/components/forms/index.js +57 -0
- package/dist/components/forms/index.js.map +1 -0
- package/dist/components/index.js +203 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/layout/Card/index.js +5 -0
- package/dist/components/layout/Card/index.js.map +1 -0
- package/dist/components/layout/Collapsible/index.js +5 -0
- package/dist/components/layout/Collapsible/index.js.map +1 -0
- package/dist/components/layout/Container/index.js +5 -0
- package/dist/components/layout/Container/index.js.map +1 -0
- package/dist/components/layout/Flex/index.js +5 -0
- package/dist/components/layout/Flex/index.js.map +1 -0
- package/dist/components/layout/Grid/index.js +5 -0
- package/dist/components/layout/Grid/index.js.map +1 -0
- package/dist/components/layout/Panel/index.js +6 -0
- package/dist/components/layout/Panel/index.js.map +1 -0
- package/dist/components/layout/ResizablePanels/index.js +5 -0
- package/dist/components/layout/ResizablePanels/index.js.map +1 -0
- package/dist/components/layout/ResponsiveContainer/index.js +5 -0
- package/dist/components/layout/ResponsiveContainer/index.js.map +1 -0
- package/dist/components/layout/ScrollArea/index.js +5 -0
- package/dist/components/layout/ScrollArea/index.js.map +1 -0
- package/dist/components/layout/Section/index.js +5 -0
- package/dist/components/layout/Section/index.js.map +1 -0
- package/dist/components/layout/Sheet/index.js +5 -0
- package/dist/components/layout/Sheet/index.js.map +1 -0
- package/dist/components/layout/Stack/index.js +5 -0
- package/dist/components/layout/Stack/index.js.map +1 -0
- package/dist/components/layout/index.js +17 -0
- package/dist/components/layout/index.js.map +1 -0
- package/dist/components/navigation/AccountSwitch/index.js +10 -0
- package/dist/components/navigation/AccountSwitch/index.js.map +1 -0
- package/dist/components/navigation/Breadcrumb/index.js +5 -0
- package/dist/components/navigation/Breadcrumb/index.js.map +1 -0
- package/dist/components/navigation/ContextMenu/index.js +5 -0
- package/dist/components/navigation/ContextMenu/index.js.map +1 -0
- package/dist/components/navigation/Drawer/index.js +5 -0
- package/dist/components/navigation/Drawer/index.js.map +1 -0
- package/dist/components/navigation/DropdownMenu/index.js +5 -0
- package/dist/components/navigation/DropdownMenu/index.js.map +1 -0
- package/dist/components/navigation/FileTree/index.js +5 -0
- package/dist/components/navigation/FileTree/index.js.map +1 -0
- package/dist/components/navigation/Header/index.js +5 -0
- package/dist/components/navigation/Header/index.js.map +1 -0
- package/dist/components/navigation/LogoConta/index.js +5 -0
- package/dist/components/navigation/LogoConta/index.js.map +1 -0
- package/dist/components/navigation/Menu/index.js +6 -0
- package/dist/components/navigation/Menu/index.js.map +1 -0
- package/dist/components/navigation/Menubar/index.js +5 -0
- package/dist/components/navigation/Menubar/index.js.map +1 -0
- package/dist/components/navigation/Navbar/index.js +5 -0
- package/dist/components/navigation/Navbar/index.js.map +1 -0
- package/dist/components/navigation/NavigationMenu/index.js +5 -0
- package/dist/components/navigation/NavigationMenu/index.js.map +1 -0
- package/dist/components/navigation/Pagination/index.js +10 -0
- package/dist/components/navigation/Pagination/index.js.map +1 -0
- package/dist/components/navigation/Sidebar/index.js +16 -0
- package/dist/components/navigation/Sidebar/index.js.map +1 -0
- package/dist/components/navigation/SkipLinks/index.js +5 -0
- package/dist/components/navigation/SkipLinks/index.js.map +1 -0
- package/dist/components/navigation/SpeedDial/index.js +6 -0
- package/dist/components/navigation/SpeedDial/index.js.map +1 -0
- package/dist/components/navigation/TabNavigation/index.js +5 -0
- package/dist/components/navigation/TabNavigation/index.js.map +1 -0
- package/dist/components/navigation/TabPanel/index.js +5 -0
- package/dist/components/navigation/TabPanel/index.js.map +1 -0
- package/dist/components/navigation/Tabs/index.js +5 -0
- package/dist/components/navigation/Tabs/index.js.map +1 -0
- package/dist/components/navigation/Toolbar/index.js +5 -0
- package/dist/components/navigation/Toolbar/index.js.map +1 -0
- package/dist/components/navigation/Topbar/index.js +5 -0
- package/dist/components/navigation/Topbar/index.js.map +1 -0
- package/dist/components/navigation/index.js +39 -0
- package/dist/components/navigation/index.js.map +1 -0
- package/dist/components/primitives/ArrowAnimated/index.js +5 -0
- package/dist/components/primitives/ArrowAnimated/index.js.map +1 -0
- package/dist/components/primitives/AspectRatio/index.js +4 -0
- package/dist/components/primitives/AspectRatio/index.js.map +1 -0
- package/dist/components/primitives/Avatar/index.js +6 -0
- package/dist/components/primitives/Avatar/index.js.map +1 -0
- package/dist/components/primitives/Badge/index.js +7 -0
- package/dist/components/primitives/Badge/index.js.map +1 -0
- package/dist/components/primitives/Button/index.js +9 -0
- package/dist/components/primitives/Button/index.js.map +1 -0
- package/dist/components/primitives/ButtonGroup/index.js +7 -0
- package/dist/components/primitives/ButtonGroup/index.js.map +1 -0
- package/dist/components/primitives/ConfirmButton/index.js +11 -0
- package/dist/components/primitives/ConfirmButton/index.js.map +1 -0
- package/dist/components/primitives/Divider/index.js +5 -0
- package/dist/components/primitives/Divider/index.js.map +1 -0
- package/dist/components/primitives/FeaturedIcon/index.js +5 -0
- package/dist/components/primitives/FeaturedIcon/index.js.map +1 -0
- package/dist/components/primitives/FolderStack/index.js +5 -0
- package/dist/components/primitives/FolderStack/index.js.map +1 -0
- package/dist/components/primitives/Heading/index.js +5 -0
- package/dist/components/primitives/Heading/index.js.map +1 -0
- package/dist/components/primitives/Icon/index.js +5 -0
- package/dist/components/primitives/Icon/index.js.map +1 -0
- package/dist/components/primitives/Image/index.js +5 -0
- package/dist/components/primitives/Image/index.js.map +1 -0
- package/dist/components/primitives/Kbd/index.js +5 -0
- package/dist/components/primitives/Kbd/index.js.map +1 -0
- package/dist/components/primitives/Label/index.js +5 -0
- package/dist/components/primitives/Label/index.js.map +1 -0
- package/dist/components/primitives/Link/index.js +5 -0
- package/dist/components/primitives/Link/index.js.map +1 -0
- package/dist/components/primitives/Paragraph/index.js +5 -0
- package/dist/components/primitives/Paragraph/index.js.map +1 -0
- package/dist/components/primitives/PaymentMethodIcon/index.js +5 -0
- package/dist/components/primitives/PaymentMethodIcon/index.js.map +1 -0
- package/dist/components/primitives/ProgressBar/index.js +6 -0
- package/dist/components/primitives/ProgressBar/index.js.map +1 -0
- package/dist/components/primitives/ProgressCircle/index.js +6 -0
- package/dist/components/primitives/ProgressCircle/index.js.map +1 -0
- package/dist/components/primitives/SkeletonLoader/index.js +5 -0
- package/dist/components/primitives/SkeletonLoader/index.js.map +1 -0
- package/dist/components/primitives/Spacer/index.js +5 -0
- package/dist/components/primitives/Spacer/index.js.map +1 -0
- package/dist/components/primitives/Spinner/index.js +5 -0
- package/dist/components/primitives/Spinner/index.js.map +1 -0
- package/dist/components/primitives/SplitButton/index.js +6 -0
- package/dist/components/primitives/SplitButton/index.js.map +1 -0
- package/dist/components/primitives/StatusIndicator/index.js +5 -0
- package/dist/components/primitives/StatusIndicator/index.js.map +1 -0
- package/dist/components/primitives/Tag/index.js +5 -0
- package/dist/components/primitives/Tag/index.js.map +1 -0
- package/dist/components/primitives/Text/index.js +5 -0
- package/dist/components/primitives/Text/index.js.map +1 -0
- package/dist/components/primitives/Thumbnail/index.js +6 -0
- package/dist/components/primitives/Thumbnail/index.js.map +1 -0
- package/dist/components/primitives/Toggle/index.js +5 -0
- package/dist/components/primitives/Toggle/index.js.map +1 -0
- package/dist/components/primitives/index.js +39 -0
- package/dist/components/primitives/index.js.map +1 -0
- package/dist/components/workflow/ApprovalFlow/index.js +11 -0
- package/dist/components/workflow/ApprovalFlow/index.js.map +1 -0
- package/dist/components/workflow/ApprovalStatus/index.js +5 -0
- package/dist/components/workflow/ApprovalStatus/index.js.map +1 -0
- package/dist/components/workflow/CommentSystem/index.js +12 -0
- package/dist/components/workflow/CommentSystem/index.js.map +1 -0
- package/dist/components/workflow/Dashboard/index.js +10 -0
- package/dist/components/workflow/Dashboard/index.js.map +1 -0
- package/dist/components/workflow/DashboardBuilder/index.js +13 -0
- package/dist/components/workflow/DashboardBuilder/index.js.map +1 -0
- package/dist/components/workflow/KanbanBoard/index.js +13 -0
- package/dist/components/workflow/KanbanBoard/index.js.map +1 -0
- package/dist/components/workflow/ProgressSteps/index.js +5 -0
- package/dist/components/workflow/ProgressSteps/index.js.map +1 -0
- package/dist/components/workflow/ReportGenerator/index.js +12 -0
- package/dist/components/workflow/ReportGenerator/index.js.map +1 -0
- package/dist/components/workflow/Stepper/index.js +5 -0
- package/dist/components/workflow/Stepper/index.js.map +1 -0
- package/dist/components/workflow/TaskCard/index.js +5 -0
- package/dist/components/workflow/TaskCard/index.js.map +1 -0
- package/dist/components/workflow/TaskList/index.js +5 -0
- package/dist/components/workflow/TaskList/index.js.map +1 -0
- package/dist/components/workflow/TaskStatus/index.js +6 -0
- package/dist/components/workflow/TaskStatus/index.js.map +1 -0
- package/dist/components/workflow/Wizard/index.js +11 -0
- package/dist/components/workflow/Wizard/index.js.map +1 -0
- package/dist/components/workflow/index.js +32 -0
- package/dist/components/workflow/index.js.map +1 -0
- package/dist/fonts/inter-OFL.txt +92 -0
- package/dist/fonts/inter-latin-400-normal.woff2 +0 -0
- package/dist/fonts/inter-latin-500-normal.woff2 +0 -0
- package/dist/fonts/inter-latin-600-normal.woff2 +0 -0
- package/dist/fonts/inter-latin-700-normal.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-OFL.txt +93 -0
- package/dist/fonts/jetbrains-mono-latin-400-normal.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-latin-500-normal.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-latin-700-normal.woff2 +0 -0
- package/dist/hooks/index.js +6 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/index.d.ts +1554 -996
- package/dist/index.js +204 -52453
- package/dist/index.js.map +1 -1
- package/dist/jspdf.node.min-CTWP225M.js +372 -656
- package/dist/jspdf.node.min-CTWP225M.js.map +1 -1
- package/dist/jspdf.plugin.autotable-AAE7PZKA.js +4 -14
- package/dist/jspdf.plugin.autotable-AAE7PZKA.js.map +1 -1
- package/dist/lib/chart-colors.js +4 -0
- package/dist/lib/chart-colors.js.map +1 -0
- package/dist/lib/utils.d.ts +2 -1
- package/dist/lib/utils.js +3 -7
- package/dist/lib/utils.js.map +1 -1
- package/dist/styles.css +5001 -0
- package/dist/xlsx-PWHBQ6NK.js +206 -366
- package/dist/xlsx-PWHBQ6NK.js.map +1 -1
- package/package.json +19 -17
- package/dist/chunk-HRNDJU7D.js +0 -11
- package/dist/chunk-HRNDJU7D.js.map +0 -1
- package/styles.css +0 -62
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/advanced/ErrorBoundary/ErrorBoundary.tsx","../src/components/advanced/ErrorBoundary/ErrorBoundary.variants.ts"],"names":[],"mappings":"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","file":"chunk-5ETVWWA5.js","sourcesContent":["import type {\n ErrorBoundaryProps,\n ErrorBoundaryState,\n FallbackProps,\n} from \"./ErrorBoundary.types\"\n\nimport { Component, type ErrorInfo, type ReactNode } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\n\n/**\n * Default fallback UI shown when an error occurs and no custom fallback is provided\n */\nfunction DefaultFallback({ error, resetErrorBoundary }: FallbackProps) {\n return (\n <div\n className={cn(\n \"flex flex-col items-center justify-center gap-4 rounded-lg border border-destructive bg-destructive/10 p-6\"\n )}\n aria-live=\"assertive\"\n data-slot=\"error-boundary-fallback\"\n role=\"alert\"\n >\n <div className=\"text-destructive\">\n <svg\n aria-hidden=\"true\"\n className=\"size-12\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"12\" x2=\"12\" y1=\"8\" y2=\"12\" />\n <line x1=\"12\" x2=\"12.01\" y1=\"16\" y2=\"16\" />\n </svg>\n </div>\n <div className=\"space-y-2 text-center\">\n <h2 className=\"text-lg font-semibold text-destructive\">\n Something went wrong\n </h2>\n <p className=\"text-sm text-muted-foreground\">\n {error.message || \"An unexpected error occurred\"}\n </p>\n </div>\n <button\n className={cn(\n \"inline-flex h-9 items-center justify-center gap-2 rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\"\n )}\n data-slot=\"error-boundary-reset-button\"\n type=\"button\"\n onClick={resetErrorBoundary}\n >\n Try again\n </button>\n </div>\n )\n}\n\n/**\n * ErrorBoundary catches JavaScript errors in child component trees,\n * logs them, and displays a fallback UI instead of crashing the whole app.\n *\n * @example\n * ```tsx\n * <ErrorBoundary fallback={<p>Something went wrong</p>}>\n * <MyComponent />\n * </ErrorBoundary>\n * ```\n *\n * @example\n * ```tsx\n * <ErrorBoundary\n * FallbackComponent={ErrorFallback}\n * onError={(error, info) => logError(error, info)}\n * onReset={() => resetAppState()}\n * resetKeys={[userId]}\n * >\n * <Dashboard />\n * </ErrorBoundary>\n * ```\n */\nclass ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n constructor(props: ErrorBoundaryProps) {\n super(props)\n this.state = {\n error: null,\n hasError: false,\n }\n }\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n return {\n error,\n hasError: true,\n }\n }\n\n override componentDidCatch(error: Error, errorInfo: ErrorInfo): void {\n const { onError } = this.props\n onError?.(error, errorInfo)\n }\n\n override componentDidUpdate(prevProps: ErrorBoundaryProps): void {\n const { resetKeys } = this.props\n const { hasError } = this.state\n\n if (hasError && prevProps.resetKeys !== resetKeys) {\n // Check if any resetKey changed\n if (resetKeys && prevProps.resetKeys) {\n const hasKeyChanged = resetKeys.some(\n (key, index) => prevProps.resetKeys?.[index] !== key\n )\n if (hasKeyChanged) {\n this.reset()\n }\n } else if (resetKeys !== prevProps.resetKeys) {\n this.reset()\n }\n }\n }\n\n reset = (): void => {\n const { onReset } = this.props\n onReset?.()\n this.setState({\n error: null,\n hasError: false,\n })\n }\n\n override render(): ReactNode {\n const { children, className, fallback, FallbackComponent } = this.props\n const { error, hasError } = this.state\n\n if (hasError && error) {\n const fallbackProps: FallbackProps = {\n error,\n resetErrorBoundary: this.reset,\n }\n\n // Priority: FallbackComponent > fallback function > fallback node > DefaultFallback\n if (FallbackComponent) {\n return (\n <div className={className} data-slot=\"error-boundary\">\n <FallbackComponent {...fallbackProps} />\n </div>\n )\n }\n\n if (typeof fallback === \"function\") {\n const renderFallback = fallback\n return (\n <div className={className} data-slot=\"error-boundary\">\n {renderFallback(fallbackProps)}\n </div>\n )\n }\n\n if (fallback !== undefined) {\n return (\n <div className={className} data-slot=\"error-boundary\">\n {fallback}\n </div>\n )\n }\n\n // Default fallback\n return (\n <div className={className} data-slot=\"error-boundary\">\n <DefaultFallback {...fallbackProps} />\n </div>\n )\n }\n\n return children\n }\n}\n\nexport { DefaultFallback, ErrorBoundary }\n","import { cva } from \"class-variance-authority\"\n\n/**\n * ErrorBoundary fallback container variants\n */\nexport const errorBoundaryFallbackVariants = cva(\n \"flex flex-col items-center justify-center text-center\",\n {\n variants: {\n variant: {\n minimal: \"p-4 gap-2\",\n detailed: \"p-6 gap-4\",\n action: \"p-6 gap-4\",\n fullscreen: \"min-h-screen p-8 gap-6\",\n },\n severity: {\n error: \"text-destructive\",\n warning: \"text-warning\",\n info: \"text-muted-foreground\",\n },\n },\n defaultVariants: {\n variant: \"detailed\",\n severity: \"error\",\n },\n }\n)\n\n/**\n * ErrorBoundary fallback card variants\n */\nexport const errorBoundaryCardVariants = cva(\n \"rounded-lg border bg-background p-6\",\n {\n variants: {\n variant: {\n minimal: \"border-border\",\n detailed: \"border-destructive/50 bg-destructive/5\",\n action: \"border-destructive/50 bg-destructive/5\",\n fullscreen: \"border-destructive/50 bg-destructive/5 max-w-md w-full\",\n },\n },\n defaultVariants: {\n variant: \"detailed\",\n },\n }\n)\n\n/**\n * ErrorBoundary icon variants\n */\nexport const errorBoundaryIconVariants = cva(\n \"shrink-0\",\n {\n variants: {\n size: {\n sm: \"h-8 w-8\",\n md: \"h-12 w-12\",\n lg: \"h-16 w-16\",\n },\n severity: {\n error: \"text-destructive\",\n warning: \"text-warning\",\n info: \"text-muted-foreground\",\n },\n },\n defaultVariants: {\n size: \"md\",\n severity: \"error\",\n },\n }\n)\n\n/**\n * ErrorBoundary title variants\n */\nexport const errorBoundaryTitleVariants = cva(\n \"font-semibold\",\n {\n variants: {\n size: {\n sm: \"text-base\",\n md: \"text-lg\",\n lg: \"text-xl\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n/**\n * ErrorBoundary message variants\n */\nexport const errorBoundaryMessageVariants = cva(\n \"text-muted-foreground\",\n {\n variants: {\n size: {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n/**\n * ErrorBoundary stack trace variants\n */\nexport const errorBoundaryStackVariants = cva(\n \"w-full overflow-auto rounded-md bg-muted p-4 text-left font-mono text-xs text-muted-foreground\",\n {\n variants: {\n collapsed: {\n true: \"max-h-24\",\n false: \"max-h-64\",\n },\n },\n defaultVariants: {\n collapsed: true,\n },\n }\n)\n\n/**\n * ErrorBoundary action button variants\n */\nexport const errorBoundaryActionVariants = cva(\n \"inline-flex items-center justify-center gap-2 rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\",\n {\n variants: {\n variant: {\n primary: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n outline: \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n },\n size: {\n sm: \"h-8 px-3 text-sm\",\n md: \"h-9 px-4 text-sm\",\n lg: \"h-10 px-6 text-base\",\n },\n },\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n },\n }\n)\n"]}
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
import { Tooltip, TooltipTrigger, TooltipContent } from './chunk-TEVGCTUN.js';
|
|
2
|
+
import { cn } from './chunk-RVAYDRMA.js';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { cva } from 'class-variance-authority';
|
|
5
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
var PROGRESS_CIRCLE_SIZES = {
|
|
8
|
+
xxs: { diameter: 64, strokeWidth: 4, fontSize: "text-sm", labelSize: "text-xs" },
|
|
9
|
+
xs: { diameter: 160, strokeWidth: 8, fontSize: "text-2xl", labelSize: "text-sm" },
|
|
10
|
+
sm: { diameter: 200, strokeWidth: 10, fontSize: "text-3xl", labelSize: "text-sm" },
|
|
11
|
+
md: { diameter: 240, strokeWidth: 12, fontSize: "text-4xl", labelSize: "text-base" },
|
|
12
|
+
lg: { diameter: 280, strokeWidth: 14, fontSize: "text-5xl", labelSize: "text-base" }
|
|
13
|
+
};
|
|
14
|
+
var progressCircleContainerVariants = cva(
|
|
15
|
+
"relative inline-flex items-center justify-center",
|
|
16
|
+
{
|
|
17
|
+
variants: {
|
|
18
|
+
size: {
|
|
19
|
+
xxs: "w-[var(--progress-circle-size-xxs-diameter)] h-[var(--progress-circle-size-xxs-diameter)]",
|
|
20
|
+
xs: "w-[var(--progress-circle-size-xs-diameter)] h-[var(--progress-circle-size-xs-diameter)]",
|
|
21
|
+
sm: "w-[var(--progress-circle-size-sm-diameter)] h-[var(--progress-circle-size-sm-diameter)]",
|
|
22
|
+
md: "w-[var(--progress-circle-size-md-diameter)] h-[var(--progress-circle-size-md-diameter)]",
|
|
23
|
+
lg: "w-[var(--progress-circle-size-lg-diameter)] h-[var(--progress-circle-size-lg-diameter)]"
|
|
24
|
+
},
|
|
25
|
+
shape: {
|
|
26
|
+
circle: "",
|
|
27
|
+
"half-circle": "!h-auto"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
defaultVariants: {
|
|
31
|
+
size: "md",
|
|
32
|
+
shape: "circle"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
);
|
|
36
|
+
var progressCircleTrackVariants = cva(
|
|
37
|
+
"transition-colors",
|
|
38
|
+
{
|
|
39
|
+
variants: {
|
|
40
|
+
color: {
|
|
41
|
+
default: "stroke-[color:var(--progress-circle-track-color-default)]",
|
|
42
|
+
primary: "stroke-[color:var(--progress-circle-track-color-primary)]",
|
|
43
|
+
success: "stroke-[color:var(--progress-circle-track-color-success)]",
|
|
44
|
+
warning: "stroke-[color:var(--progress-circle-track-color-warning)]",
|
|
45
|
+
error: "stroke-[color:var(--progress-circle-track-color-error)]"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
defaultVariants: {
|
|
49
|
+
color: "default"
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
var progressCircleIndicatorVariants = cva(
|
|
54
|
+
"transition-all duration-700 ease-out motion-reduce:transition-none",
|
|
55
|
+
{
|
|
56
|
+
variants: {
|
|
57
|
+
color: {
|
|
58
|
+
default: "stroke-[color:var(--progress-circle-indicator-color-default)]",
|
|
59
|
+
primary: "stroke-[color:var(--progress-circle-indicator-color-primary)]",
|
|
60
|
+
success: "stroke-[color:var(--progress-circle-indicator-color-success)]",
|
|
61
|
+
warning: "stroke-[color:var(--progress-circle-indicator-color-warning)]",
|
|
62
|
+
error: "stroke-[color:var(--progress-circle-indicator-color-error)]"
|
|
63
|
+
},
|
|
64
|
+
indeterminate: {
|
|
65
|
+
true: "animate-spin origin-center",
|
|
66
|
+
false: ""
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
defaultVariants: {
|
|
70
|
+
color: "default",
|
|
71
|
+
indeterminate: false
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
var progressCircleValueVariants = cva(
|
|
76
|
+
"font-[var(--progress-circle-value-font-weight)] tabular-nums text-[color:var(--progress-circle-value-color)]",
|
|
77
|
+
{
|
|
78
|
+
variants: {
|
|
79
|
+
size: {
|
|
80
|
+
xxs: "text-sm",
|
|
81
|
+
xs: "text-2xl",
|
|
82
|
+
sm: "text-3xl",
|
|
83
|
+
md: "text-4xl",
|
|
84
|
+
lg: "text-5xl"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
defaultVariants: {
|
|
88
|
+
size: "md"
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
);
|
|
92
|
+
var progressCircleLabelVariants = cva(
|
|
93
|
+
"text-[color:var(--progress-circle-label-color)]",
|
|
94
|
+
{
|
|
95
|
+
variants: {
|
|
96
|
+
size: {
|
|
97
|
+
xxs: "text-xs",
|
|
98
|
+
xs: "text-sm",
|
|
99
|
+
sm: "text-sm",
|
|
100
|
+
md: "text-base",
|
|
101
|
+
lg: "text-base"
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
defaultVariants: {
|
|
105
|
+
size: "md"
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
);
|
|
109
|
+
var defaultFormatValue = (value) => `${String(value)}%`;
|
|
110
|
+
function ProgressCircle({
|
|
111
|
+
value = 0,
|
|
112
|
+
max = 100,
|
|
113
|
+
indeterminate = false,
|
|
114
|
+
size = "md",
|
|
115
|
+
shape = "circle",
|
|
116
|
+
color = "default",
|
|
117
|
+
label,
|
|
118
|
+
formatValue = defaultFormatValue,
|
|
119
|
+
showValue = true,
|
|
120
|
+
radius: customRadius,
|
|
121
|
+
strokeWidth: customStrokeWidth,
|
|
122
|
+
className,
|
|
123
|
+
animate = true,
|
|
124
|
+
tooltip,
|
|
125
|
+
"aria-label": ariaLabel,
|
|
126
|
+
"aria-labelledby": ariaLabelledby
|
|
127
|
+
}) {
|
|
128
|
+
const clampedRawValue = Math.min(max, Math.max(0, value));
|
|
129
|
+
const clampedValue = clampedRawValue / max * 100;
|
|
130
|
+
const [isVisible, setIsVisible] = React.useState(!animate || indeterminate);
|
|
131
|
+
const containerRef = React.useRef(null);
|
|
132
|
+
React.useEffect(() => {
|
|
133
|
+
if (!animate || indeterminate || isVisible) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
const element = containerRef.current;
|
|
137
|
+
if (!element) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const observer = new IntersectionObserver(
|
|
141
|
+
(entries) => {
|
|
142
|
+
const entry = entries[0];
|
|
143
|
+
if (entry?.isIntersecting) {
|
|
144
|
+
requestAnimationFrame(() => {
|
|
145
|
+
setIsVisible(true);
|
|
146
|
+
});
|
|
147
|
+
observer.disconnect();
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
{ threshold: 0.1 }
|
|
151
|
+
);
|
|
152
|
+
observer.observe(element);
|
|
153
|
+
return () => {
|
|
154
|
+
observer.disconnect();
|
|
155
|
+
};
|
|
156
|
+
}, [animate, indeterminate, isVisible]);
|
|
157
|
+
const sizeConfig = PROGRESS_CIRCLE_SIZES[size];
|
|
158
|
+
const strokeWidth = customStrokeWidth ?? sizeConfig.strokeWidth;
|
|
159
|
+
const diameter = customRadius ? customRadius * 2 + strokeWidth : sizeConfig.diameter;
|
|
160
|
+
const radius = (diameter - strokeWidth) / 2;
|
|
161
|
+
const center = diameter / 2;
|
|
162
|
+
const isHalfCircle = shape === "half-circle";
|
|
163
|
+
const circumference = isHalfCircle ? Math.PI * radius : 2 * Math.PI * radius;
|
|
164
|
+
const displayValue = indeterminate ? 25 : isVisible ? clampedValue : 0;
|
|
165
|
+
const progressOffset = circumference - displayValue / 100 * circumference;
|
|
166
|
+
const viewBoxHeight = isHalfCircle ? diameter / 2 + strokeWidth : diameter;
|
|
167
|
+
const getPath = () => {
|
|
168
|
+
if (isHalfCircle) {
|
|
169
|
+
const startX = strokeWidth / 2;
|
|
170
|
+
const startY = center;
|
|
171
|
+
const endX = diameter - strokeWidth / 2;
|
|
172
|
+
const endY = center;
|
|
173
|
+
return `M ${String(startX)} ${String(startY)} A ${String(radius)} ${String(radius)} 0 0 1 ${String(endX)} ${String(endY)}`;
|
|
174
|
+
}
|
|
175
|
+
return;
|
|
176
|
+
};
|
|
177
|
+
const formattedValue = formatValue(clampedRawValue);
|
|
178
|
+
const progressCircleElement = /* @__PURE__ */ jsxs(
|
|
179
|
+
"div",
|
|
180
|
+
{
|
|
181
|
+
ref: containerRef,
|
|
182
|
+
className: cn(
|
|
183
|
+
progressCircleContainerVariants({ size, shape }),
|
|
184
|
+
className
|
|
185
|
+
),
|
|
186
|
+
"aria-label": ariaLabel,
|
|
187
|
+
"aria-labelledby": ariaLabelledby,
|
|
188
|
+
"aria-valuemax": max,
|
|
189
|
+
"aria-valuemin": 0,
|
|
190
|
+
"aria-valuenow": indeterminate ? void 0 : clampedRawValue,
|
|
191
|
+
"data-indeterminate": indeterminate || void 0,
|
|
192
|
+
"data-slot": "progress-circle",
|
|
193
|
+
role: "progressbar",
|
|
194
|
+
children: [
|
|
195
|
+
/* @__PURE__ */ jsx(
|
|
196
|
+
"svg",
|
|
197
|
+
{
|
|
198
|
+
className: isHalfCircle ? "rotate-0" : "",
|
|
199
|
+
"data-slot": "progress-circle-svg",
|
|
200
|
+
height: viewBoxHeight,
|
|
201
|
+
viewBox: `0 0 ${String(diameter)} ${String(viewBoxHeight)}`,
|
|
202
|
+
width: diameter,
|
|
203
|
+
children: isHalfCircle ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
204
|
+
/* @__PURE__ */ jsx(
|
|
205
|
+
"path",
|
|
206
|
+
{
|
|
207
|
+
className: cn(progressCircleTrackVariants({ color })),
|
|
208
|
+
d: getPath(),
|
|
209
|
+
"data-slot": "progress-circle-track",
|
|
210
|
+
fill: "none",
|
|
211
|
+
strokeLinecap: "round",
|
|
212
|
+
strokeWidth
|
|
213
|
+
}
|
|
214
|
+
),
|
|
215
|
+
/* @__PURE__ */ jsx(
|
|
216
|
+
"path",
|
|
217
|
+
{
|
|
218
|
+
className: cn(progressCircleIndicatorVariants({ color })),
|
|
219
|
+
d: getPath(),
|
|
220
|
+
"data-slot": "progress-circle-indicator",
|
|
221
|
+
fill: "none",
|
|
222
|
+
strokeDasharray: circumference,
|
|
223
|
+
strokeDashoffset: progressOffset,
|
|
224
|
+
strokeLinecap: "round",
|
|
225
|
+
strokeWidth
|
|
226
|
+
}
|
|
227
|
+
)
|
|
228
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
229
|
+
/* @__PURE__ */ jsx(
|
|
230
|
+
"circle",
|
|
231
|
+
{
|
|
232
|
+
className: cn(progressCircleTrackVariants({ color })),
|
|
233
|
+
cx: center,
|
|
234
|
+
cy: center,
|
|
235
|
+
"data-slot": "progress-circle-track",
|
|
236
|
+
fill: "none",
|
|
237
|
+
r: radius,
|
|
238
|
+
strokeWidth
|
|
239
|
+
}
|
|
240
|
+
),
|
|
241
|
+
/* @__PURE__ */ jsx(
|
|
242
|
+
"circle",
|
|
243
|
+
{
|
|
244
|
+
style: {
|
|
245
|
+
transform: indeterminate ? void 0 : "rotate(-90deg)",
|
|
246
|
+
transformOrigin: "center"
|
|
247
|
+
},
|
|
248
|
+
className: cn(progressCircleIndicatorVariants({ color, indeterminate })),
|
|
249
|
+
cx: center,
|
|
250
|
+
cy: center,
|
|
251
|
+
"data-slot": "progress-circle-indicator",
|
|
252
|
+
fill: "none",
|
|
253
|
+
r: radius,
|
|
254
|
+
strokeDasharray: circumference,
|
|
255
|
+
strokeDashoffset: progressOffset,
|
|
256
|
+
strokeLinecap: "round",
|
|
257
|
+
strokeWidth
|
|
258
|
+
}
|
|
259
|
+
)
|
|
260
|
+
] })
|
|
261
|
+
}
|
|
262
|
+
),
|
|
263
|
+
/* @__PURE__ */ jsxs(
|
|
264
|
+
"div",
|
|
265
|
+
{
|
|
266
|
+
className: cn(
|
|
267
|
+
"absolute flex flex-col items-center justify-center",
|
|
268
|
+
isHalfCircle && "bottom-0"
|
|
269
|
+
),
|
|
270
|
+
"data-slot": "progress-circle-content",
|
|
271
|
+
children: [
|
|
272
|
+
showValue && !indeterminate && /* @__PURE__ */ jsx(
|
|
273
|
+
"span",
|
|
274
|
+
{
|
|
275
|
+
className: cn(progressCircleValueVariants({ size })),
|
|
276
|
+
"data-slot": "progress-circle-value",
|
|
277
|
+
children: formattedValue
|
|
278
|
+
}
|
|
279
|
+
),
|
|
280
|
+
label && /* @__PURE__ */ jsx(
|
|
281
|
+
"span",
|
|
282
|
+
{
|
|
283
|
+
className: cn(progressCircleLabelVariants({ size })),
|
|
284
|
+
"data-slot": "progress-circle-label",
|
|
285
|
+
children: label
|
|
286
|
+
}
|
|
287
|
+
)
|
|
288
|
+
]
|
|
289
|
+
}
|
|
290
|
+
)
|
|
291
|
+
]
|
|
292
|
+
}
|
|
293
|
+
);
|
|
294
|
+
if (tooltip) {
|
|
295
|
+
return /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
296
|
+
/* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: progressCircleElement }),
|
|
297
|
+
/* @__PURE__ */ jsx(TooltipContent, { children: tooltip })
|
|
298
|
+
] });
|
|
299
|
+
}
|
|
300
|
+
return progressCircleElement;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
export { PROGRESS_CIRCLE_SIZES, ProgressCircle, progressCircleContainerVariants, progressCircleIndicatorVariants, progressCircleLabelVariants, progressCircleTrackVariants, progressCircleValueVariants };
|
|
304
|
+
//# sourceMappingURL=chunk-5GV4LDX7.js.map
|
|
305
|
+
//# sourceMappingURL=chunk-5GV4LDX7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/primitives/ProgressCircle/ProgressCircle.variants.ts","../src/components/primitives/ProgressCircle/ProgressCircle.tsx"],"names":[],"mappings":"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","file":"chunk-5GV4LDX7.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * Size configuration for ProgressCircle\n * Maps size variant to actual pixel dimensions and stroke widths.\n *\n * Values are synced with CSS variables from @etus/tokens:\n * - --progress-circle-size-{size}-diameter\n * - --progress-circle-size-{size}-stroke-width\n *\n * Numeric values are required here for SVG attribute calculations\n * (radius, circumference, path coordinates).\n */\nexport const PROGRESS_CIRCLE_SIZES = {\n xxs: { diameter: 64, strokeWidth: 4, fontSize: \"text-sm\", labelSize: \"text-xs\" },\n xs: { diameter: 160, strokeWidth: 8, fontSize: \"text-2xl\", labelSize: \"text-sm\" },\n sm: { diameter: 200, strokeWidth: 10, fontSize: \"text-3xl\", labelSize: \"text-sm\" },\n md: { diameter: 240, strokeWidth: 12, fontSize: \"text-4xl\", labelSize: \"text-base\" },\n lg: { diameter: 280, strokeWidth: 14, fontSize: \"text-5xl\", labelSize: \"text-base\" },\n} as const\n\n/**\n * Container variants for the progress circle\n * Uses CSS custom properties from @etus/tokens for sizing\n */\nexport const progressCircleContainerVariants = cva(\n \"relative inline-flex items-center justify-center\",\n {\n variants: {\n size: {\n xxs: \"w-[var(--progress-circle-size-xxs-diameter)] h-[var(--progress-circle-size-xxs-diameter)]\",\n xs: \"w-[var(--progress-circle-size-xs-diameter)] h-[var(--progress-circle-size-xs-diameter)]\",\n sm: \"w-[var(--progress-circle-size-sm-diameter)] h-[var(--progress-circle-size-sm-diameter)]\",\n md: \"w-[var(--progress-circle-size-md-diameter)] h-[var(--progress-circle-size-md-diameter)]\",\n lg: \"w-[var(--progress-circle-size-lg-diameter)] h-[var(--progress-circle-size-lg-diameter)]\",\n },\n shape: {\n circle: \"\",\n \"half-circle\": \"!h-auto\",\n },\n },\n defaultVariants: {\n size: \"md\",\n shape: \"circle\",\n },\n }\n)\n\n/**\n * Track (background circle) color variants\n */\nexport const progressCircleTrackVariants = cva(\n \"transition-colors\",\n {\n variants: {\n color: {\n default: \"stroke-[color:var(--progress-circle-track-color-default)]\",\n primary: \"stroke-[color:var(--progress-circle-track-color-primary)]\",\n success: \"stroke-[color:var(--progress-circle-track-color-success)]\",\n warning: \"stroke-[color:var(--progress-circle-track-color-warning)]\",\n error: \"stroke-[color:var(--progress-circle-track-color-error)]\",\n },\n },\n defaultVariants: {\n color: \"default\",\n },\n }\n)\n\n/**\n * Indicator (progress arc) color variants\n */\nexport const progressCircleIndicatorVariants = cva(\n \"transition-all duration-700 ease-out motion-reduce:transition-none\",\n {\n variants: {\n color: {\n default: \"stroke-[color:var(--progress-circle-indicator-color-default)]\",\n primary: \"stroke-[color:var(--progress-circle-indicator-color-primary)]\",\n success: \"stroke-[color:var(--progress-circle-indicator-color-success)]\",\n warning: \"stroke-[color:var(--progress-circle-indicator-color-warning)]\",\n error: \"stroke-[color:var(--progress-circle-indicator-color-error)]\",\n },\n indeterminate: {\n true: \"animate-spin origin-center\",\n false: \"\",\n },\n },\n defaultVariants: {\n color: \"default\",\n indeterminate: false,\n },\n }\n)\n\n/**\n * Value text variants (percentage in center)\n */\nexport const progressCircleValueVariants = cva(\n \"font-[var(--progress-circle-value-font-weight)] tabular-nums text-[color:var(--progress-circle-value-color)]\",\n {\n variants: {\n size: {\n xxs: \"text-sm\",\n xs: \"text-2xl\",\n sm: \"text-3xl\",\n md: \"text-4xl\",\n lg: \"text-5xl\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n/**\n * Label text variants (below percentage)\n */\nexport const progressCircleLabelVariants = cva(\n \"text-[color:var(--progress-circle-label-color)]\",\n {\n variants: {\n size: {\n xxs: \"text-xs\",\n xs: \"text-sm\",\n sm: \"text-sm\",\n md: \"text-base\",\n lg: \"text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\nexport type ProgressCircleContainerVariants = VariantProps<typeof progressCircleContainerVariants>\nexport type ProgressCircleTrackVariants = VariantProps<typeof progressCircleTrackVariants>\nexport type ProgressCircleIndicatorVariants = VariantProps<typeof progressCircleIndicatorVariants>\n","\"use client\"\n\nimport type { ProgressCircleProps } from \"./ProgressCircle.types\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../../feedback/Tooltip\"\nimport {\n PROGRESS_CIRCLE_SIZES,\n progressCircleContainerVariants,\n progressCircleIndicatorVariants,\n progressCircleLabelVariants,\n progressCircleTrackVariants,\n progressCircleValueVariants,\n} from \"./ProgressCircle.variants\"\n\n/**\n * Default format function for progress value\n */\nconst defaultFormatValue = (value: number): string => `${String(value)}%`\n\n/**\n * ProgressCircle component for displaying circular progress indicators.\n *\n * Built with SVG for smooth rendering and full accessibility support.\n * Supports multiple sizes, shapes (full circle and half-circle),\n * color variants, and optional labels.\n *\n * @example\n * ```tsx\n * // Basic usage\n * <ProgressCircle value={75} />\n *\n * // With label\n * <ProgressCircle value={60} label=\"Active users\" />\n *\n * // Half-circle variant\n * <ProgressCircle value={80} shape=\"half-circle\" />\n *\n * // Different sizes and colors\n * <ProgressCircle value={50} size=\"lg\" color=\"warning\" />\n * ```\n */\nfunction ProgressCircle({\n value = 0,\n max = 100,\n indeterminate = false,\n size = \"md\",\n shape = \"circle\",\n color = \"default\",\n label,\n formatValue = defaultFormatValue,\n showValue = true,\n radius: customRadius,\n strokeWidth: customStrokeWidth,\n className,\n animate = true,\n tooltip,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledby,\n}: ProgressCircleProps) {\n // Clamp the raw value between 0 and max first\n const clampedRawValue = Math.min(max, Math.max(0, value))\n\n // Calculate percentage based on clamped value and max\n const clampedValue = (clampedRawValue / max) * 100\n\n // Animation state - initialize based on animate and indeterminate props\n const [isVisible, setIsVisible] = React.useState(!animate || indeterminate)\n const containerRef = React.useRef<HTMLDivElement>(null)\n\n // Use IntersectionObserver to trigger animation only when in viewport\n React.useEffect(() => {\n // Skip if not animating, indeterminate, or already visible\n if (!animate || indeterminate || isVisible) {\n return\n }\n\n const element = containerRef.current\n if (!element) {\n return\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n const entry = entries[0]\n if (entry?.isIntersecting) {\n requestAnimationFrame(() => {\n setIsVisible(true)\n })\n observer.disconnect()\n }\n },\n { threshold: 0.1 }\n )\n\n observer.observe(element)\n\n return () => { observer.disconnect(); }\n }, [animate, indeterminate, isVisible])\n\n // Get size configuration\n const sizeConfig = PROGRESS_CIRCLE_SIZES[size]\n const strokeWidth = customStrokeWidth ?? sizeConfig.strokeWidth\n // Use custom radius if provided, otherwise use size preset\n const diameter = customRadius ? (customRadius * 2 + strokeWidth) : sizeConfig.diameter\n\n // Calculate SVG dimensions\n const radius = (diameter - strokeWidth) / 2\n const center = diameter / 2\n\n // Calculate circumference and progress\n const isHalfCircle = shape === \"half-circle\"\n const circumference = isHalfCircle ? Math.PI * radius : 2 * Math.PI * radius\n\n // For indeterminate, show ~25% of the arc; otherwise use the actual value\n // For animation, start at 0 and animate to the target value when visible\n const displayValue = indeterminate ? 25 : (isVisible ? clampedValue : 0)\n const progressOffset = circumference - (displayValue / 100) * circumference\n\n // SVG viewBox and path calculations\n const viewBoxHeight = isHalfCircle ? diameter / 2 + strokeWidth : diameter\n\n // For half-circle, we use an arc path instead of a circle\n const getPath = () => {\n if (isHalfCircle) {\n // Arc from left to right (180 degrees at top)\n const startX = strokeWidth / 2\n const startY = center\n const endX = diameter - strokeWidth / 2\n const endY = center\n return `M ${String(startX)} ${String(startY)} A ${String(radius)} ${String(radius)} 0 0 1 ${String(endX)} ${String(endY)}`\n }\n return\n }\n\n // Format the clamped value for display\n const formattedValue = formatValue(clampedRawValue)\n\n const progressCircleElement = (\n <div\n ref={containerRef}\n className={cn(\n progressCircleContainerVariants({ size, shape }),\n className\n )}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-valuemax={max}\n aria-valuemin={0}\n aria-valuenow={indeterminate ? undefined : clampedRawValue}\n data-indeterminate={indeterminate || undefined}\n data-slot=\"progress-circle\"\n role=\"progressbar\"\n >\n <svg\n className={isHalfCircle ? \"rotate-0\" : \"\"}\n data-slot=\"progress-circle-svg\"\n height={viewBoxHeight}\n viewBox={`0 0 ${String(diameter)} ${String(viewBoxHeight)}`}\n width={diameter}\n >\n {isHalfCircle ? (\n <>\n {/* Half-circle track */}\n <path\n className={cn(progressCircleTrackVariants({ color }))}\n d={getPath()}\n data-slot=\"progress-circle-track\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeWidth={strokeWidth}\n />\n {/* Half-circle indicator */}\n <path\n className={cn(progressCircleIndicatorVariants({ color }))}\n d={getPath()}\n data-slot=\"progress-circle-indicator\"\n fill=\"none\"\n strokeDasharray={circumference}\n strokeDashoffset={progressOffset}\n strokeLinecap=\"round\"\n strokeWidth={strokeWidth}\n />\n </>\n ) : (\n <>\n {/* Full circle track */}\n <circle\n className={cn(progressCircleTrackVariants({ color }))}\n cx={center}\n cy={center}\n data-slot=\"progress-circle-track\"\n fill=\"none\"\n r={radius}\n strokeWidth={strokeWidth}\n />\n {/* Full circle indicator */}\n <circle\n style={{\n transform: indeterminate ? undefined : \"rotate(-90deg)\",\n transformOrigin: \"center\",\n }}\n className={cn(progressCircleIndicatorVariants({ color, indeterminate }))}\n cx={center}\n cy={center}\n data-slot=\"progress-circle-indicator\"\n fill=\"none\"\n r={radius}\n strokeDasharray={circumference}\n strokeDashoffset={progressOffset}\n strokeLinecap=\"round\"\n strokeWidth={strokeWidth}\n />\n </>\n )}\n </svg>\n\n {/* Center content (value and label) */}\n <div\n className={cn(\n \"absolute flex flex-col items-center justify-center\",\n isHalfCircle && \"bottom-0\"\n )}\n data-slot=\"progress-circle-content\"\n >\n {showValue && !indeterminate && (\n <span\n className={cn(progressCircleValueVariants({ size }))}\n data-slot=\"progress-circle-value\"\n >\n {formattedValue}\n </span>\n )}\n {label && (\n <span\n className={cn(progressCircleLabelVariants({ size }))}\n data-slot=\"progress-circle-label\"\n >\n {label}\n </span>\n )}\n </div>\n </div>\n )\n\n if (tooltip) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n {progressCircleElement}\n </TooltipTrigger>\n <TooltipContent>\n {tooltip}\n </TooltipContent>\n </Tooltip>\n )\n }\n\n return progressCircleElement\n}\n\nexport { ProgressCircle }\n"]}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { ChartTooltipContent, ChartContainer, ChartTooltip, ChartLegend, ChartLegendContent } from './chunk-XXWCMY2G.js';
|
|
2
|
+
import { cn } from './chunk-RVAYDRMA.js';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { PieChart as PieChart$1, Pie, Cell } from 'recharts';
|
|
5
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
function getVariantConfig(variant, innerRadius, outerRadius, startAngle, endAngle) {
|
|
8
|
+
const defaultOuterRadius = outerRadius ?? 80;
|
|
9
|
+
switch (variant) {
|
|
10
|
+
case "donut":
|
|
11
|
+
return {
|
|
12
|
+
endAngle: endAngle ?? 360,
|
|
13
|
+
innerRadius: innerRadius ?? Math.round(defaultOuterRadius * 0.6),
|
|
14
|
+
outerRadius: defaultOuterRadius,
|
|
15
|
+
startAngle: startAngle ?? 0
|
|
16
|
+
};
|
|
17
|
+
case "semi":
|
|
18
|
+
return {
|
|
19
|
+
endAngle: endAngle ?? 0,
|
|
20
|
+
innerRadius: innerRadius ?? Math.round(defaultOuterRadius * 0.6),
|
|
21
|
+
outerRadius: defaultOuterRadius,
|
|
22
|
+
startAngle: startAngle ?? 180
|
|
23
|
+
};
|
|
24
|
+
default:
|
|
25
|
+
return {
|
|
26
|
+
endAngle: endAngle ?? 360,
|
|
27
|
+
innerRadius: innerRadius ?? 0,
|
|
28
|
+
outerRadius: defaultOuterRadius,
|
|
29
|
+
startAngle: startAngle ?? 0
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function CenterLabel({
|
|
34
|
+
centerLabel,
|
|
35
|
+
cx,
|
|
36
|
+
cy
|
|
37
|
+
}) {
|
|
38
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
39
|
+
centerLabel.value && /* @__PURE__ */ jsx(
|
|
40
|
+
"text",
|
|
41
|
+
{
|
|
42
|
+
className: "fill-foreground text-3xl font-bold",
|
|
43
|
+
dominantBaseline: "middle",
|
|
44
|
+
textAnchor: "middle",
|
|
45
|
+
x: cx,
|
|
46
|
+
y: centerLabel.label ? "45%" : cy,
|
|
47
|
+
children: centerLabel.value
|
|
48
|
+
}
|
|
49
|
+
),
|
|
50
|
+
centerLabel.label && /* @__PURE__ */ jsx(
|
|
51
|
+
"text",
|
|
52
|
+
{
|
|
53
|
+
className: "fill-muted-foreground text-sm",
|
|
54
|
+
dominantBaseline: "middle",
|
|
55
|
+
textAnchor: "middle",
|
|
56
|
+
x: cx,
|
|
57
|
+
y: centerLabel.value ? "55%" : cy,
|
|
58
|
+
children: centerLabel.label
|
|
59
|
+
}
|
|
60
|
+
)
|
|
61
|
+
] });
|
|
62
|
+
}
|
|
63
|
+
function createLabelRenderer(config) {
|
|
64
|
+
if (config === true) {
|
|
65
|
+
return ({ name, percent }) => `${name ?? ""} ${((percent ?? 0) * 100).toFixed(0)}%`;
|
|
66
|
+
}
|
|
67
|
+
const { formatter } = config;
|
|
68
|
+
if (formatter) {
|
|
69
|
+
return (entry) => formatter(entry, entry.percent ?? 0);
|
|
70
|
+
}
|
|
71
|
+
return ({ name, percent }) => `${name ?? ""} ${((percent ?? 0) * 100).toFixed(0)}%`;
|
|
72
|
+
}
|
|
73
|
+
function PieChart({
|
|
74
|
+
activeIndex,
|
|
75
|
+
activeShape,
|
|
76
|
+
animationDuration = 400,
|
|
77
|
+
centerLabel,
|
|
78
|
+
className,
|
|
79
|
+
config,
|
|
80
|
+
cornerRadius = 0,
|
|
81
|
+
customTooltip,
|
|
82
|
+
data,
|
|
83
|
+
dataKey = "value",
|
|
84
|
+
enableLegendSlider = false,
|
|
85
|
+
endAngle: endAngleProp,
|
|
86
|
+
innerRadius: innerRadiusProp,
|
|
87
|
+
label = false,
|
|
88
|
+
nameKey = "name",
|
|
89
|
+
onClick,
|
|
90
|
+
onMouseEnter,
|
|
91
|
+
onMouseLeave,
|
|
92
|
+
outerRadius: outerRadiusProp,
|
|
93
|
+
paddingAngle = 0,
|
|
94
|
+
showLegend = false,
|
|
95
|
+
showTooltip = true,
|
|
96
|
+
startAngle: startAngleProp,
|
|
97
|
+
tooltipCallback,
|
|
98
|
+
tooltipIndicator = "dot",
|
|
99
|
+
variant = "pie",
|
|
100
|
+
...props
|
|
101
|
+
}) {
|
|
102
|
+
const prevTooltipStateRef = React.useRef(false);
|
|
103
|
+
const TooltipContentWithCallback = React.useCallback(
|
|
104
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
105
|
+
(props2) => {
|
|
106
|
+
const { active = false, payload } = props2;
|
|
107
|
+
if (tooltipCallback && active !== prevTooltipStateRef.current) {
|
|
108
|
+
prevTooltipStateRef.current = active;
|
|
109
|
+
tooltipCallback({
|
|
110
|
+
active,
|
|
111
|
+
name: payload?.[0]?.name,
|
|
112
|
+
payload: payload?.map((p) => ({
|
|
113
|
+
name: p.name,
|
|
114
|
+
value: p.value,
|
|
115
|
+
payload: p.payload
|
|
116
|
+
}))
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
return /* @__PURE__ */ jsx(ChartTooltipContent, { indicator: tooltipIndicator, nameKey, ...props2 });
|
|
120
|
+
},
|
|
121
|
+
[tooltipCallback, tooltipIndicator, nameKey]
|
|
122
|
+
);
|
|
123
|
+
const {
|
|
124
|
+
endAngle,
|
|
125
|
+
innerRadius,
|
|
126
|
+
outerRadius,
|
|
127
|
+
startAngle
|
|
128
|
+
} = getVariantConfig(
|
|
129
|
+
variant,
|
|
130
|
+
innerRadiusProp,
|
|
131
|
+
outerRadiusProp,
|
|
132
|
+
startAngleProp,
|
|
133
|
+
endAngleProp
|
|
134
|
+
);
|
|
135
|
+
const showCenterLabel = centerLabel && innerRadius > 0;
|
|
136
|
+
const activeShapeConfig = activeShape ? {
|
|
137
|
+
outerRadius: activeShape.outerRadius ?? outerRadius + 10,
|
|
138
|
+
stroke: activeShape.stroke ?? "var(--primary)",
|
|
139
|
+
strokeWidth: activeShape.strokeWidth ?? 2
|
|
140
|
+
} : void 0;
|
|
141
|
+
const labelConfig = typeof label === "boolean" ? label ? true : void 0 : label;
|
|
142
|
+
const labelRenderer = labelConfig ? createLabelRenderer(labelConfig) : void 0;
|
|
143
|
+
const showLabelLine = typeof label === "object" && label.line !== false;
|
|
144
|
+
const handleClick = onClick ? (_, index) => {
|
|
145
|
+
const item = data[index];
|
|
146
|
+
if (item) onClick(item, index);
|
|
147
|
+
} : void 0;
|
|
148
|
+
const handleMouseEnter = onMouseEnter ? (_, index) => {
|
|
149
|
+
const item = data[index];
|
|
150
|
+
if (item) onMouseEnter(item, index);
|
|
151
|
+
} : void 0;
|
|
152
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": "pie-chart", ...props, children: /* @__PURE__ */ jsx(
|
|
153
|
+
ChartContainer,
|
|
154
|
+
{
|
|
155
|
+
className: cn(
|
|
156
|
+
variant === "semi" && "aspect-[2/1]",
|
|
157
|
+
className
|
|
158
|
+
),
|
|
159
|
+
config,
|
|
160
|
+
children: /* @__PURE__ */ jsxs(PieChart$1, { children: [
|
|
161
|
+
showTooltip && /* @__PURE__ */ jsx(
|
|
162
|
+
ChartTooltip,
|
|
163
|
+
{
|
|
164
|
+
content: customTooltip ?? (tooltipCallback ? /* @__PURE__ */ jsx(TooltipContentWithCallback, {}) : /* @__PURE__ */ jsx(ChartTooltipContent, { indicator: tooltipIndicator, nameKey }))
|
|
165
|
+
}
|
|
166
|
+
),
|
|
167
|
+
showLegend && /* @__PURE__ */ jsx(ChartLegend, { content: /* @__PURE__ */ jsx(ChartLegendContent, { enableSlider: enableLegendSlider, nameKey }) }),
|
|
168
|
+
/* @__PURE__ */ jsx(
|
|
169
|
+
Pie,
|
|
170
|
+
{
|
|
171
|
+
...{
|
|
172
|
+
activeIndex,
|
|
173
|
+
activeShape: activeShapeConfig,
|
|
174
|
+
animationDuration,
|
|
175
|
+
cornerRadius,
|
|
176
|
+
cx: "50%",
|
|
177
|
+
cy: variant === "semi" ? "100%" : "50%",
|
|
178
|
+
data,
|
|
179
|
+
dataKey,
|
|
180
|
+
endAngle,
|
|
181
|
+
innerRadius,
|
|
182
|
+
label: labelRenderer,
|
|
183
|
+
labelLine: showLabelLine,
|
|
184
|
+
nameKey,
|
|
185
|
+
onClick: handleClick,
|
|
186
|
+
onMouseEnter: handleMouseEnter,
|
|
187
|
+
onMouseLeave,
|
|
188
|
+
outerRadius,
|
|
189
|
+
paddingAngle,
|
|
190
|
+
startAngle
|
|
191
|
+
},
|
|
192
|
+
children: data.map((entry) => /* @__PURE__ */ jsx(
|
|
193
|
+
Cell,
|
|
194
|
+
{
|
|
195
|
+
fill: entry.fill ?? `var(--color-${entry.name.toLowerCase().replaceAll(" ", "-")})`
|
|
196
|
+
},
|
|
197
|
+
entry.name
|
|
198
|
+
))
|
|
199
|
+
}
|
|
200
|
+
),
|
|
201
|
+
showCenterLabel && /* @__PURE__ */ jsx(
|
|
202
|
+
CenterLabel,
|
|
203
|
+
{
|
|
204
|
+
centerLabel,
|
|
205
|
+
cx: "50%",
|
|
206
|
+
cy: variant === "semi" ? "100%" : "50%"
|
|
207
|
+
}
|
|
208
|
+
)
|
|
209
|
+
] })
|
|
210
|
+
}
|
|
211
|
+
) });
|
|
212
|
+
}
|
|
213
|
+
PieChart.displayName = "PieChart";
|
|
214
|
+
|
|
215
|
+
export { PieChart };
|
|
216
|
+
//# sourceMappingURL=chunk-5MJQ5XSR.js.map
|
|
217
|
+
//# sourceMappingURL=chunk-5MJQ5XSR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/PieChart/PieChart.tsx"],"names":["props","RechartsPieChart"],"mappings":"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","file":"chunk-5MJQ5XSR.js","sourcesContent":["\"use client\"\n\nimport type {\n PieChartActiveShape,\n PieChartCenterLabel,\n PieChartDataItem,\n PieChartLabelConfig,\n PieChartProps,\n} from \"./PieChart.types\"\n\nimport * as React from \"react\"\nimport {\n Cell,\n Pie,\n PieChart as RechartsPieChart,\n} from \"recharts\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartTooltip,\n ChartTooltipContent,\n} from \"../Chart\"\n\n/**\n * Get variant configuration for pie chart\n */\nfunction getVariantConfig(\n variant: PieChartProps[\"variant\"],\n innerRadius?: number,\n outerRadius?: number,\n startAngle?: number,\n endAngle?: number\n): { endAngle: number; innerRadius: number; outerRadius: number; startAngle: number } {\n const defaultOuterRadius = outerRadius ?? 80\n\n switch (variant) {\n case \"donut\":\n return {\n endAngle: endAngle ?? 360,\n innerRadius: innerRadius ?? Math.round(defaultOuterRadius * 0.6),\n outerRadius: defaultOuterRadius,\n startAngle: startAngle ?? 0,\n }\n case \"semi\":\n return {\n endAngle: endAngle ?? 0,\n innerRadius: innerRadius ?? Math.round(defaultOuterRadius * 0.6),\n outerRadius: defaultOuterRadius,\n startAngle: startAngle ?? 180,\n }\n default: // \"pie\"\n return {\n endAngle: endAngle ?? 360,\n innerRadius: innerRadius ?? 0,\n outerRadius: defaultOuterRadius,\n startAngle: startAngle ?? 0,\n }\n }\n}\n\n/**\n * Render center label for donut charts\n */\nfunction CenterLabel({\n centerLabel,\n cx,\n cy,\n}: {\n centerLabel: PieChartCenterLabel\n cx: string\n cy: string\n}) {\n return (\n <>\n {centerLabel.value && (\n <text\n className=\"fill-foreground text-3xl font-bold\"\n dominantBaseline=\"middle\"\n textAnchor=\"middle\"\n x={cx}\n y={centerLabel.label ? \"45%\" : cy}\n >\n {centerLabel.value}\n </text>\n )}\n {centerLabel.label && (\n <text\n className=\"fill-muted-foreground text-sm\"\n dominantBaseline=\"middle\"\n textAnchor=\"middle\"\n x={cx}\n y={centerLabel.value ? \"55%\" : cy}\n >\n {centerLabel.label}\n </text>\n )}\n </>\n )\n}\n\n/**\n * Create label render function from config\n */\nfunction createLabelRenderer(config: PieChartLabelConfig | true) {\n if (config === true) {\n return ({ name, percent }: { name?: string; percent?: number }) =>\n `${name ?? ''} ${((percent ?? 0) * 100).toFixed(0)}%`\n }\n\n const { formatter } = config\n if (formatter) {\n return (entry: { name?: string; percent?: number; value?: number }) =>\n formatter(entry as PieChartDataItem & { percent: number }, entry.percent ?? 0)\n }\n\n return ({ name, percent }: { name?: string; percent?: number }) =>\n `${name ?? ''} ${((percent ?? 0) * 100).toFixed(0)}%`\n}\n\n/**\n * PieChart - Data visualization component for proportional distribution\n *\n * Displays data as slices of a circle where each slice represents a proportion\n * of the whole. Supports pie, donut, and semi-circle variants.\n *\n * @example\n * ```tsx\n * const data = [\n * { name: \"Chrome\", value: 275, fill: \"var(--color-chrome)\" },\n * { name: \"Safari\", value: 200, fill: \"var(--color-safari)\" },\n * { name: \"Firefox\", value: 187, fill: \"var(--color-firefox)\" },\n * ]\n *\n * const config = {\n * chrome: { label: \"Chrome\", color: \"hsl(var(--chart-1))\" },\n * safari: { label: \"Safari\", color: \"hsl(var(--chart-2))\" },\n * firefox: { label: \"Firefox\", color: \"hsl(var(--chart-3))\" },\n * }\n *\n * <PieChart\n * data={data}\n * config={config}\n * />\n * ```\n */\nexport function PieChart({\n activeIndex,\n activeShape,\n animationDuration = 400,\n centerLabel,\n className,\n config,\n cornerRadius = 0,\n customTooltip,\n data,\n dataKey = \"value\",\n enableLegendSlider = false,\n endAngle: endAngleProp,\n innerRadius: innerRadiusProp,\n label = false,\n nameKey = \"name\",\n onClick,\n onMouseEnter,\n onMouseLeave,\n outerRadius: outerRadiusProp,\n paddingAngle = 0,\n showLegend = false,\n showTooltip = true,\n startAngle: startAngleProp,\n tooltipCallback,\n tooltipIndicator = \"dot\",\n variant = \"pie\",\n ...props\n}: PieChartProps) {\n const prevTooltipStateRef = React.useRef<boolean>(false)\n\n /* eslint-disable react-hooks/static-components, @eslint-react/no-nested-component-definitions, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access -- Intentional: memoized render function with Recharts any-typed props */\n // Custom tooltip content wrapper for tooltipCallback\n const TooltipContentWithCallback = React.useCallback(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (props: any) => {\n const { active = false, payload } = props\n\n // Call tooltipCallback when state changes\n if (tooltipCallback && active !== prevTooltipStateRef.current) {\n prevTooltipStateRef.current = active\n tooltipCallback({\n active,\n name: payload?.[0]?.name,\n payload: payload?.map((p: { name: string; payload: PieChartDataItem; value: number; }) => ({\n name: p.name,\n value: p.value,\n payload: p.payload,\n })),\n })\n }\n\n return <ChartTooltipContent indicator={tooltipIndicator} nameKey={nameKey} {...props} />\n },\n [tooltipCallback, tooltipIndicator, nameKey]\n )\n const {\n endAngle,\n innerRadius,\n outerRadius,\n startAngle,\n } = getVariantConfig(\n variant,\n innerRadiusProp,\n outerRadiusProp,\n startAngleProp,\n endAngleProp\n )\n\n const showCenterLabel = centerLabel && innerRadius > 0\n\n // Build active shape config\n const activeShapeConfig: PieChartActiveShape | undefined = activeShape\n ? {\n outerRadius: activeShape.outerRadius ?? outerRadius + 10,\n stroke: activeShape.stroke ?? \"var(--primary)\",\n strokeWidth: activeShape.strokeWidth ?? 2,\n }\n : undefined\n\n // Handle label configuration\n const labelConfig = typeof label === \"boolean\"\n ? (label ? true : undefined)\n : label\n\n const labelRenderer = labelConfig\n ? createLabelRenderer(labelConfig)\n : undefined\n\n const showLabelLine = typeof label === \"object\" && label.line !== false\n\n // Event handlers\n const handleClick = onClick\n ? (_: unknown, index: number) => {\n const item = data[index]\n if (item) onClick(item, index)\n }\n : undefined\n\n const handleMouseEnter = onMouseEnter\n ? (_: unknown, index: number) => {\n const item = data[index]\n if (item) onMouseEnter(item, index)\n }\n : undefined\n\n return (\n <div data-slot=\"pie-chart\" {...props}>\n <ChartContainer\n className={cn(\n variant === \"semi\" && \"aspect-[2/1]\",\n className\n )}\n config={config}\n >\n <RechartsPieChart>\n {showTooltip && (\n <ChartTooltip\n content={\n customTooltip\n ?? (tooltipCallback\n ? <TooltipContentWithCallback />\n : <ChartTooltipContent indicator={tooltipIndicator} nameKey={nameKey} />)\n }\n />\n )}\n\n {showLegend && (\n <ChartLegend content={<ChartLegendContent enableSlider={enableLegendSlider} nameKey={nameKey} />} />\n )}\n\n { }\n { }\n <Pie\n {...({\n activeIndex,\n activeShape: activeShapeConfig,\n animationDuration,\n cornerRadius,\n cx: \"50%\",\n cy: variant === \"semi\" ? \"100%\" : \"50%\",\n data,\n dataKey,\n endAngle,\n innerRadius,\n label: labelRenderer,\n labelLine: showLabelLine,\n nameKey,\n onClick: handleClick,\n onMouseEnter: handleMouseEnter,\n onMouseLeave,\n outerRadius,\n paddingAngle,\n startAngle,\n } as Record<string, unknown>)}\n >\n {data.map((entry) => (\n <Cell\n key={entry.name}\n fill={entry.fill ?? `var(--color-${entry.name.toLowerCase().replaceAll(\" \", \"-\")})`}\n />\n ))}\n </Pie>\n\n {showCenterLabel && (\n <CenterLabel\n centerLabel={centerLabel}\n cx=\"50%\"\n cy={variant === \"semi\" ? \"100%\" : \"50%\"}\n />\n )}\n </RechartsPieChart>\n </ChartContainer>\n </div>\n )\n}\n\nPieChart.displayName = \"PieChart\"\n"]}
|