@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,220 @@
|
|
|
1
|
+
import { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent } from './chunk-XXWCMY2G.js';
|
|
2
|
+
import { cn } from './chunk-RVAYDRMA.js';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { ScatterChart as ScatterChart$1, CartesianGrid, XAxis, Label, YAxis, ZAxis, Scatter } from 'recharts';
|
|
5
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
function TooltipContentWithCallback({
|
|
8
|
+
tooltipCallback,
|
|
9
|
+
tooltipIndicator,
|
|
10
|
+
xAxisKey,
|
|
11
|
+
yAxisKey,
|
|
12
|
+
zAxisKey,
|
|
13
|
+
...props
|
|
14
|
+
}) {
|
|
15
|
+
const prevActiveRef = React.useRef(false);
|
|
16
|
+
const { active = false, payload } = props;
|
|
17
|
+
React.useEffect(() => {
|
|
18
|
+
if (tooltipCallback && active !== prevActiveRef.current) {
|
|
19
|
+
prevActiveRef.current = active;
|
|
20
|
+
tooltipCallback({
|
|
21
|
+
active,
|
|
22
|
+
payload: payload?.map((p) => ({
|
|
23
|
+
payload: p.payload,
|
|
24
|
+
x: p.payload[xAxisKey],
|
|
25
|
+
y: p.payload[yAxisKey],
|
|
26
|
+
z: zAxisKey ? p.payload[zAxisKey] : void 0
|
|
27
|
+
}))
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}, [active, payload, tooltipCallback, xAxisKey, yAxisKey, zAxisKey]);
|
|
31
|
+
return /* @__PURE__ */ jsx(ChartTooltipContent, { indicator: tooltipIndicator, ...props });
|
|
32
|
+
}
|
|
33
|
+
function ScatterChart({
|
|
34
|
+
autoMinValue = false,
|
|
35
|
+
className,
|
|
36
|
+
config,
|
|
37
|
+
enableLegendSlider = false,
|
|
38
|
+
gridDashArray = "3 3",
|
|
39
|
+
intervalType,
|
|
40
|
+
legendPosition = "bottom",
|
|
41
|
+
maxXValue,
|
|
42
|
+
maxYValue,
|
|
43
|
+
minXValue,
|
|
44
|
+
minYValue,
|
|
45
|
+
onClick,
|
|
46
|
+
rotateLabelX,
|
|
47
|
+
series,
|
|
48
|
+
shape = "circle",
|
|
49
|
+
showGrid = true,
|
|
50
|
+
showLegend = false,
|
|
51
|
+
showOpacity = false,
|
|
52
|
+
showTooltip = true,
|
|
53
|
+
showXAxis = true,
|
|
54
|
+
showYAxis = true,
|
|
55
|
+
size = 60,
|
|
56
|
+
sizeRange = [60, 400],
|
|
57
|
+
startEndOnly = false,
|
|
58
|
+
tickGap,
|
|
59
|
+
tooltipCallback,
|
|
60
|
+
tooltipIndicator = "dot",
|
|
61
|
+
valueFormatter,
|
|
62
|
+
xAxisKey,
|
|
63
|
+
xAxisLabel,
|
|
64
|
+
xAxisTickFormatter,
|
|
65
|
+
yAxisKey,
|
|
66
|
+
yAxisLabel,
|
|
67
|
+
yAxisTickFormatter,
|
|
68
|
+
yAxisWidth,
|
|
69
|
+
zAxisKey,
|
|
70
|
+
...props
|
|
71
|
+
}) {
|
|
72
|
+
const handleClick = React.useCallback((data) => {
|
|
73
|
+
if (!onClick || !data) return;
|
|
74
|
+
onClick({
|
|
75
|
+
payload: data.payload ?? data,
|
|
76
|
+
x: data[xAxisKey] ?? data.x,
|
|
77
|
+
y: data[yAxisKey] ?? data.y,
|
|
78
|
+
z: zAxisKey ? data[zAxisKey] : void 0
|
|
79
|
+
});
|
|
80
|
+
}, [onClick, xAxisKey, yAxisKey, zAxisKey]);
|
|
81
|
+
const xDomain = React.useMemo(() => {
|
|
82
|
+
const min = minXValue ?? (autoMinValue ? "auto" : "dataMin");
|
|
83
|
+
const max = maxXValue ?? "dataMax";
|
|
84
|
+
return [min, max];
|
|
85
|
+
}, [autoMinValue, maxXValue, minXValue]);
|
|
86
|
+
const yDomain = React.useMemo(() => {
|
|
87
|
+
const min = minYValue ?? (autoMinValue ? "auto" : "dataMin");
|
|
88
|
+
const max = maxYValue ?? "dataMax";
|
|
89
|
+
return [min, max];
|
|
90
|
+
}, [autoMinValue, maxYValue, minYValue]);
|
|
91
|
+
const xAxisTicks = React.useMemo(() => {
|
|
92
|
+
if (!startEndOnly) return;
|
|
93
|
+
const allXValues = [];
|
|
94
|
+
for (const s of series) {
|
|
95
|
+
for (const point of s.data) {
|
|
96
|
+
const xVal = point[xAxisKey];
|
|
97
|
+
if (typeof xVal === "number") {
|
|
98
|
+
allXValues.push(xVal);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
if (allXValues.length < 2) return;
|
|
103
|
+
const minX = Math.min(...allXValues);
|
|
104
|
+
const maxX = Math.max(...allXValues);
|
|
105
|
+
return [minX, maxX];
|
|
106
|
+
}, [series, startEndOnly, xAxisKey]);
|
|
107
|
+
const effectiveInterval = startEndOnly ? "preserveStartEnd" : intervalType;
|
|
108
|
+
const effectiveXFormatter = valueFormatter?.x ?? xAxisTickFormatter;
|
|
109
|
+
const effectiveYFormatter = valueFormatter?.y ?? yAxisTickFormatter;
|
|
110
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": "scatter-chart", ...props, children: /* @__PURE__ */ jsx(
|
|
111
|
+
ChartContainer,
|
|
112
|
+
{
|
|
113
|
+
className: cn(className),
|
|
114
|
+
config,
|
|
115
|
+
children: /* @__PURE__ */ jsxs(
|
|
116
|
+
ScatterChart$1,
|
|
117
|
+
{
|
|
118
|
+
accessibilityLayer: true,
|
|
119
|
+
margin: {
|
|
120
|
+
left: yAxisLabel ? 20 : 12,
|
|
121
|
+
right: 12,
|
|
122
|
+
bottom: xAxisLabel ? 20 : 0
|
|
123
|
+
},
|
|
124
|
+
children: [
|
|
125
|
+
showGrid && /* @__PURE__ */ jsx(CartesianGrid, { strokeDasharray: gridDashArray }),
|
|
126
|
+
showXAxis && /* @__PURE__ */ jsx(
|
|
127
|
+
XAxis,
|
|
128
|
+
{
|
|
129
|
+
angle: rotateLabelX,
|
|
130
|
+
axisLine: false,
|
|
131
|
+
dataKey: xAxisKey,
|
|
132
|
+
domain: xDomain,
|
|
133
|
+
interval: effectiveInterval,
|
|
134
|
+
minTickGap: tickGap,
|
|
135
|
+
name: xAxisKey,
|
|
136
|
+
textAnchor: rotateLabelX ? "end" : "middle",
|
|
137
|
+
tickFormatter: effectiveXFormatter,
|
|
138
|
+
tickLine: false,
|
|
139
|
+
tickMargin: 8,
|
|
140
|
+
ticks: xAxisTicks,
|
|
141
|
+
type: "number",
|
|
142
|
+
children: xAxisLabel && /* @__PURE__ */ jsx(Label, { offset: -5, position: "insideBottom", value: xAxisLabel })
|
|
143
|
+
}
|
|
144
|
+
),
|
|
145
|
+
showYAxis && /* @__PURE__ */ jsx(
|
|
146
|
+
YAxis,
|
|
147
|
+
{
|
|
148
|
+
axisLine: false,
|
|
149
|
+
dataKey: yAxisKey,
|
|
150
|
+
domain: yDomain,
|
|
151
|
+
name: yAxisKey,
|
|
152
|
+
tickFormatter: effectiveYFormatter,
|
|
153
|
+
tickLine: false,
|
|
154
|
+
tickMargin: 8,
|
|
155
|
+
type: "number",
|
|
156
|
+
width: yAxisWidth,
|
|
157
|
+
children: yAxisLabel && /* @__PURE__ */ jsx(Label, { angle: -90, offset: -5, position: "insideLeft", value: yAxisLabel })
|
|
158
|
+
}
|
|
159
|
+
),
|
|
160
|
+
zAxisKey && /* @__PURE__ */ jsx(ZAxis, { dataKey: zAxisKey, name: zAxisKey, range: sizeRange, type: "number" }),
|
|
161
|
+
showTooltip && /* @__PURE__ */ jsx(
|
|
162
|
+
ChartTooltip,
|
|
163
|
+
{
|
|
164
|
+
content: tooltipCallback ? /* @__PURE__ */ jsx(
|
|
165
|
+
TooltipContentWithCallback,
|
|
166
|
+
{
|
|
167
|
+
tooltipCallback,
|
|
168
|
+
tooltipIndicator,
|
|
169
|
+
xAxisKey,
|
|
170
|
+
yAxisKey,
|
|
171
|
+
zAxisKey
|
|
172
|
+
}
|
|
173
|
+
) : /* @__PURE__ */ jsx(ChartTooltipContent, { indicator: tooltipIndicator }),
|
|
174
|
+
cursor: { strokeDasharray: "3 3" }
|
|
175
|
+
}
|
|
176
|
+
),
|
|
177
|
+
showLegend && /* @__PURE__ */ jsx(
|
|
178
|
+
ChartLegend,
|
|
179
|
+
{
|
|
180
|
+
align: legendPosition === "left" ? "left" : legendPosition === "right" ? "right" : "center",
|
|
181
|
+
content: /* @__PURE__ */ jsx(ChartLegendContent, { enableSlider: enableLegendSlider }),
|
|
182
|
+
layout: legendPosition === "left" || legendPosition === "right" ? "vertical" : "horizontal",
|
|
183
|
+
verticalAlign: legendPosition === "top" ? "top" : legendPosition === "bottom" ? "bottom" : "middle"
|
|
184
|
+
}
|
|
185
|
+
),
|
|
186
|
+
series.map((seriesConfig) => {
|
|
187
|
+
const {
|
|
188
|
+
data,
|
|
189
|
+
dataKey,
|
|
190
|
+
fill: seriesFill,
|
|
191
|
+
shape: seriesShape,
|
|
192
|
+
size: seriesSize
|
|
193
|
+
} = seriesConfig;
|
|
194
|
+
const fill = seriesFill ?? `var(--color-${dataKey})`;
|
|
195
|
+
return /* @__PURE__ */ jsx(
|
|
196
|
+
Scatter,
|
|
197
|
+
{
|
|
198
|
+
data,
|
|
199
|
+
fill,
|
|
200
|
+
fillOpacity: showOpacity ? 0.7 : 1,
|
|
201
|
+
name: dataKey,
|
|
202
|
+
shape: seriesShape ?? shape,
|
|
203
|
+
style: onClick ? { cursor: "pointer" } : void 0,
|
|
204
|
+
onClick: onClick ? handleClick : void 0,
|
|
205
|
+
children: !zAxisKey && /* @__PURE__ */ jsx(ZAxis, { range: [seriesSize ?? size, seriesSize ?? size] })
|
|
206
|
+
},
|
|
207
|
+
dataKey
|
|
208
|
+
);
|
|
209
|
+
})
|
|
210
|
+
]
|
|
211
|
+
}
|
|
212
|
+
)
|
|
213
|
+
}
|
|
214
|
+
) });
|
|
215
|
+
}
|
|
216
|
+
ScatterChart.displayName = "ScatterChart";
|
|
217
|
+
|
|
218
|
+
export { ScatterChart };
|
|
219
|
+
//# sourceMappingURL=chunk-V4NSLSCA.js.map
|
|
220
|
+
//# sourceMappingURL=chunk-V4NSLSCA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/ScatterChart/ScatterChart.tsx"],"names":["RechartsScatterChart"],"mappings":"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","file":"chunk-V4NSLSCA.js","sourcesContent":["\"use client\"\n\nimport type { ScatterChartProps, ScatterChartTooltipCallbackProps, ScatterChartTooltipIndicator } from \"./ScatterChart.types\"\n\nimport * as React from \"react\"\nimport {\n CartesianGrid,\n Label,\n ScatterChart as RechartsScatterChart,\n Scatter,\n XAxis,\n YAxis,\n ZAxis,\n} from \"recharts\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartTooltip,\n ChartTooltipContent,\n} from \"../Chart\"\n\n/**\n * Internal tooltip content wrapper that calls the tooltipCallback\n */\ninterface TooltipContentWithCallbackProps {\n tooltipCallback?: (props: ScatterChartTooltipCallbackProps) => void\n tooltipIndicator: ScatterChartTooltipIndicator\n xAxisKey: string\n yAxisKey: string\n zAxisKey?: string\n}\n\nfunction TooltipContentWithCallback({\n tooltipCallback,\n tooltipIndicator,\n xAxisKey,\n yAxisKey,\n zAxisKey,\n ...props\n}: TooltipContentWithCallbackProps & Record<string, unknown>) {\n const prevActiveRef = React.useRef<boolean>(false)\n const { active = false, payload } = props as { active?: boolean; payload?: { payload: Record<string, unknown> }[] }\n\n // Use effect to call callback when active state changes\n // This is an intentional callback pattern for tooltip state changes\n /* eslint-disable react-you-might-not-need-an-effect/no-pass-data-to-parent */\n React.useEffect(() => {\n if (tooltipCallback && active !== prevActiveRef.current) {\n prevActiveRef.current = active\n tooltipCallback({\n active,\n payload: payload?.map((p) => ({\n payload: p.payload,\n x: p.payload[xAxisKey] as number,\n y: p.payload[yAxisKey] as number,\n z: zAxisKey ? p.payload[zAxisKey] as number : undefined,\n })),\n })\n }\n }, [active, payload, tooltipCallback, xAxisKey, yAxisKey, zAxisKey])\n /* eslint-enable react-you-might-not-need-an-effect/no-pass-data-to-parent */\n\n return <ChartTooltipContent indicator={tooltipIndicator} {...props} />\n}\n\n/**\n * ScatterChart - Data visualization for correlation and distribution\n *\n * Displays data points on a two-dimensional plane, ideal for showing\n * relationships between variables, identifying clusters, and\n * detecting outliers.\n *\n * @example\n * ```tsx\n * const data = [\n * { x: 100, y: 200, name: \"A\" },\n * { x: 120, y: 100, name: \"B\" },\n * { x: 170, y: 300, name: \"C\" },\n * ]\n *\n * const config = {\n * series1: { label: \"Series 1\", color: \"hsl(var(--chart-1))\" },\n * }\n *\n * <ScatterChart\n * config={config}\n * series={[{ dataKey: \"series1\", data }]}\n * xAxisKey=\"x\"\n * yAxisKey=\"y\"\n * />\n * ```\n */\nexport function ScatterChart({\n autoMinValue = false,\n className,\n config,\n enableLegendSlider = false,\n gridDashArray = \"3 3\",\n intervalType,\n legendPosition = \"bottom\",\n maxXValue,\n maxYValue,\n minXValue,\n minYValue,\n onClick,\n rotateLabelX,\n series,\n shape = \"circle\",\n showGrid = true,\n showLegend = false,\n showOpacity = false,\n showTooltip = true,\n showXAxis = true,\n showYAxis = true,\n size = 60,\n sizeRange = [60, 400],\n startEndOnly = false,\n tickGap,\n tooltipCallback,\n tooltipIndicator = \"dot\",\n valueFormatter,\n xAxisKey,\n xAxisLabel,\n xAxisTickFormatter,\n yAxisKey,\n yAxisLabel,\n yAxisTickFormatter,\n yAxisWidth,\n zAxisKey,\n ...props\n}: ScatterChartProps) {\n // Handle point click - Recharts passes any-typed data\n /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access */\n const handleClick = React.useCallback((data: any) => {\n if (!onClick || !data) return\n onClick({\n payload: data.payload ?? data,\n x: data[xAxisKey] ?? data.x,\n y: data[yAxisKey] ?? data.y,\n z: zAxisKey ? data[zAxisKey] : undefined,\n })\n }, [onClick, xAxisKey, yAxisKey, zAxisKey])\n /* eslint-enable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access */\n\n // Calculate X-axis domain\n const xDomain = React.useMemo(() => {\n const min = minXValue ?? (autoMinValue ? \"auto\" : \"dataMin\")\n const max = maxXValue ?? \"dataMax\"\n return [min, max] as const\n }, [autoMinValue, maxXValue, minXValue])\n\n // Calculate Y-axis domain\n const yDomain = React.useMemo(() => {\n const min = minYValue ?? (autoMinValue ? \"auto\" : \"dataMin\")\n const max = maxYValue ?? \"dataMax\"\n return [min, max] as const\n }, [autoMinValue, maxYValue, minYValue])\n\n // Calculate X-axis ticks for startEndOnly\n const xAxisTicks = React.useMemo(() => {\n if (!startEndOnly) return\n // For scatter charts, we need to find min/max from all series\n const allXValues: number[] = []\n for (const s of series) {\n for (const point of s.data) {\n const xVal = point[xAxisKey]\n if (typeof xVal === \"number\") {\n allXValues.push(xVal)\n }\n }\n }\n if (allXValues.length < 2) return\n const minX = Math.min(...allXValues)\n const maxX = Math.max(...allXValues)\n return [minX, maxX]\n }, [series, startEndOnly, xAxisKey])\n\n // Determine effective interval based on startEndOnly\n const effectiveInterval = startEndOnly ? \"preserveStartEnd\" : intervalType\n\n // Effective tick formatters (valueFormatter takes precedence)\n const effectiveXFormatter = valueFormatter?.x ?? xAxisTickFormatter\n const effectiveYFormatter = valueFormatter?.y ?? yAxisTickFormatter\n\n return (\n <div data-slot=\"scatter-chart\" {...props}>\n <ChartContainer\n className={cn(className)}\n config={config}\n >\n <RechartsScatterChart\n accessibilityLayer\n margin={{\n left: yAxisLabel ? 20 : 12,\n right: 12,\n bottom: xAxisLabel ? 20 : 0,\n }}\n >\n {showGrid && (\n <CartesianGrid strokeDasharray={gridDashArray} />\n )}\n\n {showXAxis && (\n <XAxis\n angle={rotateLabelX}\n axisLine={false}\n dataKey={xAxisKey}\n domain={xDomain}\n interval={effectiveInterval}\n minTickGap={tickGap}\n name={xAxisKey}\n textAnchor={rotateLabelX ? \"end\" : \"middle\"}\n tickFormatter={effectiveXFormatter}\n tickLine={false}\n tickMargin={8}\n ticks={xAxisTicks}\n type=\"number\"\n >\n {xAxisLabel && (\n <Label offset={-5} position=\"insideBottom\" value={xAxisLabel} />\n )}\n </XAxis>\n )}\n\n {showYAxis && (\n <YAxis\n axisLine={false}\n dataKey={yAxisKey}\n domain={yDomain}\n name={yAxisKey}\n tickFormatter={effectiveYFormatter}\n tickLine={false}\n tickMargin={8}\n type=\"number\"\n width={yAxisWidth}\n >\n {yAxisLabel && (\n <Label angle={-90} offset={-5} position=\"insideLeft\" value={yAxisLabel} />\n )}\n </YAxis>\n )}\n\n {zAxisKey && (\n <ZAxis dataKey={zAxisKey} name={zAxisKey} range={sizeRange} type=\"number\" />\n )}\n\n {showTooltip && (\n <ChartTooltip\n content={\n tooltipCallback\n ? <TooltipContentWithCallback\n tooltipCallback={tooltipCallback}\n tooltipIndicator={tooltipIndicator}\n xAxisKey={xAxisKey}\n yAxisKey={yAxisKey}\n zAxisKey={zAxisKey}\n />\n : <ChartTooltipContent indicator={tooltipIndicator} />\n }\n cursor={{ strokeDasharray: \"3 3\" }}\n />\n )}\n\n {showLegend && (\n <ChartLegend\n align={legendPosition === \"left\" ? \"left\" : legendPosition === \"right\" ? \"right\" : \"center\"}\n content={<ChartLegendContent enableSlider={enableLegendSlider} />}\n layout={legendPosition === \"left\" || legendPosition === \"right\" ? \"vertical\" : \"horizontal\"}\n verticalAlign={legendPosition === \"top\" ? \"top\" : legendPosition === \"bottom\" ? \"bottom\" : \"middle\"}\n />\n )}\n\n {series.map((seriesConfig) => {\n const {\n data,\n dataKey,\n fill: seriesFill,\n shape: seriesShape,\n size: seriesSize,\n } = seriesConfig\n\n const fill = seriesFill ?? `var(--color-${dataKey})`\n\n return (\n <Scatter\n key={dataKey}\n data={data}\n fill={fill}\n fillOpacity={showOpacity ? 0.7 : 1}\n name={dataKey}\n shape={seriesShape ?? shape}\n style={onClick ? { cursor: \"pointer\" } : undefined}\n onClick={onClick ? handleClick : undefined}\n >\n {!zAxisKey && (\n <ZAxis range={[seriesSize ?? size, seriesSize ?? size]} />\n )}\n </Scatter>\n )\n })}\n </RechartsScatterChart>\n </ChartContainer>\n </div>\n )\n}\n\nScatterChart.displayName = \"ScatterChart\"\n"]}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from './chunk-NHUUSXBL.js';
|
|
2
|
+
import { SkeletonLoader } from './chunk-NGX3ITG4.js';
|
|
3
|
+
import { Checkbox } from './chunk-JXEIRIU4.js';
|
|
4
|
+
import { cn, isInteractiveTarget } from './chunk-RVAYDRMA.js';
|
|
5
|
+
import { useReactTable, getCoreRowModel, flexRender } from '@tanstack/react-table';
|
|
6
|
+
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
7
|
+
import * as React from 'react';
|
|
8
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
9
|
+
|
|
10
|
+
var SKELETON_KEYS = [
|
|
11
|
+
"skeleton-row-1",
|
|
12
|
+
"skeleton-row-2",
|
|
13
|
+
"skeleton-row-3",
|
|
14
|
+
"skeleton-row-4",
|
|
15
|
+
"skeleton-row-5"
|
|
16
|
+
];
|
|
17
|
+
function VirtualTable({
|
|
18
|
+
data,
|
|
19
|
+
columns,
|
|
20
|
+
rowHeight = 40,
|
|
21
|
+
overscan = 5,
|
|
22
|
+
estimateSize,
|
|
23
|
+
containerHeight = 400,
|
|
24
|
+
enableRowSelection = false,
|
|
25
|
+
onRowClick,
|
|
26
|
+
getRowId,
|
|
27
|
+
loading = false,
|
|
28
|
+
loadingComponent,
|
|
29
|
+
emptyState,
|
|
30
|
+
className,
|
|
31
|
+
rowSelection: controlledRowSelection,
|
|
32
|
+
onRowSelectionChange,
|
|
33
|
+
onSelectionChange,
|
|
34
|
+
rowClassName,
|
|
35
|
+
stickyHeader = true
|
|
36
|
+
}) {
|
|
37
|
+
const parentRef = React.useRef(null);
|
|
38
|
+
const [internalRowSelection, setInternalRowSelection] = React.useState({});
|
|
39
|
+
const rowSelection = controlledRowSelection ?? internalRowSelection;
|
|
40
|
+
const handleRowSelectionChange = React.useCallback(
|
|
41
|
+
(updaterOrValue) => {
|
|
42
|
+
const newValue = typeof updaterOrValue === "function" ? updaterOrValue(rowSelection) : updaterOrValue;
|
|
43
|
+
if (onRowSelectionChange) {
|
|
44
|
+
onRowSelectionChange(newValue);
|
|
45
|
+
} else {
|
|
46
|
+
setInternalRowSelection(newValue);
|
|
47
|
+
}
|
|
48
|
+
if (onSelectionChange) {
|
|
49
|
+
const selectedIndices = Object.keys(newValue).filter(
|
|
50
|
+
(key) => newValue[key]
|
|
51
|
+
);
|
|
52
|
+
const selectedRows = selectedIndices.map((idx) => data[Number(idx)]).filter(Boolean);
|
|
53
|
+
onSelectionChange(selectedRows);
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
[rowSelection, onRowSelectionChange, onSelectionChange, data]
|
|
57
|
+
);
|
|
58
|
+
const tableColumns = React.useMemo(() => {
|
|
59
|
+
if (!enableRowSelection) return columns;
|
|
60
|
+
return [
|
|
61
|
+
{
|
|
62
|
+
id: "select",
|
|
63
|
+
header: ({ table: table2 }) => /* @__PURE__ */ jsx(
|
|
64
|
+
Checkbox,
|
|
65
|
+
{
|
|
66
|
+
checked: table2.getIsAllPageRowsSelected() || table2.getIsSomePageRowsSelected() && "indeterminate",
|
|
67
|
+
"aria-label": "Select all",
|
|
68
|
+
onCheckedChange: (value) => {
|
|
69
|
+
table2.toggleAllPageRowsSelected(!!value);
|
|
70
|
+
},
|
|
71
|
+
onClick: (e) => {
|
|
72
|
+
e.stopPropagation();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
),
|
|
76
|
+
cell: ({ row }) => /* @__PURE__ */ jsx(
|
|
77
|
+
Checkbox,
|
|
78
|
+
{
|
|
79
|
+
"aria-label": "Select row",
|
|
80
|
+
checked: row.getIsSelected(),
|
|
81
|
+
onCheckedChange: (value) => {
|
|
82
|
+
row.toggleSelected(!!value);
|
|
83
|
+
},
|
|
84
|
+
onClick: (e) => {
|
|
85
|
+
e.stopPropagation();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
),
|
|
89
|
+
enableSorting: false,
|
|
90
|
+
enableHiding: false,
|
|
91
|
+
size: 40
|
|
92
|
+
},
|
|
93
|
+
...columns
|
|
94
|
+
];
|
|
95
|
+
}, [columns, enableRowSelection]);
|
|
96
|
+
const table = useReactTable({
|
|
97
|
+
data,
|
|
98
|
+
columns: tableColumns,
|
|
99
|
+
state: {
|
|
100
|
+
rowSelection
|
|
101
|
+
},
|
|
102
|
+
enableRowSelection,
|
|
103
|
+
getRowId,
|
|
104
|
+
getCoreRowModel: getCoreRowModel(),
|
|
105
|
+
onRowSelectionChange: handleRowSelectionChange
|
|
106
|
+
});
|
|
107
|
+
const { rows } = table.getRowModel();
|
|
108
|
+
const virtualizer = useVirtualizer({
|
|
109
|
+
count: rows.length,
|
|
110
|
+
getScrollElement: () => parentRef.current,
|
|
111
|
+
estimateSize: estimateSize ?? (() => rowHeight),
|
|
112
|
+
overscan
|
|
113
|
+
});
|
|
114
|
+
const virtualItems = virtualizer.getVirtualItems();
|
|
115
|
+
const totalSize = virtualizer.getTotalSize();
|
|
116
|
+
const containerStyle = {
|
|
117
|
+
height: typeof containerHeight === "number" ? `${String(containerHeight)}px` : containerHeight,
|
|
118
|
+
overflow: "auto",
|
|
119
|
+
willChange: "transform"
|
|
120
|
+
};
|
|
121
|
+
if (loading) {
|
|
122
|
+
return /* @__PURE__ */ jsx("div", { className: cn("space-y-4", className), "data-slot": "virtual-table", children: loadingComponent ?? /* @__PURE__ */ jsx("div", { className: "space-y-2", "data-slot": "virtual-table-loading", children: SKELETON_KEYS.map((key) => /* @__PURE__ */ jsx(SkeletonLoader, { className: "h-10 w-full" }, key)) }) });
|
|
123
|
+
}
|
|
124
|
+
if (data.length === 0) {
|
|
125
|
+
return /* @__PURE__ */ jsx("div", { className: cn("space-y-4", className), "data-slot": "virtual-table", children: emptyState ?? /* @__PURE__ */ jsx(
|
|
126
|
+
"div",
|
|
127
|
+
{
|
|
128
|
+
className: "flex flex-col items-center justify-center py-12 text-center",
|
|
129
|
+
"data-slot": "virtual-table-empty",
|
|
130
|
+
children: /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm", children: "No data available" })
|
|
131
|
+
}
|
|
132
|
+
) });
|
|
133
|
+
}
|
|
134
|
+
const firstItem = virtualItems[0];
|
|
135
|
+
const lastItem = virtualItems[virtualItems.length - 1];
|
|
136
|
+
const paddingTop = firstItem ? firstItem.start : 0;
|
|
137
|
+
const paddingBottom = lastItem ? totalSize - lastItem.end : 0;
|
|
138
|
+
return /* @__PURE__ */ jsx(
|
|
139
|
+
"div",
|
|
140
|
+
{
|
|
141
|
+
className: cn("rounded-md border", className),
|
|
142
|
+
"data-slot": "virtual-table",
|
|
143
|
+
children: /* @__PURE__ */ jsx(
|
|
144
|
+
"div",
|
|
145
|
+
{
|
|
146
|
+
ref: parentRef,
|
|
147
|
+
className: "relative",
|
|
148
|
+
"data-slot": "virtual-table-container",
|
|
149
|
+
style: containerStyle,
|
|
150
|
+
children: /* @__PURE__ */ jsxs(Table, { children: [
|
|
151
|
+
/* @__PURE__ */ jsx(
|
|
152
|
+
TableHeader,
|
|
153
|
+
{
|
|
154
|
+
className: cn(
|
|
155
|
+
stickyHeader && "bg-[color:var(--table-header-bg)] sticky top-0 z-10"
|
|
156
|
+
),
|
|
157
|
+
children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx(TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx(
|
|
158
|
+
TableHead,
|
|
159
|
+
{
|
|
160
|
+
style: {
|
|
161
|
+
width: header.getSize() !== 150 ? header.getSize() : void 0
|
|
162
|
+
},
|
|
163
|
+
children: header.isPlaceholder ? null : flexRender(
|
|
164
|
+
header.column.columnDef.header,
|
|
165
|
+
header.getContext()
|
|
166
|
+
)
|
|
167
|
+
},
|
|
168
|
+
header.id
|
|
169
|
+
)) }, headerGroup.id))
|
|
170
|
+
}
|
|
171
|
+
),
|
|
172
|
+
/* @__PURE__ */ jsxs(TableBody, { children: [
|
|
173
|
+
paddingTop > 0 && /* @__PURE__ */ jsx("tr", { "aria-hidden": "true", children: /* @__PURE__ */ jsx(
|
|
174
|
+
"td",
|
|
175
|
+
{
|
|
176
|
+
colSpan: tableColumns.length,
|
|
177
|
+
style: { height: `${String(paddingTop)}px`, padding: 0 }
|
|
178
|
+
}
|
|
179
|
+
) }),
|
|
180
|
+
virtualItems.map((virtualRow) => {
|
|
181
|
+
const row = rows[virtualRow.index];
|
|
182
|
+
if (!row) return null;
|
|
183
|
+
return /* @__PURE__ */ jsx(
|
|
184
|
+
TableRow,
|
|
185
|
+
{
|
|
186
|
+
className: cn(
|
|
187
|
+
onRowClick && "cursor-pointer",
|
|
188
|
+
rowClassName?.(row)
|
|
189
|
+
),
|
|
190
|
+
style: {
|
|
191
|
+
height: `${String(virtualRow.size)}px`
|
|
192
|
+
},
|
|
193
|
+
"aria-rowindex": virtualRow.index + 1,
|
|
194
|
+
"data-state": row.getIsSelected() ? "selected" : void 0,
|
|
195
|
+
onClick: onRowClick ? (e) => {
|
|
196
|
+
if (isInteractiveTarget(e.target, e.currentTarget)) return;
|
|
197
|
+
onRowClick(row.original);
|
|
198
|
+
} : void 0,
|
|
199
|
+
children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx(
|
|
200
|
+
TableCell,
|
|
201
|
+
{
|
|
202
|
+
style: {
|
|
203
|
+
width: cell.column.getSize() !== 150 ? cell.column.getSize() : void 0
|
|
204
|
+
},
|
|
205
|
+
children: flexRender(
|
|
206
|
+
cell.column.columnDef.cell,
|
|
207
|
+
cell.getContext()
|
|
208
|
+
)
|
|
209
|
+
},
|
|
210
|
+
cell.id
|
|
211
|
+
))
|
|
212
|
+
},
|
|
213
|
+
row.id
|
|
214
|
+
);
|
|
215
|
+
}),
|
|
216
|
+
paddingBottom > 0 && /* @__PURE__ */ jsx("tr", { "aria-hidden": "true", children: /* @__PURE__ */ jsx(
|
|
217
|
+
"td",
|
|
218
|
+
{
|
|
219
|
+
colSpan: tableColumns.length,
|
|
220
|
+
style: { height: `${String(paddingBottom)}px`, padding: 0 }
|
|
221
|
+
}
|
|
222
|
+
) })
|
|
223
|
+
] })
|
|
224
|
+
] })
|
|
225
|
+
}
|
|
226
|
+
)
|
|
227
|
+
}
|
|
228
|
+
);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
export { VirtualTable };
|
|
232
|
+
//# sourceMappingURL=chunk-V57DERRV.js.map
|
|
233
|
+
//# sourceMappingURL=chunk-V57DERRV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/VirtualTable/VirtualTable.tsx"],"names":["table"],"mappings":"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","file":"chunk-V57DERRV.js","sourcesContent":["import type { VirtualTableProps } from \"./VirtualTable.types\"\nimport type {\n Table as ReactTable,\n Row,\n RowSelectionState,\n} from \"@tanstack/react-table\"\n\nimport {\n flexRender,\n getCoreRowModel,\n useReactTable,\n} from \"@tanstack/react-table\"\nimport { useVirtualizer } from \"@tanstack/react-virtual\"\nimport * as React from \"react\"\n\nimport { cn, isInteractiveTarget } from \"../../../lib/utils\"\nimport { Checkbox } from \"../../forms/Checkbox\"\nimport { SkeletonLoader } from \"../../primitives/SkeletonLoader\"\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"../Table\"\n\n// Static keys for skeleton loader to avoid array index as key\nconst SKELETON_KEYS = [\n \"skeleton-row-1\",\n \"skeleton-row-2\",\n \"skeleton-row-3\",\n \"skeleton-row-4\",\n \"skeleton-row-5\",\n] as const\n\n/**\n * VirtualTable - High-performance virtualized table for large datasets.\n *\n * Renders only visible rows in the viewport, enabling smooth scrolling\n * with thousands or millions of rows. Built on TanStack Virtual and\n * TanStack Table.\n *\n * @example\n * ```tsx\n * import { VirtualTable } from '@etus/ui'\n * import { ColumnDef } from '@tanstack/react-table'\n *\n * interface LogEntry {\n * id: string\n * timestamp: Date\n * level: 'info' | 'warn' | 'error'\n * message: string\n * }\n *\n * const columns: ColumnDef<LogEntry>[] = [\n * { accessorKey: 'timestamp', header: 'Time', size: 150 },\n * { accessorKey: 'level', header: 'Level', size: 80 },\n * { accessorKey: 'message', header: 'Message' },\n * ]\n *\n * function LogViewer() {\n * const { data } = useLogs() // 100k+ entries\n *\n * return (\n * <VirtualTable\n * data={data}\n * columns={columns}\n * rowHeight={36}\n * containerHeight={600}\n * getRowId={(row) => row.id}\n * />\n * )\n * }\n * ```\n */\nfunction VirtualTable<TData>({\n data,\n columns,\n rowHeight = 40,\n overscan = 5,\n estimateSize,\n containerHeight = 400,\n enableRowSelection = false,\n onRowClick,\n getRowId,\n loading = false,\n loadingComponent,\n emptyState,\n className,\n rowSelection: controlledRowSelection,\n onRowSelectionChange,\n onSelectionChange,\n rowClassName,\n stickyHeader = true,\n}: VirtualTableProps<TData>) {\n const parentRef = React.useRef<HTMLDivElement>(null)\n const [internalRowSelection, setInternalRowSelection] =\n React.useState<RowSelectionState>({})\n\n const rowSelection = controlledRowSelection ?? internalRowSelection\n\n // Create wrapper for row selection change to also notify onSelectionChange\n const handleRowSelectionChange = React.useCallback(\n (\n updaterOrValue:\n | ((old: RowSelectionState) => RowSelectionState)\n | RowSelectionState\n ) => {\n const newValue =\n typeof updaterOrValue === \"function\"\n ? updaterOrValue(rowSelection)\n : updaterOrValue\n\n // Update internal or controlled state\n if (onRowSelectionChange) {\n onRowSelectionChange(newValue)\n } else {\n setInternalRowSelection(newValue)\n }\n\n // Notify parent of selected rows as TData array\n if (onSelectionChange) {\n const selectedIndices = Object.keys(newValue).filter(\n (key) => newValue[key]\n )\n const selectedRows = selectedIndices\n .map((idx) => data[Number(idx)])\n .filter(Boolean) as TData[]\n onSelectionChange(selectedRows)\n }\n },\n [rowSelection, onRowSelectionChange, onSelectionChange, data]\n )\n\n // Memoize column definitions with selection column\n const tableColumns = React.useMemo(() => {\n if (!enableRowSelection) return columns\n\n return [\n {\n id: \"select\",\n header: ({ table }: { table: ReactTable<TData> }) => (\n <Checkbox\n checked={\n table.getIsAllPageRowsSelected() ||\n (table.getIsSomePageRowsSelected() && \"indeterminate\")\n }\n aria-label=\"Select all\"\n onCheckedChange={(value) => {\n table.toggleAllPageRowsSelected(!!value)\n }}\n onClick={(e) => {\n e.stopPropagation()\n }}\n />\n ),\n cell: ({ row }: { row: Row<TData> }) => (\n <Checkbox\n aria-label=\"Select row\"\n checked={row.getIsSelected()}\n onCheckedChange={(value) => {\n row.toggleSelected(!!value)\n }}\n // Selection must never bubble into onRowClick (or consumer wrappers)\n onClick={(e) => {\n e.stopPropagation()\n }}\n />\n ),\n enableSorting: false,\n enableHiding: false,\n size: 40,\n },\n ...columns,\n ]\n }, [columns, enableRowSelection])\n\n // Initialize table\n // eslint-disable-next-line react-hooks/incompatible-library -- TanStack Table's API is required here.\n const table = useReactTable({\n data,\n columns: tableColumns,\n state: {\n rowSelection,\n },\n enableRowSelection,\n getRowId,\n getCoreRowModel: getCoreRowModel(),\n onRowSelectionChange: handleRowSelectionChange,\n })\n\n const { rows } = table.getRowModel()\n\n // Initialize virtualizer\n const virtualizer = useVirtualizer({\n count: rows.length,\n getScrollElement: () => parentRef.current,\n estimateSize: estimateSize ?? (() => rowHeight),\n overscan,\n })\n\n const virtualItems = virtualizer.getVirtualItems()\n const totalSize = virtualizer.getTotalSize()\n\n // Calculate container height style\n const containerStyle: React.CSSProperties = {\n height:\n typeof containerHeight === \"number\"\n ? `${String(containerHeight)}px`\n : containerHeight,\n overflow: \"auto\",\n willChange: \"transform\",\n }\n\n // Render loading state\n if (loading) {\n return (\n <div className={cn(\"space-y-4\", className)} data-slot=\"virtual-table\">\n {loadingComponent ?? (\n <div className=\"space-y-2\" data-slot=\"virtual-table-loading\">\n {SKELETON_KEYS.map((key) => (\n <SkeletonLoader key={key} className=\"h-10 w-full\" />\n ))}\n </div>\n )}\n </div>\n )\n }\n\n // Render empty state\n if (data.length === 0) {\n return (\n <div className={cn(\"space-y-4\", className)} data-slot=\"virtual-table\">\n {emptyState ?? (\n <div\n className=\"flex flex-col items-center justify-center py-12 text-center\"\n data-slot=\"virtual-table-empty\"\n >\n <p className=\"text-muted-foreground text-sm\">No data available</p>\n </div>\n )}\n </div>\n )\n }\n\n // Calculate padding for virtual items\n const firstItem = virtualItems[0]\n const lastItem = virtualItems[virtualItems.length - 1]\n const paddingTop = firstItem ? firstItem.start : 0\n const paddingBottom = lastItem ? totalSize - lastItem.end : 0\n\n return (\n <div\n className={cn(\"rounded-md border\", className)}\n data-slot=\"virtual-table\"\n >\n <div\n ref={parentRef}\n className=\"relative\"\n data-slot=\"virtual-table-container\"\n style={containerStyle}\n >\n <Table>\n <TableHeader\n className={cn(\n stickyHeader && \"bg-[color:var(--table-header-bg)] sticky top-0 z-10\"\n )}\n >\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => (\n <TableHead\n key={header.id}\n style={{\n width: header.getSize() !== 150 ? header.getSize() : undefined,\n }}\n >\n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n </TableHead>\n ))}\n </TableRow>\n ))}\n </TableHeader>\n <TableBody>\n {/* Top padding row */}\n {paddingTop > 0 && (\n <tr aria-hidden=\"true\">\n <td\n colSpan={tableColumns.length}\n style={{ height: `${String(paddingTop)}px`, padding: 0 }}\n />\n </tr>\n )}\n\n {/* Virtual rows */}\n {virtualItems.map((virtualRow) => {\n const row = rows[virtualRow.index]\n if (!row) return null\n return (\n <TableRow\n key={row.id}\n className={cn(\n onRowClick && \"cursor-pointer\",\n rowClassName?.(row)\n )}\n style={{\n height: `${String(virtualRow.size)}px`,\n }}\n aria-rowindex={virtualRow.index + 1}\n data-state={row.getIsSelected() ? \"selected\" : undefined}\n onClick={\n onRowClick\n ? (e) => {\n if (isInteractiveTarget(e.target, e.currentTarget)) return\n onRowClick(row.original)\n }\n : undefined\n }\n >\n {row.getVisibleCells().map((cell) => (\n <TableCell\n key={cell.id}\n style={{\n width:\n cell.column.getSize() !== 150\n ? cell.column.getSize()\n : undefined,\n }}\n >\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </TableCell>\n ))}\n </TableRow>\n )\n })}\n\n {/* Bottom padding row */}\n {paddingBottom > 0 && (\n <tr aria-hidden=\"true\">\n <td\n colSpan={tableColumns.length}\n style={{ height: `${String(paddingBottom)}px`, padding: 0 }}\n />\n </tr>\n )}\n </TableBody>\n </Table>\n </div>\n </div>\n )\n}\n\nexport { VirtualTable }\n"]}
|