eidos-ui 1.0.0 → 1.0.2
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/LICENSE +22 -22
- package/README.md +227 -175
- package/dist/accordion/index.cjs +2 -2
- package/dist/accordion/index.cjs.map +1 -1
- package/dist/accordion/index.js +1 -1
- package/dist/alert/index.cjs +5 -5
- package/dist/alert/index.cjs.map +1 -1
- package/dist/alert/index.js +4 -4
- package/dist/avatar/index.cjs +2 -2
- package/dist/avatar/index.cjs.map +1 -1
- package/dist/avatar/index.js +1 -1
- package/dist/badge/index.cjs.map +1 -1
- package/dist/breadcrumb/index.cjs +2 -2
- package/dist/breadcrumb/index.cjs.map +1 -1
- package/dist/breadcrumb/index.js +1 -1
- package/dist/button/index.cjs +4 -4
- package/dist/button/index.cjs.map +1 -1
- package/dist/button/index.js +3 -3
- package/dist/button-group/index.cjs +2 -2
- package/dist/button-group/index.cjs.map +1 -1
- package/dist/button-group/index.js +1 -1
- package/dist/card/index.cjs +2 -2
- package/dist/card/index.cjs.map +1 -1
- package/dist/card/index.js +1 -1
- package/dist/checkbox/index.cjs +2 -2
- package/dist/checkbox/index.cjs.map +1 -1
- package/dist/checkbox/index.js +1 -1
- package/dist/chip/index.cjs +4 -4
- package/dist/chip/index.cjs.map +1 -1
- package/dist/chip/index.js +3 -3
- package/dist/{chunk-OHUVWPFJ.js → chunk-2BC4M4QZ.js} +1 -1
- package/dist/chunk-2BC4M4QZ.js.map +1 -0
- package/dist/{chunk-OT3VZLN4.js → chunk-2BXCIWL7.js} +3 -3
- package/dist/chunk-2BXCIWL7.js.map +1 -0
- package/dist/{chunk-6QFT3BUD.cjs → chunk-2ROKOO22.cjs} +1 -1
- package/dist/chunk-2ROKOO22.cjs.map +1 -0
- package/dist/{chunk-AOV32YBE.js → chunk-2RXQMQYW.js} +1 -1
- package/dist/chunk-2RXQMQYW.js.map +1 -0
- package/dist/{chunk-VYV45YOK.cjs → chunk-2U7UJOOB.cjs} +17 -17
- package/dist/chunk-2U7UJOOB.cjs.map +1 -0
- package/dist/{chunk-UTENJWSE.cjs → chunk-366R4GKR.cjs} +1 -1
- package/dist/chunk-366R4GKR.cjs.map +1 -0
- package/dist/{chunk-TQCNQKWF.cjs → chunk-3CXULV4G.cjs} +1 -1
- package/dist/chunk-3CXULV4G.cjs.map +1 -0
- package/dist/{chunk-PEPYVWGY.cjs → chunk-3EPND5M2.cjs} +3 -3
- package/dist/chunk-3EPND5M2.cjs.map +1 -0
- package/dist/chunk-3ETWFS2N.cjs.map +1 -1
- package/dist/{chunk-GL4DHGQE.js → chunk-3HMKE2GJ.js} +5 -5
- package/dist/chunk-3HMKE2GJ.js.map +1 -0
- package/dist/{chunk-QYHTMEI5.js → chunk-3LBWAUCR.js} +1 -1
- package/dist/chunk-3LBWAUCR.js.map +1 -0
- package/dist/{chunk-E2B33QB7.js → chunk-3LHQUOGP.js} +4 -4
- package/dist/chunk-3LHQUOGP.js.map +1 -0
- package/dist/chunk-3RUIKBH4.cjs.map +1 -1
- package/dist/{chunk-DK4S3EHG.js → chunk-3TUCQAYL.js} +1 -1
- package/dist/chunk-3TUCQAYL.js.map +1 -0
- package/dist/{chunk-BBOUUHLO.js → chunk-3VRMTWUS.js} +5 -5
- package/dist/chunk-3VRMTWUS.js.map +1 -0
- package/dist/{chunk-SXF3TCYA.js → chunk-4BKTBV2I.js} +1 -1
- package/dist/chunk-4BKTBV2I.js.map +1 -0
- package/dist/{chunk-P74HNSNJ.cjs → chunk-4BQM5F76.cjs} +3 -3
- package/dist/chunk-4BQM5F76.cjs.map +1 -0
- package/dist/{chunk-Z7S4UQKY.js → chunk-4LM33LDV.js} +2 -2
- package/dist/chunk-4LM33LDV.js.map +1 -0
- package/dist/{chunk-GRH57M3E.js → chunk-4M3LZLOH.js} +3 -3
- package/dist/chunk-4M3LZLOH.js.map +1 -0
- package/dist/{chunk-M56IGNH7.cjs → chunk-4UJ7LG4W.cjs} +3 -3
- package/dist/chunk-4UJ7LG4W.cjs.map +1 -0
- package/dist/{chunk-P6ZBENAG.js → chunk-56B6RLOE.js} +3 -3
- package/dist/chunk-56B6RLOE.js.map +1 -0
- package/dist/{chunk-XSGUFMT4.js → chunk-5CLC3FJO.js} +1 -1
- package/dist/chunk-5CLC3FJO.js.map +1 -0
- package/dist/{chunk-VLC2OZV3.cjs → chunk-5O73AALP.cjs} +1 -1
- package/dist/chunk-5O73AALP.cjs.map +1 -0
- package/dist/{chunk-F54MVGKO.js → chunk-5WROPW7Z.js} +4 -4
- package/dist/chunk-5WROPW7Z.js.map +1 -0
- package/dist/{chunk-H56YUMFB.cjs → chunk-6A2ZKVST.cjs} +5 -5
- package/dist/chunk-6A2ZKVST.cjs.map +1 -0
- package/dist/{chunk-CJUZDUXW.cjs → chunk-6RGJAQCU.cjs} +5 -5
- package/dist/chunk-6RGJAQCU.cjs.map +1 -0
- package/dist/{chunk-P2BTQ33C.cjs → chunk-6U2H26A4.cjs} +4 -4
- package/dist/chunk-6U2H26A4.cjs.map +1 -0
- package/dist/{chunk-6USUVU6J.js → chunk-6ZAT5CGB.js} +1 -1
- package/dist/chunk-6ZAT5CGB.js.map +1 -0
- package/dist/{chunk-YKECQKOV.cjs → chunk-7AHZTHXR.cjs} +9 -9
- package/dist/chunk-7AHZTHXR.cjs.map +1 -0
- package/dist/{chunk-QYK4ECSZ.js → chunk-7HEUWGYW.js} +1 -1
- package/dist/chunk-7HEUWGYW.js.map +1 -0
- package/dist/{chunk-KF64C4QI.js → chunk-A3NE2C7C.js} +2 -2
- package/dist/chunk-A3NE2C7C.js.map +1 -0
- package/dist/{chunk-LTOHGCU4.cjs → chunk-A7Z2QAFZ.cjs} +7 -7
- package/dist/chunk-A7Z2QAFZ.cjs.map +1 -0
- package/dist/{chunk-ICHPPNFV.js → chunk-ALGX5X4N.js} +5 -5
- package/dist/chunk-ALGX5X4N.js.map +1 -0
- package/dist/{chunk-FNUOTM44.cjs → chunk-AYMD4D4M.cjs} +3 -3
- package/dist/chunk-AYMD4D4M.cjs.map +1 -0
- package/dist/{chunk-HQ4KZRFH.js → chunk-BOB5JJ7F.js} +3 -3
- package/dist/chunk-BOB5JJ7F.js.map +1 -0
- package/dist/{chunk-6GAIQ2IY.cjs → chunk-CBLWP43O.cjs} +47 -47
- package/dist/chunk-CBLWP43O.cjs.map +1 -0
- package/dist/{chunk-BTPCSBGP.js → chunk-CJVC3A4O.js} +2 -2
- package/dist/chunk-CJVC3A4O.js.map +1 -0
- package/dist/{chunk-ZBGTVTQJ.js → chunk-CMOBXLNA.js} +1 -1
- package/dist/chunk-CMOBXLNA.js.map +1 -0
- package/dist/{chunk-POX6JZLO.cjs → chunk-DKZTDYH5.cjs} +5 -5
- package/dist/chunk-DKZTDYH5.cjs.map +1 -0
- package/dist/{chunk-S25WB7KJ.js → chunk-DRXPTACG.js} +1 -1
- package/dist/chunk-DRXPTACG.js.map +1 -0
- package/dist/chunk-DZUJEN5N.cjs.map +1 -1
- package/dist/chunk-EACNRR3C.cjs.map +1 -1
- package/dist/{chunk-7IOOFKG3.js → chunk-EF4Y6Q35.js} +1 -1
- package/dist/chunk-EF4Y6Q35.js.map +1 -0
- package/dist/chunk-EQ6BNPTL.cjs.map +1 -1
- package/dist/{chunk-VZ43OLU6.cjs → chunk-EQEV7GPT.cjs} +7 -7
- package/dist/chunk-EQEV7GPT.cjs.map +1 -0
- package/dist/{chunk-ICJ3SV5I.cjs → chunk-FKXKBJUI.cjs} +1 -1
- package/dist/chunk-FKXKBJUI.cjs.map +1 -0
- package/dist/{chunk-BFYSYUA6.cjs → chunk-FMPXSF3H.cjs} +11 -11
- package/dist/chunk-FMPXSF3H.cjs.map +1 -0
- package/dist/chunk-FQZ6F7FQ.cjs.map +1 -1
- package/dist/{chunk-KV2FG7AN.cjs → chunk-FRUOA2QU.cjs} +1 -1
- package/dist/chunk-FRUOA2QU.cjs.map +1 -0
- package/dist/{chunk-CDV2OAS3.cjs → chunk-G5IGADJI.cjs} +7 -7
- package/dist/chunk-G5IGADJI.cjs.map +1 -0
- package/dist/{chunk-TBMVUI7S.cjs → chunk-GOR642KK.cjs} +1 -1
- package/dist/chunk-GOR642KK.cjs.map +1 -0
- package/dist/{chunk-XJBMEDQ5.js → chunk-H6CWTMAH.js} +1 -1
- package/dist/chunk-H6CWTMAH.js.map +1 -0
- package/dist/{chunk-2ZWBN3LK.cjs → chunk-HFZ5FKRG.cjs} +1 -1
- package/dist/chunk-HFZ5FKRG.cjs.map +1 -0
- package/dist/{chunk-QGZF5MOS.cjs → chunk-HLNKIAE5.cjs} +7 -7
- package/dist/chunk-HLNKIAE5.cjs.map +1 -0
- package/dist/chunk-I44YNYI6.cjs.map +1 -1
- package/dist/chunk-I6UOIS4J.cjs.map +1 -1
- package/dist/{chunk-LEZ4HSBD.cjs → chunk-IC2M4N7R.cjs} +34 -34
- package/dist/chunk-IC2M4N7R.cjs.map +1 -0
- package/dist/{chunk-G2FANEA2.cjs → chunk-IJ4DXG7D.cjs} +1 -1
- package/dist/chunk-IJ4DXG7D.cjs.map +1 -0
- package/dist/{chunk-SOGUWOSQ.cjs → chunk-IJYYHBZC.cjs} +3 -3
- package/dist/chunk-IJYYHBZC.cjs.map +1 -0
- package/dist/{chunk-SAFSEXMU.cjs → chunk-ISABZ2VX.cjs} +8 -8
- package/dist/chunk-ISABZ2VX.cjs.map +1 -0
- package/dist/{chunk-VTAABT55.js → chunk-IV4LM3MB.js} +6 -6
- package/dist/chunk-IV4LM3MB.js.map +1 -0
- package/dist/{chunk-KO2MKZDW.cjs → chunk-IXZMKIV5.cjs} +1 -1
- package/dist/chunk-IXZMKIV5.cjs.map +1 -0
- package/dist/{chunk-7KGV6YCG.cjs → chunk-IYWAZEFI.cjs} +1 -1
- package/dist/chunk-IYWAZEFI.cjs.map +1 -0
- package/dist/{chunk-E3XATJ63.js → chunk-IZBJW37N.js} +6 -6
- package/dist/chunk-IZBJW37N.js.map +1 -0
- package/dist/{chunk-HO7P6IJO.js → chunk-JC4WLVBG.js} +2 -2
- package/dist/chunk-JC4WLVBG.js.map +1 -0
- package/dist/{chunk-O6B4KB4D.js → chunk-JMD3P4CY.js} +5 -5
- package/dist/chunk-JMD3P4CY.js.map +1 -0
- package/dist/{chunk-T56K5IKQ.js → chunk-JV7Z3D3U.js} +2 -2
- package/dist/chunk-JV7Z3D3U.js.map +1 -0
- package/dist/{chunk-DFADZZ3K.js → chunk-K7IFNKMN.js} +3 -3
- package/dist/chunk-K7IFNKMN.js.map +1 -0
- package/dist/{chunk-C7F2VFAI.cjs → chunk-KIXFSXIN.cjs} +1 -1
- package/dist/chunk-KIXFSXIN.cjs.map +1 -0
- package/dist/{chunk-V5JNYS77.cjs → chunk-KV3V2CPH.cjs} +1 -1
- package/dist/chunk-KV3V2CPH.cjs.map +1 -0
- package/dist/{chunk-5TGBNYZK.cjs → chunk-KVIL4EP4.cjs} +1 -1
- package/dist/chunk-KVIL4EP4.cjs.map +1 -0
- package/dist/{chunk-PWIA4XQD.js → chunk-LUSLBNSG.js} +1 -1
- package/dist/chunk-LUSLBNSG.js.map +1 -0
- package/dist/{chunk-73EKJU4G.js → chunk-LYH3EKKQ.js} +1 -1
- package/dist/chunk-LYH3EKKQ.js.map +1 -0
- package/dist/{chunk-D7PGZ3M3.cjs → chunk-MW2S7PZ7.cjs} +5 -5
- package/dist/chunk-MW2S7PZ7.cjs.map +1 -0
- package/dist/{chunk-LQ3C3OR2.js → chunk-MZZ4SAFY.js} +1 -1
- package/dist/chunk-MZZ4SAFY.js.map +1 -0
- package/dist/{chunk-KKOZX64Z.js → chunk-NEQXEVHM.js} +1 -1
- package/dist/chunk-NEQXEVHM.js.map +1 -0
- package/dist/{chunk-NDLMU6HJ.js → chunk-NFIK3KMT.js} +9 -9
- package/dist/chunk-NFIK3KMT.js.map +1 -0
- package/dist/{chunk-3YPTYI7R.js → chunk-NQ4L6PYW.js} +1 -1
- package/dist/chunk-NQ4L6PYW.js.map +1 -0
- package/dist/{chunk-JFA5ABVE.js → chunk-NSITXZBU.js} +1 -1
- package/dist/chunk-NSITXZBU.js.map +1 -0
- package/dist/{chunk-2YQE26EK.js → chunk-O3I3RBZJ.js} +1 -1
- package/dist/chunk-O3I3RBZJ.js.map +1 -0
- package/dist/{chunk-O5ZPSZNY.cjs → chunk-OGKD5PLS.cjs} +6 -6
- package/dist/chunk-OGKD5PLS.cjs.map +1 -0
- package/dist/{chunk-7R7IFWGB.cjs → chunk-OZZHOEN5.cjs} +1 -1
- package/dist/chunk-OZZHOEN5.cjs.map +1 -0
- package/dist/{chunk-6P4WYB3B.js → chunk-P2GCAVUZ.js} +2 -2
- package/dist/chunk-P2GCAVUZ.js.map +1 -0
- package/dist/{chunk-L3UPSLJ5.cjs → chunk-PA4IT2XQ.cjs} +19 -19
- package/dist/chunk-PA4IT2XQ.cjs.map +1 -0
- package/dist/{chunk-N7HX5635.cjs → chunk-PJC7NZUV.cjs} +3 -3
- package/dist/chunk-PJC7NZUV.cjs.map +1 -0
- package/dist/{chunk-QP2A5ZMK.cjs → chunk-PTBBY4ZX.cjs} +1 -1
- package/dist/chunk-PTBBY4ZX.cjs.map +1 -0
- package/dist/{chunk-VFYG7GAH.js → chunk-PY2376XI.js} +2 -2
- package/dist/chunk-PY2376XI.js.map +1 -0
- package/dist/{chunk-R5UNLPQZ.cjs → chunk-Q3GNKF74.cjs} +1 -1
- package/dist/chunk-Q3GNKF74.cjs.map +1 -0
- package/dist/{chunk-YLKESEHQ.cjs → chunk-QF2RAUPB.cjs} +1 -1
- package/dist/chunk-QF2RAUPB.cjs.map +1 -0
- package/dist/{chunk-2HTBZGBP.cjs → chunk-QQIALSTX.cjs} +1 -1
- package/dist/chunk-QQIALSTX.cjs.map +1 -0
- package/dist/{chunk-6HGDQ4BM.js → chunk-S2EICHZK.js} +13 -13
- package/dist/chunk-S2EICHZK.js.map +1 -0
- package/dist/{chunk-5QG2I3FK.cjs → chunk-S77GR5YQ.cjs} +3 -3
- package/dist/chunk-S77GR5YQ.cjs.map +1 -0
- package/dist/{chunk-YCUT6NQ4.js → chunk-S7TWEVC3.js} +2 -2
- package/dist/chunk-S7TWEVC3.js.map +1 -0
- package/dist/{chunk-2JWY36LD.cjs → chunk-SDEKANNL.cjs} +1 -1
- package/dist/chunk-SDEKANNL.cjs.map +1 -0
- package/dist/{chunk-RSBQNIJZ.js → chunk-SENVA467.js} +1 -1
- package/dist/chunk-SENVA467.js.map +1 -0
- package/dist/chunk-SJDTFR3I.cjs.map +1 -1
- package/dist/chunk-SWPZ3HFY.cjs.map +1 -1
- package/dist/{chunk-R36SGSJX.cjs → chunk-TROYIUDH.cjs} +1 -1
- package/dist/chunk-TROYIUDH.cjs.map +1 -0
- package/dist/{chunk-3KAR5KCS.cjs → chunk-UGMONQGH.cjs} +11 -11
- package/dist/chunk-UGMONQGH.cjs.map +1 -0
- package/dist/{chunk-CKH36D7H.js → chunk-UTUPJOBY.js} +1 -1
- package/dist/chunk-UTUPJOBY.js.map +1 -0
- package/dist/{chunk-63N2KZZX.cjs → chunk-V2S6XWIQ.cjs} +1 -1
- package/dist/chunk-V2S6XWIQ.cjs.map +1 -0
- package/dist/{chunk-G36S5CWN.cjs → chunk-V5RS3JZN.cjs} +1 -1
- package/dist/chunk-V5RS3JZN.cjs.map +1 -0
- package/dist/chunk-VW32UTUE.cjs.map +1 -1
- package/dist/{chunk-4NUZP66U.js → chunk-VZYLJSV5.js} +3 -3
- package/dist/chunk-VZYLJSV5.js.map +1 -0
- package/dist/{chunk-GOVOQZYN.js → chunk-W2F6WDUX.js} +1 -1
- package/dist/chunk-W2F6WDUX.js.map +1 -0
- package/dist/{chunk-XMRMCWSQ.js → chunk-W3X3V72Q.js} +3 -3
- package/dist/chunk-W3X3V72Q.js.map +1 -0
- package/dist/{chunk-AUFCW7QU.cjs → chunk-W6IKHJ76.cjs} +3 -3
- package/dist/chunk-W6IKHJ76.cjs.map +1 -0
- package/dist/{chunk-A35Y5MRJ.js → chunk-WE5FTQGD.js} +3 -3
- package/dist/chunk-WE5FTQGD.js.map +1 -0
- package/dist/{chunk-FO5FNTJX.js → chunk-WIE7HDIM.js} +3 -3
- package/dist/chunk-WIE7HDIM.js.map +1 -0
- package/dist/{chunk-YZOVF7JV.cjs → chunk-WPTMMOA6.cjs} +9 -9
- package/dist/chunk-WPTMMOA6.cjs.map +1 -0
- package/dist/{chunk-HUNMRKGE.js → chunk-WTXASLBB.js} +2 -2
- package/dist/chunk-WTXASLBB.js.map +1 -0
- package/dist/chunk-XJAXKENE.cjs.map +1 -1
- package/dist/{chunk-TCX3QKF3.js → chunk-XJBWFDDE.js} +1 -1
- package/dist/chunk-XJBWFDDE.js.map +1 -0
- package/dist/{chunk-IYQX7PBO.cjs → chunk-XKQMEVOD.cjs} +1 -1
- package/dist/chunk-XKQMEVOD.cjs.map +1 -0
- package/dist/{chunk-KQKJVFYF.js → chunk-YQLCPKGV.js} +1 -1
- package/dist/chunk-YQLCPKGV.js.map +1 -0
- package/dist/{chunk-GI7WPGP2.cjs → chunk-YRK56AOP.cjs} +5 -5
- package/dist/chunk-YRK56AOP.cjs.map +1 -0
- package/dist/{chunk-H523JFY2.js → chunk-YV57RSPD.js} +1 -1
- package/dist/chunk-YV57RSPD.js.map +1 -0
- package/dist/{chunk-JORQYNJD.js → chunk-Z4ZY7L7W.js} +3 -3
- package/dist/chunk-Z4ZY7L7W.js.map +1 -0
- package/dist/{chunk-R5QPUQSI.cjs → chunk-Z5U4NJTW.cjs} +1 -1
- package/dist/chunk-Z5U4NJTW.cjs.map +1 -0
- package/dist/{chunk-5D3LIJYW.cjs → chunk-ZBKJ3EMK.cjs} +5 -5
- package/dist/chunk-ZBKJ3EMK.cjs.map +1 -0
- package/dist/{chunk-K5TKNT6I.cjs → chunk-ZMDZGL5A.cjs} +1 -1
- package/dist/chunk-ZMDZGL5A.cjs.map +1 -0
- package/dist/{chunk-OVYIBDGE.js → chunk-ZZSPQFMX.js} +1 -1
- package/dist/chunk-ZZSPQFMX.js.map +1 -0
- package/dist/color-picker/index.cjs +3 -3
- package/dist/color-picker/index.cjs.map +1 -1
- package/dist/color-picker/index.js +2 -2
- package/dist/combobox/index.cjs +6 -6
- package/dist/combobox/index.cjs.map +1 -1
- package/dist/combobox/index.js +5 -5
- package/dist/command-palette/index.cjs +3 -3
- package/dist/command-palette/index.cjs.map +1 -1
- package/dist/command-palette/index.js +2 -2
- package/dist/context-menu/index.cjs +7 -7
- package/dist/context-menu/index.cjs.map +1 -1
- package/dist/context-menu/index.js +6 -6
- package/dist/data-grid/index.cjs +17 -17
- package/dist/data-grid/index.cjs.map +1 -1
- package/dist/data-grid/index.js +16 -16
- package/dist/date-picker/index.cjs +8 -8
- package/dist/date-picker/index.cjs.map +1 -1
- package/dist/date-picker/index.js +7 -7
- package/dist/divider/index.cjs +2 -2
- package/dist/divider/index.cjs.map +1 -1
- package/dist/divider/index.js +1 -1
- package/dist/drawer/index.cjs +5 -5
- package/dist/drawer/index.cjs.map +1 -1
- package/dist/drawer/index.js +4 -4
- package/dist/dropdown/index.cjs +2 -2
- package/dist/dropdown/index.cjs.map +1 -1
- package/dist/dropdown/index.js +1 -1
- package/dist/empty-state/index.cjs +2 -2
- package/dist/empty-state/index.cjs.map +1 -1
- package/dist/empty-state/index.js +1 -1
- package/dist/file-upload/index.cjs +2 -2
- package/dist/file-upload/index.cjs.map +1 -1
- package/dist/file-upload/index.js +1 -1
- package/dist/footer/index.cjs +2 -2
- package/dist/footer/index.cjs.map +1 -1
- package/dist/footer/index.js +1 -1
- package/dist/header/index.cjs +5 -5
- package/dist/header/index.cjs.map +1 -1
- package/dist/header/index.js +4 -4
- package/dist/index.cjs +56 -56
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +55 -55
- package/dist/inline-edit/index.cjs +5 -5
- package/dist/inline-edit/index.cjs.map +1 -1
- package/dist/inline-edit/index.js +4 -4
- package/dist/input/index.cjs +4 -4
- package/dist/input/index.cjs.map +1 -1
- package/dist/input/index.js +3 -3
- package/dist/kbd/index.cjs +2 -2
- package/dist/kbd/index.cjs.map +1 -1
- package/dist/kbd/index.js +1 -1
- package/dist/menu/index.cjs +6 -6
- package/dist/menu/index.cjs.map +1 -1
- package/dist/menu/index.js +5 -5
- package/dist/modal/index.cjs +5 -5
- package/dist/modal/index.cjs.map +1 -1
- package/dist/modal/index.js +4 -4
- package/dist/navigation/index.cjs +6 -6
- package/dist/navigation/index.cjs.map +1 -1
- package/dist/navigation/index.js +5 -5
- package/dist/number-input/index.cjs +2 -2
- package/dist/number-input/index.cjs.map +1 -1
- package/dist/number-input/index.js +1 -1
- package/dist/o-t-p-input/index.cjs +2 -2
- package/dist/o-t-p-input/index.cjs.map +1 -1
- package/dist/o-t-p-input/index.js +1 -1
- package/dist/page-layout/index.cjs +15 -15
- package/dist/page-layout/index.cjs.map +1 -1
- package/dist/page-layout/index.js +14 -14
- package/dist/pagination/index.cjs +8 -8
- package/dist/pagination/index.cjs.map +1 -1
- package/dist/pagination/index.js +7 -7
- package/dist/pill/index.cjs.map +1 -1
- package/dist/popover/index.cjs +2 -2
- package/dist/popover/index.cjs.map +1 -1
- package/dist/popover/index.js +1 -1
- package/dist/progress/index.cjs +2 -2
- package/dist/progress/index.cjs.map +1 -1
- package/dist/progress/index.js +1 -1
- package/dist/radio/index.cjs +2 -2
- package/dist/radio/index.cjs.map +1 -1
- package/dist/radio/index.js +1 -1
- package/dist/segmented-control/index.cjs +4 -4
- package/dist/segmented-control/index.cjs.map +1 -1
- package/dist/segmented-control/index.js +3 -3
- package/dist/select/index.cjs +6 -6
- package/dist/select/index.cjs.map +1 -1
- package/dist/select/index.js +5 -5
- package/dist/skeleton/index.cjs +2 -2
- package/dist/skeleton/index.cjs.map +1 -1
- package/dist/skeleton/index.js +1 -1
- package/dist/slider/index.cjs +2 -2
- package/dist/slider/index.cjs.map +1 -1
- package/dist/slider/index.js +1 -1
- package/dist/snackbar/index.cjs +5 -5
- package/dist/snackbar/index.cjs.map +1 -1
- package/dist/snackbar/index.js +4 -4
- package/dist/spinner/index.cjs +2 -2
- package/dist/spinner/index.cjs.map +1 -1
- package/dist/spinner/index.js +1 -1
- package/dist/split-button/index.cjs +7 -7
- package/dist/split-button/index.cjs.map +1 -1
- package/dist/split-button/index.js +6 -6
- package/dist/stepper/index.cjs +2 -2
- package/dist/stepper/index.cjs.map +1 -1
- package/dist/stepper/index.js +1 -1
- package/dist/switch/index.cjs +2 -2
- package/dist/switch/index.cjs.map +1 -1
- package/dist/switch/index.js +1 -1
- package/dist/table/index.cjs +17 -17
- package/dist/table/index.cjs.map +1 -1
- package/dist/table/index.js +16 -16
- package/dist/tabs/index.cjs +3 -3
- package/dist/tabs/index.cjs.map +1 -1
- package/dist/tabs/index.js +2 -2
- package/dist/tag-input/index.cjs +6 -6
- package/dist/tag-input/index.cjs.map +1 -1
- package/dist/tag-input/index.js +5 -5
- package/dist/textarea/index.cjs +4 -4
- package/dist/textarea/index.cjs.map +1 -1
- package/dist/textarea/index.js +3 -3
- package/dist/timeline/index.cjs +2 -2
- package/dist/timeline/index.cjs.map +1 -1
- package/dist/timeline/index.js +1 -1
- package/dist/toolbar/index.cjs +11 -11
- package/dist/toolbar/index.cjs.map +1 -1
- package/dist/toolbar/index.js +10 -10
- package/dist/tooltip/index.cjs +2 -2
- package/dist/tooltip/index.cjs.map +1 -1
- package/dist/tooltip/index.js +1 -1
- package/dist/tree-view/index.cjs +2 -2
- package/dist/tree-view/index.cjs.map +1 -1
- package/dist/tree-view/index.js +1 -1
- package/dist/virtual-list/index.cjs +3 -3
- package/dist/virtual-list/index.cjs.map +1 -1
- package/dist/virtual-list/index.js +2 -2
- package/package.json +114 -110
- package/dist/chunk-2HTBZGBP.cjs.map +0 -1
- package/dist/chunk-2JWY36LD.cjs.map +0 -1
- package/dist/chunk-2YQE26EK.js.map +0 -1
- package/dist/chunk-2ZWBN3LK.cjs.map +0 -1
- package/dist/chunk-3KAR5KCS.cjs.map +0 -1
- package/dist/chunk-3YPTYI7R.js.map +0 -1
- package/dist/chunk-4NUZP66U.js.map +0 -1
- package/dist/chunk-5D3LIJYW.cjs.map +0 -1
- package/dist/chunk-5QG2I3FK.cjs.map +0 -1
- package/dist/chunk-5TGBNYZK.cjs.map +0 -1
- package/dist/chunk-63N2KZZX.cjs.map +0 -1
- package/dist/chunk-6GAIQ2IY.cjs.map +0 -1
- package/dist/chunk-6HGDQ4BM.js.map +0 -1
- package/dist/chunk-6P4WYB3B.js.map +0 -1
- package/dist/chunk-6QFT3BUD.cjs.map +0 -1
- package/dist/chunk-6USUVU6J.js.map +0 -1
- package/dist/chunk-73EKJU4G.js.map +0 -1
- package/dist/chunk-7IOOFKG3.js.map +0 -1
- package/dist/chunk-7KGV6YCG.cjs.map +0 -1
- package/dist/chunk-7R7IFWGB.cjs.map +0 -1
- package/dist/chunk-A35Y5MRJ.js.map +0 -1
- package/dist/chunk-AOV32YBE.js.map +0 -1
- package/dist/chunk-AUFCW7QU.cjs.map +0 -1
- package/dist/chunk-BBOUUHLO.js.map +0 -1
- package/dist/chunk-BFYSYUA6.cjs.map +0 -1
- package/dist/chunk-BTPCSBGP.js.map +0 -1
- package/dist/chunk-C7F2VFAI.cjs.map +0 -1
- package/dist/chunk-CDV2OAS3.cjs.map +0 -1
- package/dist/chunk-CJUZDUXW.cjs.map +0 -1
- package/dist/chunk-CKH36D7H.js.map +0 -1
- package/dist/chunk-D7PGZ3M3.cjs.map +0 -1
- package/dist/chunk-DFADZZ3K.js.map +0 -1
- package/dist/chunk-DK4S3EHG.js.map +0 -1
- package/dist/chunk-E2B33QB7.js.map +0 -1
- package/dist/chunk-E3XATJ63.js.map +0 -1
- package/dist/chunk-F54MVGKO.js.map +0 -1
- package/dist/chunk-FNUOTM44.cjs.map +0 -1
- package/dist/chunk-FO5FNTJX.js.map +0 -1
- package/dist/chunk-G2FANEA2.cjs.map +0 -1
- package/dist/chunk-G36S5CWN.cjs.map +0 -1
- package/dist/chunk-GI7WPGP2.cjs.map +0 -1
- package/dist/chunk-GL4DHGQE.js.map +0 -1
- package/dist/chunk-GOVOQZYN.js.map +0 -1
- package/dist/chunk-GRH57M3E.js.map +0 -1
- package/dist/chunk-H523JFY2.js.map +0 -1
- package/dist/chunk-H56YUMFB.cjs.map +0 -1
- package/dist/chunk-HO7P6IJO.js.map +0 -1
- package/dist/chunk-HQ4KZRFH.js.map +0 -1
- package/dist/chunk-HUNMRKGE.js.map +0 -1
- package/dist/chunk-ICHPPNFV.js.map +0 -1
- package/dist/chunk-ICJ3SV5I.cjs.map +0 -1
- package/dist/chunk-IYQX7PBO.cjs.map +0 -1
- package/dist/chunk-JFA5ABVE.js.map +0 -1
- package/dist/chunk-JORQYNJD.js.map +0 -1
- package/dist/chunk-K5TKNT6I.cjs.map +0 -1
- package/dist/chunk-KF64C4QI.js.map +0 -1
- package/dist/chunk-KKOZX64Z.js.map +0 -1
- package/dist/chunk-KO2MKZDW.cjs.map +0 -1
- package/dist/chunk-KQKJVFYF.js.map +0 -1
- package/dist/chunk-KV2FG7AN.cjs.map +0 -1
- package/dist/chunk-L3UPSLJ5.cjs.map +0 -1
- package/dist/chunk-LEZ4HSBD.cjs.map +0 -1
- package/dist/chunk-LQ3C3OR2.js.map +0 -1
- package/dist/chunk-LTOHGCU4.cjs.map +0 -1
- package/dist/chunk-M56IGNH7.cjs.map +0 -1
- package/dist/chunk-N7HX5635.cjs.map +0 -1
- package/dist/chunk-NDLMU6HJ.js.map +0 -1
- package/dist/chunk-O5ZPSZNY.cjs.map +0 -1
- package/dist/chunk-O6B4KB4D.js.map +0 -1
- package/dist/chunk-OHUVWPFJ.js.map +0 -1
- package/dist/chunk-OT3VZLN4.js.map +0 -1
- package/dist/chunk-OVYIBDGE.js.map +0 -1
- package/dist/chunk-P2BTQ33C.cjs.map +0 -1
- package/dist/chunk-P6ZBENAG.js.map +0 -1
- package/dist/chunk-P74HNSNJ.cjs.map +0 -1
- package/dist/chunk-PEPYVWGY.cjs.map +0 -1
- package/dist/chunk-POX6JZLO.cjs.map +0 -1
- package/dist/chunk-PWIA4XQD.js.map +0 -1
- package/dist/chunk-QGZF5MOS.cjs.map +0 -1
- package/dist/chunk-QP2A5ZMK.cjs.map +0 -1
- package/dist/chunk-QYHTMEI5.js.map +0 -1
- package/dist/chunk-QYK4ECSZ.js.map +0 -1
- package/dist/chunk-R36SGSJX.cjs.map +0 -1
- package/dist/chunk-R5QPUQSI.cjs.map +0 -1
- package/dist/chunk-R5UNLPQZ.cjs.map +0 -1
- package/dist/chunk-RSBQNIJZ.js.map +0 -1
- package/dist/chunk-S25WB7KJ.js.map +0 -1
- package/dist/chunk-SAFSEXMU.cjs.map +0 -1
- package/dist/chunk-SOGUWOSQ.cjs.map +0 -1
- package/dist/chunk-SXF3TCYA.js.map +0 -1
- package/dist/chunk-T56K5IKQ.js.map +0 -1
- package/dist/chunk-TBMVUI7S.cjs.map +0 -1
- package/dist/chunk-TCX3QKF3.js.map +0 -1
- package/dist/chunk-TQCNQKWF.cjs.map +0 -1
- package/dist/chunk-UTENJWSE.cjs.map +0 -1
- package/dist/chunk-V5JNYS77.cjs.map +0 -1
- package/dist/chunk-VFYG7GAH.js.map +0 -1
- package/dist/chunk-VLC2OZV3.cjs.map +0 -1
- package/dist/chunk-VTAABT55.js.map +0 -1
- package/dist/chunk-VYV45YOK.cjs.map +0 -1
- package/dist/chunk-VZ43OLU6.cjs.map +0 -1
- package/dist/chunk-XJBMEDQ5.js.map +0 -1
- package/dist/chunk-XMRMCWSQ.js.map +0 -1
- package/dist/chunk-XSGUFMT4.js.map +0 -1
- package/dist/chunk-YCUT6NQ4.js.map +0 -1
- package/dist/chunk-YKECQKOV.cjs.map +0 -1
- package/dist/chunk-YLKESEHQ.cjs.map +0 -1
- package/dist/chunk-YZOVF7JV.cjs.map +0 -1
- package/dist/chunk-Z7S4UQKY.js.map +0 -1
- package/dist/chunk-ZBGTVTQJ.js.map +0 -1
|
@@ -11,28 +11,28 @@
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _chunkPA4IT2XQcjs = require('./chunk-PA4IT2XQ.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
var
|
|
17
|
+
var _chunkTROYIUDHcjs = require('./chunk-TROYIUDH.cjs');
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _chunkEQEV7GPTcjs = require('./chunk-EQEV7GPT.cjs');
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
var
|
|
23
|
+
var _chunkISABZ2VXcjs = require('./chunk-ISABZ2VX.cjs');
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _chunkKV3V2CPHcjs = require('./chunk-KV3V2CPH.cjs');
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
var
|
|
29
|
+
var _chunkIJ4DXG7Dcjs = require('./chunk-IJ4DXG7D.cjs');
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
var
|
|
32
|
+
var _chunkFRUOA2QUcjs = require('./chunk-FRUOA2QU.cjs');
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
var
|
|
35
|
+
var _chunkA7Z2QAFZcjs = require('./chunk-A7Z2QAFZ.cjs');
|
|
36
36
|
|
|
37
37
|
// src/components/Table/Table.component.tsx
|
|
38
38
|
var _react = require('react');
|
|
@@ -74,10 +74,10 @@ function SortableColumnHeader({
|
|
|
74
74
|
stickyStyle,
|
|
75
75
|
onSortClick
|
|
76
76
|
}) {
|
|
77
|
-
const { attributes, listeners, setNodeRef, transform, transition, isDragging } =
|
|
77
|
+
const { attributes, listeners, setNodeRef, transform, transition, isDragging } = _chunkPA4IT2XQcjs.useSortable.call(void 0, {
|
|
78
78
|
id
|
|
79
79
|
});
|
|
80
|
-
const transformStr =
|
|
80
|
+
const transformStr = _chunkPA4IT2XQcjs.CSS.Transform.toString(transform);
|
|
81
81
|
const thClassName = [
|
|
82
82
|
"eidos-table-header-cell",
|
|
83
83
|
`eidos-table-header-cell-${columnType}`,
|
|
@@ -295,10 +295,10 @@ var Table = ({
|
|
|
295
295
|
document.body.removeChild(link);
|
|
296
296
|
URL.revokeObjectURL(url);
|
|
297
297
|
};
|
|
298
|
-
const sensors =
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
coordinateGetter:
|
|
298
|
+
const sensors = _chunkPA4IT2XQcjs.useSensors.call(void 0,
|
|
299
|
+
_chunkPA4IT2XQcjs.useSensor.call(void 0, _chunkPA4IT2XQcjs.PointerSensor),
|
|
300
|
+
_chunkPA4IT2XQcjs.useSensor.call(void 0, _chunkPA4IT2XQcjs.KeyboardSensor, {
|
|
301
|
+
coordinateGetter: _chunkPA4IT2XQcjs.sortableKeyboardCoordinates
|
|
302
302
|
})
|
|
303
303
|
);
|
|
304
304
|
const handleDragEnd = (event) => {
|
|
@@ -309,7 +309,7 @@ var Table = ({
|
|
|
309
309
|
const oldIndex = columnOrder.indexOf(activeId);
|
|
310
310
|
const newIndex = columnOrder.indexOf(overId);
|
|
311
311
|
if (oldIndex === -1 || newIndex === -1) return;
|
|
312
|
-
const newOrder =
|
|
312
|
+
const newOrder = _chunkPA4IT2XQcjs.arrayMove.call(void 0, columnOrder, oldIndex, newIndex);
|
|
313
313
|
setColumnOrder(newOrder);
|
|
314
314
|
if (onColumnReorder) {
|
|
315
315
|
const orderMap = new Map(newOrder.map((key, idx) => [key, idx]));
|
|
@@ -348,7 +348,7 @@ var Table = ({
|
|
|
348
348
|
const densityClass = effectiveDensity !== "comfortable" ? `eidos-table--${effectiveDensity}` : "";
|
|
349
349
|
if (loading) {
|
|
350
350
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `eidos-table-container ${className || ""}`, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "eidos-table-loading", children: [
|
|
351
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
351
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTROYIUDHcjs.Spinner, { size: "md" }),
|
|
352
352
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { children: "Loading..." })
|
|
353
353
|
] }) });
|
|
354
354
|
}
|
|
@@ -386,7 +386,7 @@ var Table = ({
|
|
|
386
386
|
},
|
|
387
387
|
children: [
|
|
388
388
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
389
|
-
|
|
389
|
+
_chunkIJ4DXG7Dcjs.Checkbox,
|
|
390
390
|
{
|
|
391
391
|
checked: isVisible,
|
|
392
392
|
disabled: isLastVisible,
|
|
@@ -413,7 +413,7 @@ var Table = ({
|
|
|
413
413
|
const isDisabled = typeof action.disabled === "function" ? action.disabled(selectedItems) : _nullishCoalesce(action.disabled, () => ( false));
|
|
414
414
|
if (action.type === "split-button") {
|
|
415
415
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
416
|
-
|
|
416
|
+
_chunkEQEV7GPTcjs.SplitButton,
|
|
417
417
|
{
|
|
418
418
|
size: "sm",
|
|
419
419
|
variant: _nullishCoalesce(action.variant, () => ( "outlined")),
|
|
@@ -434,7 +434,7 @@ var Table = ({
|
|
|
434
434
|
);
|
|
435
435
|
}
|
|
436
436
|
return action.label ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
437
|
-
|
|
437
|
+
_chunkA7Z2QAFZcjs.Button,
|
|
438
438
|
{
|
|
439
439
|
size: "sm",
|
|
440
440
|
variant: _nullishCoalesce(action.variant, () => ( "outlined")),
|
|
@@ -447,7 +447,7 @@ var Table = ({
|
|
|
447
447
|
},
|
|
448
448
|
action.id
|
|
449
449
|
) : action.icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
450
|
-
|
|
450
|
+
_chunkA7Z2QAFZcjs.Button,
|
|
451
451
|
{
|
|
452
452
|
size: "sm",
|
|
453
453
|
variant: _nullishCoalesce(action.variant, () => ( "outlined")),
|
|
@@ -471,27 +471,27 @@ var Table = ({
|
|
|
471
471
|
] }) }),
|
|
472
472
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "eidos-table-toolbar-right", children: [
|
|
473
473
|
showDensity && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
474
|
-
|
|
474
|
+
_chunkFRUOA2QUcjs.Dropdown,
|
|
475
475
|
{
|
|
476
476
|
placement: "bottom",
|
|
477
477
|
align: "end",
|
|
478
478
|
autoWidth: false,
|
|
479
|
-
trigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
479
|
+
trigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA7Z2QAFZcjs.Button, { variant: "text", size: "sm", preIcon: _lucidereact.AlignJustify, children: "Density" }),
|
|
480
480
|
content: densityPanel
|
|
481
481
|
}
|
|
482
482
|
),
|
|
483
483
|
showColumnVisibility && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
484
|
-
|
|
484
|
+
_chunkFRUOA2QUcjs.Dropdown,
|
|
485
485
|
{
|
|
486
486
|
placement: "bottom",
|
|
487
487
|
align: "end",
|
|
488
488
|
autoWidth: false,
|
|
489
|
-
trigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
489
|
+
trigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA7Z2QAFZcjs.Button, { variant: "text", size: "sm", preIcon: _lucidereact.Columns3, children: "Columns" }),
|
|
490
490
|
content: columnVisibilityPanel
|
|
491
491
|
}
|
|
492
492
|
),
|
|
493
493
|
showExport && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
494
|
-
|
|
494
|
+
_chunkA7Z2QAFZcjs.Button,
|
|
495
495
|
{
|
|
496
496
|
variant: "text",
|
|
497
497
|
size: "sm",
|
|
@@ -501,7 +501,7 @@ var Table = ({
|
|
|
501
501
|
}
|
|
502
502
|
),
|
|
503
503
|
showFilters && onFiltersChange && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
504
|
-
|
|
504
|
+
_chunkPA4IT2XQcjs.TableFiltersDropdown,
|
|
505
505
|
{
|
|
506
506
|
columns,
|
|
507
507
|
filters,
|
|
@@ -532,7 +532,7 @@ var Table = ({
|
|
|
532
532
|
style: getHeaderPinnedProps("__checkbox__").style,
|
|
533
533
|
"data-col-key": "__checkbox__",
|
|
534
534
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
535
|
-
|
|
535
|
+
_chunkIJ4DXG7Dcjs.Checkbox,
|
|
536
536
|
{
|
|
537
537
|
size: "sm",
|
|
538
538
|
checked: allSelected,
|
|
@@ -634,7 +634,7 @@ var Table = ({
|
|
|
634
634
|
toggleRow(key);
|
|
635
635
|
},
|
|
636
636
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
637
|
-
|
|
637
|
+
_chunkIJ4DXG7Dcjs.Checkbox,
|
|
638
638
|
{
|
|
639
639
|
size: "sm",
|
|
640
640
|
checked: isSelected,
|
|
@@ -681,13 +681,13 @@ var Table = ({
|
|
|
681
681
|
colSpan: selectable ? visibleColumns.length + 1 : visibleColumns.length,
|
|
682
682
|
className: "eidos-table-cell eidos-table-empty-cell",
|
|
683
683
|
children: Object.keys(filters).length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
684
|
-
|
|
684
|
+
_chunkKV3V2CPHcjs.EmptyState,
|
|
685
685
|
{
|
|
686
686
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.SearchX, {}),
|
|
687
687
|
title: "No results found",
|
|
688
688
|
description: "Try adjusting your filters or search terms.",
|
|
689
689
|
action: onFiltersChange ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
690
|
-
|
|
690
|
+
_chunkA7Z2QAFZcjs.Button,
|
|
691
691
|
{
|
|
692
692
|
size: "sm",
|
|
693
693
|
variant: "outlined",
|
|
@@ -699,7 +699,7 @@ var Table = ({
|
|
|
699
699
|
size: "sm"
|
|
700
700
|
}
|
|
701
701
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
702
|
-
|
|
702
|
+
_chunkKV3V2CPHcjs.EmptyState,
|
|
703
703
|
{
|
|
704
704
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.FolderOpen, {}),
|
|
705
705
|
title: emptyMessage,
|
|
@@ -713,7 +713,7 @@ var Table = ({
|
|
|
713
713
|
}
|
|
714
714
|
) }),
|
|
715
715
|
showFooter && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-table-footer", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-table-footer-content", children: showPagination && data.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
716
|
-
|
|
716
|
+
_chunkISABZ2VXcjs.Pagination,
|
|
717
717
|
{
|
|
718
718
|
page: currentPage,
|
|
719
719
|
totalPages,
|
|
@@ -733,7 +733,7 @@ var Table = ({
|
|
|
733
733
|
] }) }) })
|
|
734
734
|
] });
|
|
735
735
|
if (draggableColumns) {
|
|
736
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
736
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPA4IT2XQcjs.DndContext, { sensors, onDragEnd: handleDragEnd, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPA4IT2XQcjs.SortableContext, { items: sortableItems, strategy: _chunkPA4IT2XQcjs.horizontalListSortingStrategy, children: tableContent }) });
|
|
737
737
|
}
|
|
738
738
|
return tableContent;
|
|
739
739
|
};
|
|
@@ -741,4 +741,4 @@ var Table = ({
|
|
|
741
741
|
|
|
742
742
|
|
|
743
743
|
exports.Table = Table;
|
|
744
|
-
//# sourceMappingURL=chunk-
|
|
744
|
+
//# sourceMappingURL=chunk-IC2M4N7R.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IC2M4N7R.cjs","../src/components/Table/Table.component.tsx"],"names":[],"mappings":"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","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IC2M4N7R.cjs","sourcesContent":[null,"import { useState, useMemo, useLayoutEffect, useRef } from 'react';\nimport React from 'react';\nimport {\n ChevronsUpDown,\n ArrowUp,\n ArrowDown,\n X,\n Check,\n Download,\n Columns3,\n AlignJustify,\n GripVertical,\n FolderOpen,\n SearchX,\n} from 'lucide-react';\nimport { DndContext, PointerSensor, KeyboardSensor, useSensor, useSensors } from '@dnd-kit/core';\nimport type { DragEndEvent } from '@dnd-kit/core';\nimport {\n SortableContext,\n horizontalListSortingStrategy,\n useSortable,\n sortableKeyboardCoordinates,\n arrayMove,\n} from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport type { TableColumn, TableProps, TableFilters, FilterValue } from './Table.types';\n\nexport type { TableColumn, TableProps, TableFilters, FilterValue };\nimport { Button } from '../Button';\nimport { Checkbox } from '../Checkbox';\nimport { Dropdown } from '../Dropdown';\nimport { EmptyState } from '../EmptyState';\nimport { Pagination } from '../Pagination';\nimport { SplitButton } from '../SplitButton';\nimport { Spinner } from '../Spinner';\nimport { TableFiltersDropdown } from './TableFiltersDropdown.component';\n\n// ── Types ─────────────────────────────────────────────────────────────────────\n\ntype Density = 'compact' | 'comfortable' | 'spacious';\n\nconst DENSITY_OPTIONS: { value: Density; label: string }[] = [\n { value: 'compact', label: 'Compact' },\n { value: 'comfortable', label: 'Comfortable' },\n { value: 'spacious', label: 'Spacious' },\n];\n\n// ── CSV helpers ───────────────────────────────────────────────────────────────\n\nfunction escapeCsvValue(value: string): string {\n if (value.includes(',') || value.includes('\\n') || value.includes('\"')) {\n return `\"${value.replace(/\"/g, '\"\"')}\"`;\n }\n return value;\n}\n\n// ── SortableColumnHeader ──────────────────────────────────────────────────────\n// Defined as a standalone component so it can legally call useSortable().\n// Only rendered when draggableColumns=true (inside a DndContext + SortableContext).\n\ninterface SortableThProps {\n id: string;\n column: { label: string };\n isSortable: boolean;\n isCurrentlySorted: boolean;\n sortDirection: 'asc' | 'desc' | null;\n alignment: string;\n columnType: string;\n columnWidth: string | undefined;\n pinnedClass: string;\n stickyStyle: React.CSSProperties;\n onSortClick: () => void;\n}\n\nfunction SortableColumnHeader({\n id,\n column,\n isSortable,\n isCurrentlySorted,\n sortDirection,\n alignment,\n columnType,\n columnWidth,\n pinnedClass,\n stickyStyle,\n onSortClick,\n}: SortableThProps) {\n const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id,\n });\n\n const transformStr = CSS.Transform.toString(transform);\n\n const thClassName = [\n 'eidos-table-header-cell',\n `eidos-table-header-cell-${columnType}`,\n isSortable ? 'eidos-table-sortable' : '',\n isCurrentlySorted ? 'eidos-table-sorted' : '',\n `eidos-table-align-${alignment}`,\n pinnedClass,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <th\n ref={setNodeRef as React.LegacyRef<HTMLTableCellElement>}\n className={thClassName}\n style={{\n width: columnWidth,\n ...stickyStyle,\n ...(transformStr ? { transform: transformStr } : {}),\n transition: transition ?? undefined,\n opacity: isDragging ? 0.5 : 1,\n }}\n data-col-key={id}\n onClick={() => isSortable && onSortClick()}\n {...attributes}\n >\n {/* Grip - absolutely positioned in the left padding zone so it never\n displaces the column label or causes layout shift on hover. */}\n <span\n className=\"eidos-table-drag-handle\"\n {...listeners}\n onClick={(e) => e.stopPropagation()}\n title=\"Drag to reorder\"\n >\n <GripVertical size={12} />\n </span>\n <div className={`eidos-table-header-content eidos-table-align-${alignment}`}>\n <span className=\"eidos-table-header-label\">{column.label}</span>\n {isSortable && (\n <div className=\"eidos-table-sort-indicator\">\n {sortDirection === 'asc' && <ArrowUp size={14} />}\n {sortDirection === 'desc' && <ArrowDown size={14} />}\n {!sortDirection && <ChevronsUpDown size={14} />}\n </div>\n )}\n </div>\n </th>\n );\n}\n\n// ── Table ─────────────────────────────────────────────────────────────────────\n\nexport const Table = <T extends Record<string, unknown>>({\n data,\n columns,\n loading = false,\n emptyMessage = 'No data available',\n onRowClick,\n className,\n showFooter = false,\n totalItems,\n showPagination = false,\n pageSize = 25,\n pageSizeOptions = [10, 25, 50, 100],\n onSortChange,\n currentSort,\n filters = {},\n onFiltersChange,\n defaultFilters,\n showFilters = false,\n // Selection\n selectable = false,\n rowKey,\n selectedRows: controlledSelected,\n defaultSelectedRows = [],\n onSelectionChange,\n bulkActions = [],\n // New features\n density = 'comfortable',\n showDensity = false,\n showColumnVisibility = false,\n showExport = false,\n draggableColumns = false,\n onColumnReorder,\n}: TableProps<T>) => {\n // ── Column ordering (drag-reorder) ────────────────────────────────────────\n const [columnOrder, setColumnOrder] = useState<string[]>(() => columns.map((c) => String(c.key)));\n\n // Derived-state reset: when the set of column keys changes, reset the order.\n // Calling setState during render is the React-idiomatic way to do this.\n const columnKeysSignature = columns.map((c) => String(c.key)).join('\\0');\n const prevKeysRef = useRef(columnKeysSignature);\n if (prevKeysRef.current !== columnKeysSignature) {\n prevKeysRef.current = columnKeysSignature;\n setColumnOrder(columns.map((c) => String(c.key)));\n }\n\n const orderedColumns = useMemo(() => {\n const orderMap = new Map(columnOrder.map((key, idx) => [key, idx]));\n return [...columns].sort((a, b) => {\n const ai = orderMap.get(String(a.key)) ?? Infinity;\n const bi = orderMap.get(String(b.key)) ?? Infinity;\n return ai - bi;\n });\n }, [columns, columnOrder]);\n\n // ── Density (internal state when showDensity=true) ────────────────────────\n const [internalDensity, setInternalDensity] = useState<Density>(density as Density);\n // When showDensity is true the table owns density; otherwise respect the prop.\n const effectiveDensity: Density = showDensity ? internalDensity : (density as Density);\n\n // ── Column visibility ─────────────────────────────────────────────────────\n const [hiddenColumnKeys, setHiddenColumnKeys] = useState<Set<string>>(() => new Set<string>());\n\n const visibleColumns = useMemo(\n () => orderedColumns.filter((c) => !hiddenColumnKeys.has(String(c.key))),\n [orderedColumns, hiddenColumnKeys],\n );\n\n // ── Pinned / sticky columns ────────────────────────────────────────────────\n const theadRef = useRef<HTMLTableSectionElement>(null);\n const [pinnedOffsets, setPinnedOffsets] = useState<\n Map<string, { side: 'left' | 'right'; offset: number }>\n >(new Map());\n\n useLayoutEffect(() => {\n const hasPinned = visibleColumns.some((c) => c.pin);\n if (!hasPinned || !theadRef.current) {\n setPinnedOffsets(new Map());\n return;\n }\n\n const headerRow = theadRef.current.querySelector('tr');\n if (!headerRow) return;\n\n const cells = Array.from(headerRow.querySelectorAll<HTMLTableCellElement>('th[data-col-key]'));\n\n const newOffsets = new Map<string, { side: 'left' | 'right'; offset: number }>();\n\n // Left-pinned: scan left-to-right.\n // Checkbox (when selectable) counts as a left-pinned element.\n let leftAccum = 0;\n for (const cell of cells) {\n const key = cell.dataset.colKey!;\n if (key === '__checkbox__') {\n newOffsets.set(key, { side: 'left', offset: leftAccum });\n leftAccum += cell.offsetWidth;\n } else {\n const col = visibleColumns.find((c) => String(c.key) === key);\n if (col?.pin === 'left') {\n newOffsets.set(key, { side: 'left', offset: leftAccum });\n leftAccum += cell.offsetWidth;\n }\n }\n }\n\n // Right-pinned: scan right-to-left.\n let rightAccum = 0;\n for (let i = cells.length - 1; i >= 0; i--) {\n const cell = cells[i];\n const key = cell.dataset.colKey!;\n const col = visibleColumns.find((c) => String(c.key) === key);\n if (col?.pin === 'right') {\n newOffsets.set(key, { side: 'right', offset: rightAccum });\n rightAccum += cell.offsetWidth;\n }\n }\n\n setPinnedOffsets(newOffsets);\n }, [visibleColumns, selectable]);\n\n // ── Selection state (controlled / uncontrolled) ──────────────────────────\n const isControlledSelection = controlledSelected !== undefined;\n const [internalSelected, setInternalSelected] = useState<string[]>(defaultSelectedRows);\n const selectedSet = useMemo(\n () => new Set(isControlledSelection ? controlledSelected : internalSelected),\n [isControlledSelection, controlledSelected, internalSelected],\n );\n\n /** Stable string key for a row - uses `rowKey` prop, then \"id\", then index. */\n const getRowKey = (item: T, index: number): string => {\n if (rowKey) return String(item[rowKey]);\n if ('id' in item) return String(item.id);\n return String(index);\n };\n\n const commitSelection = (keys: string[]) => {\n if (!isControlledSelection) setInternalSelected(keys);\n const rows = data.filter((item, idx) => keys.includes(getRowKey(item, idx)));\n onSelectionChange?.(keys, rows);\n };\n\n const toggleRow = (key: string) => {\n const next = selectedSet.has(key)\n ? [...selectedSet].filter((k) => k !== key)\n : [...selectedSet, key];\n commitSelection(next);\n };\n\n const allKeys = useMemo(\n () => data.map((item, idx) => getRowKey(item, idx)),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [data, rowKey],\n );\n\n const allSelected = allKeys.length > 0 && allKeys.every((k) => selectedSet.has(k));\n const someSelected = !allSelected && allKeys.some((k) => selectedSet.has(k));\n\n const toggleAll = () => {\n commitSelection(allSelected ? [] : allKeys);\n };\n\n const clearSelection = () => commitSelection([]);\n\n // ── Pagination ────────────────────────────────────────────────────────────\n const [currentPage, setCurrentPage] = useState(1);\n const [currentPageSize, setCurrentPageSize] = useState(pageSize);\n\n const displayData = useMemo(() => {\n if (!showPagination) return data;\n const startIndex = (currentPage - 1) * currentPageSize;\n return data.slice(startIndex, startIndex + currentPageSize);\n }, [data, showPagination, currentPage, currentPageSize]);\n\n const totalPages = Math.ceil(data.length / currentPageSize);\n\n const handleSort = (key: string) => {\n const newDirection =\n currentSort?.key === key && currentSort?.direction === 'asc' ? 'desc' : 'asc';\n onSortChange?.(key, newDirection);\n };\n\n const handlePageChange = (page: number) => setCurrentPage(page);\n const handlePageSizeChange = (newPageSize: number) => {\n setCurrentPageSize(newPageSize);\n setCurrentPage(1);\n };\n\n // ── Derived UI state ──────────────────────────────────────────────────────\n const hasSelection = selectedSet.size > 0;\n const showToolbar =\n (showFilters && !!onFiltersChange) ||\n showColumnVisibility ||\n showExport ||\n showDensity ||\n (selectable && hasSelection);\n\n const selectedItems = useMemo(\n () => data.filter((item, idx) => selectedSet.has(getRowKey(item, idx))),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [data, selectedSet, rowKey],\n );\n\n // ── CSV Export ────────────────────────────────────────────────────────────\n const getRawValue = (item: T, column: TableColumn<T>): string => {\n const value =\n typeof column.key === 'string' && column.key.includes('.')\n ? (column.key as string)\n .split('.')\n .reduce(\n (obj: unknown, k: string) => (obj as Record<string, unknown>)?.[k],\n item as unknown,\n )\n : item[column.key as keyof T];\n return String(value ?? '');\n };\n\n const handleExportCsv = () => {\n const headers = visibleColumns.map((c) => escapeCsvValue(c.label)).join(',');\n const rows = data.map((item) =>\n visibleColumns.map((col) => escapeCsvValue(getRawValue(item, col))).join(','),\n );\n const csv = [headers, ...rows].join('\\n');\n const blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' });\n const url = URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = url;\n link.download = 'export.csv';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(url);\n };\n\n // ── DnD setup ─────────────────────────────────────────────────────────────\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const handleDragEnd = (event: DragEndEvent) => {\n const { active, over } = event;\n if (!over || active.id === over.id) return;\n\n const activeId = String(active.id);\n const overId = String(over.id);\n const oldIndex = columnOrder.indexOf(activeId);\n const newIndex = columnOrder.indexOf(overId);\n if (oldIndex === -1 || newIndex === -1) return;\n\n const newOrder = arrayMove(columnOrder, oldIndex, newIndex);\n setColumnOrder(newOrder);\n\n if (onColumnReorder) {\n const orderMap = new Map(newOrder.map((key, idx) => [key, idx]));\n const reordered = [...columns].sort((a, b) => {\n const ai = orderMap.get(String(a.key)) ?? Infinity;\n const bi = orderMap.get(String(b.key)) ?? Infinity;\n return ai - bi;\n });\n onColumnReorder(reordered);\n }\n };\n\n // ── Helpers ───────────────────────────────────────────────────────────────\n\n /** Returns sticky style + className for body <td> cells (zIndex: 1). */\n const getCellPinnedProps = (\n colKey: string,\n ): { style: React.CSSProperties; className: string } => {\n const pinInfo = pinnedOffsets.get(colKey);\n if (!pinInfo) return { style: {}, className: '' };\n return {\n style: {\n position: 'sticky',\n [pinInfo.side]: pinInfo.offset,\n zIndex: 1,\n },\n className:\n pinInfo.side === 'left'\n ? 'eidos-table-cell--pinned-left'\n : 'eidos-table-cell--pinned-right',\n };\n };\n\n /** Returns sticky style + className for header <th> cells (zIndex: 3). */\n const getHeaderPinnedProps = (\n colKey: string,\n ): { style: React.CSSProperties; className: string } => {\n const pinInfo = pinnedOffsets.get(colKey);\n if (!pinInfo) return { style: {}, className: '' };\n return {\n style: {\n position: 'sticky',\n [pinInfo.side]: pinInfo.offset,\n zIndex: 3,\n },\n className:\n pinInfo.side === 'left'\n ? 'eidos-table-header-cell--pinned-left'\n : 'eidos-table-header-cell--pinned-right',\n };\n };\n\n // ── Density class ─────────────────────────────────────────────────────────\n const densityClass = effectiveDensity !== 'comfortable' ? `eidos-table--${effectiveDensity}` : '';\n\n // ── Loading ───────────────────────────────────────────────────────────────\n if (loading) {\n return (\n <div className={`eidos-table-container ${className || ''}`}>\n <div className=\"eidos-table-loading\">\n <Spinner size=\"md\" />\n <p>Loading...</p>\n </div>\n </div>\n );\n }\n\n // ── Density panel (Dropdown content) ──────────────────────────────────────\n const densityPanel = (\n <div className=\"eidos-table-menu-panel\">\n {DENSITY_OPTIONS.map((option) => (\n <button\n key={option.value}\n className={[\n 'eidos-table-menu-item',\n effectiveDensity === option.value ? 'eidos-table-menu-item--active' : '',\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={() => setInternalDensity(option.value)}\n >\n <span className=\"eidos-table-menu-item-check\">\n {effectiveDensity === option.value && <Check size={14} />}\n </span>\n <span>{option.label}</span>\n </button>\n ))}\n </div>\n );\n\n // ── Column visibility panel (Dropdown content) ────────────────────────────\n const columnVisibilityPanel = (\n <div className=\"eidos-table-menu-panel\">\n {/* Use orderedColumns so list order mirrors current column order */}\n {orderedColumns.map((col) => {\n const key = String(col.key);\n const isVisible = !hiddenColumnKeys.has(key);\n const isLastVisible = visibleColumns.length === 1 && isVisible;\n return (\n <button\n key={key}\n className={['eidos-table-menu-item', isVisible ? 'eidos-table-menu-item--active' : '']\n .filter(Boolean)\n .join(' ')}\n disabled={isLastVisible}\n onClick={() => {\n setHiddenColumnKeys((prev) => {\n const next = new Set(prev);\n if (next.has(key)) next.delete(key);\n else next.add(key);\n return next;\n });\n }}\n >\n <Checkbox\n checked={isVisible}\n disabled={isLastVisible}\n size=\"sm\"\n onChange={() => {\n /* click handled by parent button */\n }}\n />\n <span>{col.label}</span>\n </button>\n );\n })}\n </div>\n );\n\n // ── SortableContext items: visible column keys only ───────────────────────\n const sortableItems = visibleColumns.map((c) => String(c.key));\n\n // ── Main JSX ──────────────────────────────────────────────────────────────\n const tableContent = (\n <div className={`eidos-table-container ${className || ''}`}>\n {/* ── Toolbar ───────────────────────────────────────────────────────── */}\n {showToolbar && (\n <div className=\"eidos-table-toolbar\">\n {/* Left - bulk actions / selection info */}\n <div className=\"eidos-table-toolbar-left\">\n {selectable && hasSelection && (\n <>\n <span className=\"eidos-table-selection-count\">{selectedSet.size} selected</span>\n\n {bulkActions.length > 0 && (\n <div className=\"eidos-table-bulk-actions\">\n {bulkActions.map((action) => {\n const isDisabled =\n typeof action.disabled === 'function'\n ? action.disabled(selectedItems)\n : (action.disabled ?? false);\n\n if (action.type === 'split-button') {\n return (\n <SplitButton\n key={action.id}\n size=\"sm\"\n variant={action.variant ?? 'outlined'}\n color={action.color ?? 'secondary'}\n preIcon={action.icon}\n disabled={isDisabled}\n label={action.label}\n onClick={() => action.onClick(selectedItems)}\n options={action.options.map((option) => ({\n id: option.id,\n label: option.label,\n icon: option.icon,\n disabled: option.disabled,\n onClick: () => option.onClick(selectedItems),\n }))}\n />\n );\n }\n\n return action.label ? (\n <Button\n key={action.id}\n size=\"sm\"\n variant={action.variant ?? 'outlined'}\n color={action.color ?? 'secondary'}\n preIcon={action.icon}\n posIcon={action.posIcon}\n disabled={isDisabled}\n onClick={() => action.onClick(selectedItems)}\n >\n {action.label}\n </Button>\n ) : action.icon ? (\n <Button\n key={action.id}\n size=\"sm\"\n variant={action.variant ?? 'outlined'}\n color={action.color ?? 'secondary'}\n icon={action.icon}\n disabled={isDisabled}\n onClick={() => action.onClick(selectedItems)}\n />\n ) : null;\n })}\n </div>\n )}\n\n <button\n className=\"eidos-table-clear-selection\"\n onClick={clearSelection}\n aria-label=\"Clear selection\"\n >\n <X size={14} />\n </button>\n </>\n )}\n </div>\n\n {/* Right - density, column visibility, export, filter */}\n <div className=\"eidos-table-toolbar-right\">\n {showDensity && (\n <Dropdown\n placement=\"bottom\"\n align=\"end\"\n autoWidth={false}\n trigger={\n <Button variant=\"text\" size=\"sm\" preIcon={AlignJustify}>\n Density\n </Button>\n }\n content={densityPanel}\n />\n )}\n\n {showColumnVisibility && (\n <Dropdown\n placement=\"bottom\"\n align=\"end\"\n autoWidth={false}\n trigger={\n <Button variant=\"text\" size=\"sm\" preIcon={Columns3}>\n Columns\n </Button>\n }\n content={columnVisibilityPanel}\n />\n )}\n\n {showExport && (\n <Button\n variant=\"text\"\n size=\"sm\"\n icon={Download}\n onClick={handleExportCsv}\n tooltip=\"Export CSV\"\n />\n )}\n\n {showFilters && onFiltersChange && (\n <TableFiltersDropdown\n columns={columns}\n filters={filters}\n onFiltersChange={onFiltersChange}\n defaultFilters={defaultFilters}\n />\n )}\n </div>\n </div>\n )}\n\n {/* ── Table (wrapped for horizontal scroll) ─────────────────────────── */}\n <div className=\"eidos-table-scroll\">\n <table\n className={[\n 'eidos-table',\n densityClass,\n draggableColumns ? 'eidos-table--draggable-columns' : '',\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <thead ref={theadRef}>\n <tr>\n {selectable && (\n <th\n className={[\n 'eidos-table-header-cell',\n 'eidos-table-checkbox-cell',\n getHeaderPinnedProps('__checkbox__').className,\n ]\n .filter(Boolean)\n .join(' ')}\n style={getHeaderPinnedProps('__checkbox__').style}\n data-col-key=\"__checkbox__\"\n >\n <Checkbox\n size=\"sm\"\n checked={allSelected}\n indeterminate={someSelected}\n onChange={toggleAll}\n aria-label=\"Select all rows\"\n />\n </th>\n )}\n\n {/* ── Headers: draggable or plain ──────────────────────────── */}\n {draggableColumns\n ? visibleColumns.map((column) => {\n const colKey = String(column.key);\n const columnType = column.type || 'data';\n const columnWidth =\n column.type === 'icon' ? 'var(--component-size-lg)' : column.width;\n const isSortable = !!column.sortable;\n const isCurrentlySorted = currentSort?.key === colKey;\n const sortDirection = isCurrentlySorted\n ? (currentSort!.direction as 'asc' | 'desc')\n : null;\n const alignment = column.align || 'left';\n const { style: pinnedStyle, className: pinnedClass } =\n getHeaderPinnedProps(colKey);\n\n return (\n <SortableColumnHeader\n key={colKey}\n id={colKey}\n column={column}\n isSortable={isSortable}\n isCurrentlySorted={!!isCurrentlySorted}\n sortDirection={sortDirection}\n alignment={alignment}\n columnType={columnType}\n columnWidth={columnWidth}\n pinnedClass={pinnedClass}\n stickyStyle={pinnedStyle}\n onSortClick={() => handleSort(colKey)}\n />\n );\n })\n : visibleColumns.map((column, index) => {\n const colKey = String(column.key);\n const columnType = column.type || 'data';\n const columnWidth =\n column.type === 'icon' ? 'var(--component-size-lg)' : column.width;\n const isSortable = column.sortable;\n const isCurrentlySorted = currentSort?.key === colKey;\n const sortDirection = isCurrentlySorted ? currentSort!.direction : null;\n const alignment = column.align || 'left';\n const alignmentClass = `eidos-table-align-${alignment}`;\n const { style: pinnedStyle, className: pinnedClass } =\n getHeaderPinnedProps(colKey);\n\n return (\n <th\n key={index}\n className={[\n 'eidos-table-header-cell',\n `eidos-table-header-cell-${columnType}`,\n isSortable ? 'eidos-table-sortable' : '',\n isCurrentlySorted ? 'eidos-table-sorted' : '',\n alignmentClass,\n pinnedClass,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{ width: columnWidth, ...pinnedStyle }}\n data-col-key={colKey}\n onClick={() => isSortable && handleSort(colKey)}\n >\n <div className={`eidos-table-header-content ${alignmentClass}`}>\n <span>{column.label}</span>\n {isSortable && (\n <div className=\"eidos-table-sort-indicator\">\n {sortDirection === 'asc' && <ArrowUp size={14} />}\n {sortDirection === 'desc' && <ArrowDown size={14} />}\n {!sortDirection && <ChevronsUpDown size={14} />}\n </div>\n )}\n </div>\n </th>\n );\n })}\n </tr>\n </thead>\n <tbody>\n {displayData.length > 0 ? (\n displayData.map((item, rowIndex) => {\n const globalIndex = showPagination\n ? (currentPage - 1) * currentPageSize + rowIndex\n : rowIndex;\n const key = getRowKey(item, globalIndex);\n const isSelected = selectedSet.has(key);\n\n return (\n <tr\n key={key}\n className={[\n 'eidos-table-row',\n onRowClick ? 'eidos-table-clickable' : '',\n isSelected ? 'eidos-table-row--selected' : '',\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={() => onRowClick?.(item)}\n >\n {selectable && (\n <td\n className={[\n 'eidos-table-cell',\n 'eidos-table-checkbox-cell',\n getCellPinnedProps('__checkbox__').className,\n ]\n .filter(Boolean)\n .join(' ')}\n style={getCellPinnedProps('__checkbox__').style}\n onClick={(e) => {\n e.stopPropagation();\n toggleRow(key);\n }}\n >\n {/* Wrap in a span so Checkbox click-events don't\n bubble to the <td> and cause a double-toggle.\n The <td> onClick handles toggling when the user\n clicks the cell margin outside the checkbox. */}\n <span onClick={(e) => e.stopPropagation()}>\n <Checkbox\n size=\"sm\"\n checked={isSelected}\n onChange={() => toggleRow(key)}\n aria-label={`Select row ${globalIndex + 1}`}\n />\n </span>\n </td>\n )}\n {visibleColumns.map((column, colIndex) => {\n const colKey = String(column.key);\n const value =\n typeof column.key === 'string' && column.key.includes('.')\n ? (column.key as string)\n .split('.')\n .reduce(\n (obj: unknown, k: string) => (obj as Record<string, unknown>)?.[k],\n item as unknown,\n )\n : item[column.key as keyof T];\n\n const columnType = column.type || 'data';\n const columnWidth =\n column.type === 'icon' ? 'var(--component-size-lg)' : column.width;\n const alignment = column.align || 'left';\n const alignmentClass = `eidos-table-align-${alignment}`;\n const { style: pinnedStyle, className: pinnedClass } =\n getCellPinnedProps(colKey);\n\n return (\n <td\n key={colIndex}\n className={[\n 'eidos-table-cell',\n `eidos-table-cell-${columnType}`,\n alignmentClass,\n pinnedClass,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{ width: columnWidth, ...pinnedStyle }}\n // `type: 'action'` cells exist specifically to hold\n // interactive controls (a row-actions Menu/button,\n // typically) - without this, clicking them bubbles\n // straight into `onRowClick` on the <tr> below,\n // e.g. opening a details drawer at the same time as\n // (or instead of) the action itself. Mirrors the\n // selectable checkbox cell's own stopPropagation\n // above, for the same reason.\n onClick={columnType === 'action' ? (e) => e.stopPropagation() : undefined}\n >\n {column.render ? column.render(value, item) : String(value ?? '')}\n </td>\n );\n })}\n </tr>\n );\n })\n ) : (\n <tr className=\"eidos-table-empty-row\">\n <td\n colSpan={selectable ? visibleColumns.length + 1 : visibleColumns.length}\n className=\"eidos-table-cell eidos-table-empty-cell\"\n >\n {Object.keys(filters).length > 0 ? (\n <EmptyState\n icon={<SearchX />}\n title=\"No results found\"\n description=\"Try adjusting your filters or search terms.\"\n action={\n onFiltersChange ? (\n <Button\n size=\"sm\"\n variant=\"outlined\"\n color=\"primary\"\n onClick={() => onFiltersChange({})}\n >\n Clear filters\n </Button>\n ) : undefined\n }\n size=\"sm\"\n />\n ) : (\n <EmptyState\n icon={<FolderOpen />}\n title={emptyMessage}\n description=\"There are no records to display.\"\n size=\"sm\"\n />\n )}\n </td>\n </tr>\n )}\n </tbody>\n </table>\n </div>\n\n {/* ── Footer / Pagination ───────────────────────────────────────────── */}\n {showFooter && (\n <div className=\"eidos-table-footer\">\n <div className=\"eidos-table-footer-content\">\n {showPagination && data.length > 0 ? (\n <Pagination\n page={currentPage}\n totalPages={totalPages}\n onChange={handlePageChange}\n totalItems={totalItems ?? data.length}\n pageSize={currentPageSize}\n onPageSizeChange={handlePageSizeChange}\n pageSizeOptions={pageSizeOptions}\n size=\"sm\"\n />\n ) : (\n <span className=\"eidos-table-results-info\">\n Showing {data.length} of {totalItems ?? data.length} results\n </span>\n )}\n </div>\n </div>\n )}\n </div>\n );\n\n // ── Wrap with DnD context when draggableColumns=true ─────────────────────\n if (draggableColumns) {\n return (\n <DndContext sensors={sensors} onDragEnd={handleDragEnd}>\n <SortableContext items={sortableItems} strategy={horizontalListSortingStrategy}>\n {tableContent}\n </SortableContext>\n </DndContext>\n );\n }\n\n return tableContent;\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IJ4DXG7D.cjs","../src/components/Checkbox/Checkbox.component.tsx"],"names":[],"mappings":"AAAA;ACAA,8BAAmF;AACnF,2CAA0C;AAwGhC,+CAAA;AArGH,IAAM,SAAA,EAAW,+BAAA;AAAA,EACtB,CACE;AAAA,IACE,KAAA;AAAA,IACA,KAAA;AAAA,IACA,cAAA,EAAgB,KAAA;AAAA,IAChB,MAAA,EAAQ,SAAA;AAAA,IACR,KAAA,EAAO,IAAA;AAAA,IACP,UAAA,EAAY,EAAA;AAAA,IACZ,SAAA,EAAW,KAAA;AAAA,IACX,EAAA;AAAA,IACA,OAAA;AAAA,IACA,cAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,GAAG;AAAA,EACL,CAAA,EACA,GAAA,EAAA,GACG;AACH,IAAA,MAAM,YAAA,EAAc,0BAAA,CAAM;AAC1B,IAAA,MAAM,WAAA,EAAa,GAAA,GAAM,CAAA,SAAA,EAAY,WAAW,CAAA,CAAA;AAGC,IAAA;AAKhB,IAAA;AACyB,IAAA;AAG7B,IAAA;AAGb,IAAA;AACW,MAAA;AACa,QAAA;AACtC,MAAA;AACgB,IAAA;AAKA,IAAA;AACmB,MAAA;AACX,QAAA;AACS,QAAA;AACrB,UAAA;AACM,QAAA;AACqD,UAAA;AACrE,QAAA;AACF,MAAA;AACI,MAAA;AACN,IAAA;AAEiE,IAAA;AAC5C,MAAA;AACe,QAAA;AAClC,MAAA;AACY,sBAAA;AACd,IAAA;AAY+D,IAAA;AAClD,sBAAA;AACO,MAAA;AACpB,IAAA;AAEuB,IAAA;AACrB,MAAA;AACgC,MAAA;AACD,MAAA;AACnB,MAAA;AACH,MAAA;AAGA,IAAA;AAEY,IAAA;AACrB,MAAA;AACa,MAAA;AACI,MAAA;AACL,MAAA;AACU,MAAA;AAGb,IAAA;AAGQ,IAAA;AACG,sBAAA;AAChB,wBAAA;AAAC,UAAA;AAAA,UAAA;AACM,YAAA;AACA,YAAA;AACD,YAAA;AACM,YAAA;AACV,YAAA;AACU,YAAA;AACD,YAAA;AAC2B,YAAA;AAChC,YAAA;AAAA,UAAA;AACN,QAAA;AACiB,wBAAA;AACiB,UAAA;AACb,UAAA;AACrB,QAAA;AACgB,QAAA;AAClB,MAAA;AAGO,MAAA;AACU,wBAAA;AACN,wBAAA;AACT,MAAA;AAEJ,IAAA;AAEJ,EAAA;AACF;AAEuB;ADtC8B;AACA;AACA;AACA","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IJ4DXG7D.cjs","sourcesContent":[null,"import React, { forwardRef, useId, useRef, useState, useEffect, useCallback } from 'react';\nimport { Check, Minus, CircleAlert } from 'lucide-react';\nimport type { CheckboxProps } from './Checkbox.types';\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n label,\n error,\n indeterminate = false,\n color = 'primary',\n size = 'md',\n className = '',\n disabled = false,\n id,\n checked,\n defaultChecked,\n onChange,\n onClick,\n ...inputProps\n },\n ref,\n ) => {\n const generatedId = useId();\n const checkboxId = id || `checkbox-${generatedId}`;\n\n // Internal ref needed to imperatively set `indeterminate` (not a standard HTML attribute)\n const internalRef = useRef<HTMLInputElement>(null);\n\n // Track checked state for the visual control:\n // - controlled mode: `checked` prop drives everything\n // - uncontrolled mode: local state mirrors the native input\n const isControlled = checked !== undefined;\n const [localChecked, setLocalChecked] = useState<boolean>(defaultChecked ?? false);\n\n // `??` correctly handles `false` (falsy but defined): only falls back when `checked` is undefined\n const isChecked = checked ?? localChecked;\n\n // Imperatively set the indeterminate property – it has no HTML attribute equivalent\n useEffect(() => {\n if (internalRef.current) {\n internalRef.current.indeterminate = indeterminate;\n }\n }, [indeterminate]);\n\n // Merge the forwarded ref with our internal ref so callers can still access the input.\n // useCallback(_, [ref]) prevents the ref callback from being a new function identity\n // every render, which would cause React to detach/re-attach the ref unnecessarily.\n const mergedRef = useCallback(\n (node: HTMLInputElement | null) => {\n internalRef.current = node;\n if (typeof ref === 'function') {\n ref(node);\n } else if (ref) {\n (ref as React.MutableRefObject<HTMLInputElement | null>).current = node;\n }\n },\n [ref],\n );\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setLocalChecked(e.target.checked);\n }\n onChange?.(e);\n };\n\n // Clicking anywhere in the surrounding <label> (e.g. the custom\n // `.eidos-checkbox-control` box) fires a click on the clicked element\n // *and* a second, browser-synthesized click targeted at this input -\n // both bubble up. A consumer that wraps Checkbox in its own click\n // handler (e.g. DataGrid toggling a cell on click) would otherwise see\n // that handler fire twice per click and cancel itself out. Stopping\n // propagation here only cancels the synthesized click's bubbling; the\n // original click (whichever element the user actually clicked) still\n // bubbles normally. Still forwards to a caller-supplied `onClick`\n // first, so passing one through doesn't silently disable this fix.\n const handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n onClick?.(e);\n e.stopPropagation();\n };\n\n const wrapperClasses = [\n 'eidos-checkbox-wrapper',\n `eidos-checkbox-wrapper--${color}`,\n `eidos-checkbox-wrapper--${size}`,\n disabled && 'eidos-checkbox-wrapper--disabled',\n error && 'eidos-checkbox-wrapper--error',\n ]\n .filter(Boolean)\n .join(' ');\n\n const controlClasses = [\n 'eidos-checkbox-control',\n isChecked && 'eidos-checkbox-control--checked',\n indeterminate && 'eidos-checkbox-control--indeterminate',\n disabled && 'eidos-checkbox-control--disabled',\n error && !disabled && 'eidos-checkbox-control--error',\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={['eidos-checkbox-container', className].filter(Boolean).join(' ')}>\n <label className={wrapperClasses}>\n <input\n ref={mergedRef}\n type=\"checkbox\"\n id={checkboxId}\n className=\"eidos-checkbox-input\"\n disabled={disabled}\n onChange={handleChange}\n onClick={handleClick}\n {...(isControlled ? { checked } : { defaultChecked })}\n {...inputProps}\n />\n <span className={controlClasses}>\n {isChecked && !indeterminate && <Check className=\"eidos-checkbox-icon\" />}\n {indeterminate && <Minus className=\"eidos-checkbox-icon\" />}\n </span>\n {label && <span className=\"eidos-checkbox-label\">{label}</span>}\n </label>\n\n {error && (\n <div className=\"eidos-checkbox-error-message\">\n <CircleAlert />\n <span>{error}</span>\n </div>\n )}\n </div>\n );\n },\n);\n\nCheckbox.displayName = 'Checkbox';\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkA7Z2QAFZcjs = require('./chunk-A7Z2QAFZ.cjs');
|
|
4
4
|
|
|
5
5
|
// src/components/Header/Header.component.tsx
|
|
6
6
|
var _jsxruntime = require('react/jsx-runtime');
|
|
@@ -11,11 +11,11 @@ var Header = ({ title, subtitle, actions, className = "" }) => {
|
|
|
11
11
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "eidos-header__title", children: title }),
|
|
12
12
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "eidos-header__subtitle", children: subtitle })
|
|
13
13
|
] }),
|
|
14
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-header__actions", children: _optionalChain([actions, 'optionalAccess', _ => _.map, 'call', _2 => _2((action, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-header__actions", children: _optionalChain([actions, 'optionalAccess', _ => _.map, 'call', _2 => _2((action, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA7Z2QAFZcjs.Button, { size: "md", ...action }, index))]) })
|
|
15
15
|
] }) });
|
|
16
16
|
};
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
exports.Header = Header;
|
|
21
|
-
//# sourceMappingURL=chunk-
|
|
21
|
+
//# sourceMappingURL=chunk-IJYYHBZC.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IJYYHBZC.cjs","../src/components/Header/Header.component.tsx"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACOQ,+CAAA;AAND,IAAM,OAAA,EAAgC,CAAC,EAAE,KAAA,EAAO,QAAA,EAAU,OAAA,EAAS,UAAA,EAAY,GAAG,CAAA,EAAA,GAAM;AAC7F,EAAA,MAAM,QAAA,EAAU,CAAC,cAAA,EAAgB,SAAS,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AAEpE,EAAA,uBACE,6BAAA,KAAC,EAAA,EAAI,SAAA,EAAW,OAAA,EACd,QAAA,kBAAA,8BAAA,KAAC,EAAA,EAAI,SAAA,EAAU,uBAAA,EACb,QAAA,EAAA;AAAA,oBAAA,8BAAA,KAAC,EAAA,EAAI,SAAA,EAAU,sBAAA,EACb,QAAA,EAAA;AAAA,sBAAA,6BAAA,IAAC,EAAA,EAAG,SAAA,EAAU,qBAAA,EAAuB,QAAA,EAAA,MAAA,CAAM,CAAA;AAAA,MAC1C,SAAA,mBAAY,6BAAA,MAAC,EAAA,EAAK,SAAA,EAAU,wBAAA,EAA0B,QAAA,EAAA,SAAA,CAAS;AAAA,IAAA,EAAA,CAClE,CAAA;AAAA,oBACA,6BAAA,KAAC,EAAA,EAAI,SAAA,EAAU,uBAAA,EACZ,QAAA,kBAAA,OAAA,2BAAS,GAAA,mBAAI,CAAC,MAAA,EAAQ,KAAA,EAAA,mBACrB,6BAAA,wBAAC,EAAA,EAAmB,IAAA,EAAK,IAAA,EAAM,GAAG,OAAA,CAAA,EAArB,KAA6B,CAC3C,IAAA,CACH;AAAA,EAAA,EAAA,CACF,EAAA,CACF,CAAA;AAEJ,CAAA;ADPA;AACA;AACE;AACF,wBAAC","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IJYYHBZC.cjs","sourcesContent":[null,"import React from 'react';\nimport type { HeaderProps } from './Header.types';\nimport './Header.scss';\nimport { Button } from '../Button';\n\nexport const Header: React.FC<HeaderProps> = ({ title, subtitle, actions, className = '' }) => {\n const classes = ['eidos-header', className].filter(Boolean).join(' ');\n\n return (\n <div className={classes}>\n <div className=\"eidos-header__content\">\n <div className=\"eidos-header__titles\">\n <h1 className=\"eidos-header__title\">{title}</h1>\n {subtitle && <span className=\"eidos-header__subtitle\">{subtitle}</span>}\n </div>\n <div className=\"eidos-header__actions\">\n {actions?.map((action, index) => (\n <Button key={index} size=\"md\" {...action} />\n ))}\n </div>\n </div>\n </div>\n );\n};\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkHLNKIAE5cjs = require('./chunk-HLNKIAE5.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkA7Z2QAFZcjs = require('./chunk-A7Z2QAFZ.cjs');
|
|
7
7
|
|
|
8
8
|
// src/components/Pagination/Pagination.component.tsx
|
|
9
9
|
var _react = require('react');
|
|
@@ -78,7 +78,7 @@ var Pagination = ({
|
|
|
78
78
|
].filter(Boolean).join(" ");
|
|
79
79
|
const nav = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { "aria-label": "Pagination", className: "eidos-pagination-nav", children: [
|
|
80
80
|
showFirstLast && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
81
|
-
|
|
81
|
+
_chunkA7Z2QAFZcjs.Button,
|
|
82
82
|
{
|
|
83
83
|
variant: "text",
|
|
84
84
|
size,
|
|
@@ -89,7 +89,7 @@ var Pagination = ({
|
|
|
89
89
|
}
|
|
90
90
|
),
|
|
91
91
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
92
|
-
|
|
92
|
+
_chunkA7Z2QAFZcjs.Button,
|
|
93
93
|
{
|
|
94
94
|
variant: "text",
|
|
95
95
|
size,
|
|
@@ -145,7 +145,7 @@ var Pagination = ({
|
|
|
145
145
|
)
|
|
146
146
|
),
|
|
147
147
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
148
|
-
|
|
148
|
+
_chunkA7Z2QAFZcjs.Button,
|
|
149
149
|
{
|
|
150
150
|
variant: "text",
|
|
151
151
|
size,
|
|
@@ -156,7 +156,7 @@ var Pagination = ({
|
|
|
156
156
|
}
|
|
157
157
|
),
|
|
158
158
|
showFirstLast && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
159
|
-
|
|
159
|
+
_chunkA7Z2QAFZcjs.Button,
|
|
160
160
|
{
|
|
161
161
|
variant: "text",
|
|
162
162
|
size,
|
|
@@ -184,7 +184,7 @@ var Pagination = ({
|
|
|
184
184
|
hasPageSize && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "eidos-pagination-size", children: [
|
|
185
185
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { className: "eidos-pagination-size-label", children: "Show:" }),
|
|
186
186
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
187
|
-
|
|
187
|
+
_chunkHLNKIAE5cjs.Select,
|
|
188
188
|
{
|
|
189
189
|
value: String(pageSize),
|
|
190
190
|
onChange: (val) => onPageSizeChange(Number(val)),
|
|
@@ -208,4 +208,4 @@ Pagination.displayName = "Pagination";
|
|
|
208
208
|
|
|
209
209
|
|
|
210
210
|
exports.Pagination = Pagination;
|
|
211
|
-
//# sourceMappingURL=chunk-
|
|
211
|
+
//# sourceMappingURL=chunk-ISABZ2VX.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-ISABZ2VX.cjs","../src/components/Pagination/Pagination.component.tsx"],"names":[],"mappings":"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","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-ISABZ2VX.cjs","sourcesContent":[null,"import React, { useState, useEffect } from 'react';\nimport { ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight } from 'lucide-react';\nimport { Button } from '../Button';\nimport { Select } from '../Select';\nimport type { PaginationProps } from './Pagination.types';\n\n// ── Ellipsis range helper ─────────────────────────────────────────────────────\n\nconst ELLIPSIS = 'ellipsis' as const;\ntype PageItem = number | typeof ELLIPSIS;\n\nfunction usePaginationRange(page: number, totalPages: number, siblingCount: number): PageItem[] {\n const totalShown = siblingCount * 2 + 5;\n\n if (totalPages <= totalShown) {\n return Array.from({ length: totalPages }, (_, i) => i + 1);\n }\n\n const leftSibling = Math.max(page - siblingCount, 1);\n const rightSibling = Math.min(page + siblingCount, totalPages);\n\n const showLeftEllipsis = leftSibling > 2;\n const showRightEllipsis = rightSibling < totalPages - 1;\n\n const items: PageItem[] = [1];\n\n if (showLeftEllipsis) {\n items.push(ELLIPSIS);\n } else {\n for (let i = 2; i < leftSibling; i++) items.push(i);\n }\n\n for (let i = leftSibling; i <= rightSibling; i++) {\n if (i !== 1 && i !== totalPages) items.push(i);\n }\n\n if (showRightEllipsis) {\n items.push(ELLIPSIS);\n } else {\n for (let i = rightSibling + 1; i < totalPages; i++) items.push(i);\n }\n\n items.push(totalPages);\n\n return items;\n}\n\n// ── Component ─────────────────────────────────────────────────────────────────\n\nexport const Pagination: React.FC<PaginationProps> = ({\n page,\n totalPages,\n onChange,\n siblingCount = 1,\n showFirstLast = false,\n color = 'primary',\n size = 'sm',\n disabled = false,\n className = '',\n // Table-footer mode\n totalItems,\n pageSize,\n onPageSizeChange,\n pageSizeOptions = [10, 25, 50, 100],\n}) => {\n const items = usePaginationRange(page, totalPages, siblingCount);\n\n // ── Active-page editable input ─────────────────────────────────────────────\n const [inputValue, setInputValue] = useState(String(page));\n useEffect(() => {\n setInputValue(String(page));\n }, [page]);\n\n const commitInput = (raw: string) => {\n const val = parseInt(raw, 10);\n if (!isNaN(val) && val >= 1 && val <= totalPages && val !== page) {\n onChange(val);\n } else {\n setInputValue(String(page)); // revert on invalid or same-page\n }\n };\n\n // ── Layout flags ───────────────────────────────────────────────────────────\n const hasResults = totalItems !== undefined && pageSize !== undefined;\n const hasPageSize = !!onPageSizeChange && pageSize !== undefined;\n const tableMode = hasResults || hasPageSize;\n\n const startItem = hasResults ? (totalItems === 0 ? 0 : (page - 1) * pageSize! + 1) : undefined;\n const endItem = hasResults ? Math.min(page * pageSize!, totalItems!) : undefined;\n\n const rootClasses = [\n 'eidos-pagination',\n `eidos-pagination--${size}`,\n tableMode && 'eidos-pagination--table',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n // ── Navigation block ───────────────────────────────────────────────────────\n const nav = (\n <nav aria-label=\"Pagination\" className=\"eidos-pagination-nav\">\n {showFirstLast && (\n <Button\n variant=\"text\"\n size={size}\n icon={ChevronsLeft}\n disabled={page === 1 || disabled}\n onClick={() => onChange(1)}\n aria-label=\"First page\"\n />\n )}\n\n <Button\n variant=\"text\"\n size={size}\n icon={ChevronLeft}\n disabled={page === 1 || disabled}\n onClick={() => onChange(page - 1)}\n aria-label=\"Previous page\"\n />\n\n {items.map((item, i) =>\n item === ELLIPSIS ? (\n <span key={`ellipsis-${i}`} className=\"eidos-pagination-ellipsis\" aria-hidden=\"true\">\n …\n </span>\n ) : item === page ? (\n // Active page - styled as filled chip, editable via keyboard/click\n <input\n key=\"active-page\"\n type=\"text\"\n inputMode=\"numeric\"\n className={[\n 'eidos-pagination-page',\n 'eidos-pagination-page--active',\n `eidos-pagination-page--${color}`,\n ].join(' ')}\n value={inputValue}\n onChange={(e) => setInputValue(e.target.value)}\n onFocus={(e) => e.target.select()}\n onBlur={() => commitInput(inputValue)}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n commitInput(inputValue);\n e.currentTarget.blur();\n } else if (e.key === 'Escape') {\n setInputValue(String(page));\n e.currentTarget.blur();\n }\n }}\n aria-label={`Page ${page} of ${totalPages}, editable`}\n aria-current=\"page\"\n disabled={disabled}\n />\n ) : (\n <button\n key={item}\n type=\"button\"\n className=\"eidos-pagination-page\"\n onClick={() => onChange(item)}\n disabled={disabled}\n aria-label={`Page ${item}`}\n >\n {item}\n </button>\n ),\n )}\n\n <Button\n variant=\"text\"\n size={size}\n icon={ChevronRight}\n disabled={page === totalPages || disabled}\n onClick={() => onChange(page + 1)}\n aria-label=\"Next page\"\n />\n\n {showFirstLast && (\n <Button\n variant=\"text\"\n size={size}\n icon={ChevronsRight}\n disabled={page === totalPages || disabled}\n onClick={() => onChange(totalPages)}\n aria-label=\"Last page\"\n />\n )}\n </nav>\n );\n\n // ── Standalone mode ────────────────────────────────────────────────────────\n if (!tableMode) {\n return <div className={rootClasses}>{nav}</div>;\n }\n\n // ── Table-footer mode ──────────────────────────────────────────────────────\n return (\n <div className={rootClasses}>\n {hasResults && (\n <span className=\"eidos-pagination-info\">\n Showing {startItem}-{endItem} of {totalItems} results\n </span>\n )}\n\n <div className=\"eidos-pagination-controls\">\n {hasPageSize && (\n <div className=\"eidos-pagination-size\">\n <label className=\"eidos-pagination-size-label\">Show:</label>\n <Select\n value={String(pageSize)}\n onChange={(val) => onPageSizeChange(Number(val))}\n options={pageSizeOptions.map((n) => ({\n id: String(n),\n value: String(n),\n label: String(n),\n }))}\n clearable={false}\n disabled={disabled}\n inputProps={{ size: 'sm', width: '3ch' }}\n />\n </div>\n )}\n\n {totalPages > 1 && nav}\n </div>\n </div>\n );\n};\n\nPagination.displayName = 'Pagination';\n"]}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CommandPalette
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-PY2376XI.js";
|
|
4
4
|
import {
|
|
5
5
|
Menu
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-JMD3P4CY.js";
|
|
7
7
|
import {
|
|
8
8
|
Avatar
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-XJBWFDDE.js";
|
|
10
10
|
import {
|
|
11
11
|
Breadcrumb
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-DRXPTACG.js";
|
|
13
13
|
import {
|
|
14
14
|
IconButton
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-WIE7HDIM.js";
|
|
16
16
|
|
|
17
17
|
// src/components/Toolbar/Toolbar.component.tsx
|
|
18
18
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -44,4 +44,4 @@ var Toolbar = ({
|
|
|
44
44
|
export {
|
|
45
45
|
Toolbar
|
|
46
46
|
};
|
|
47
|
-
//# sourceMappingURL=chunk-
|
|
47
|
+
//# sourceMappingURL=chunk-IV4LM3MB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Toolbar/Toolbar.component.tsx"],"sourcesContent":["import React from 'react';\nimport type { ToolbarProps } from './Toolbar.types';\nimport './Toolbar.scss';\nimport { IconButton } from '../Button';\nimport { Breadcrumb } from '../Breadcrumb';\nimport { Avatar } from '../Avatar';\nimport { Menu } from '../Menu';\nimport { CommandPalette } from '../CommandPalette';\n\nexport const Toolbar: React.FC<ToolbarProps> = ({\n breadcrumbs,\n actions,\n userMenu,\n cmdPaletteItems,\n className = '',\n}) => {\n const classes = ['eidos-toolbar', className].filter(Boolean).join(' ');\n\n return (\n <div className={classes}>\n {breadcrumbs && <Breadcrumb {...breadcrumbs} />}\n <div className=\"eidos-toolbar__content\">\n {cmdPaletteItems && cmdPaletteItems.length > 0 && (\n <CommandPalette trigger triggerLabel=\"Search\" items={cmdPaletteItems} />\n )}\n {actions && actions.length > 0 && (\n <div className=\"eidos-toolbar__actions\">\n {actions.map((action, index) => (\n <IconButton key={index} variant=\"text\" size=\"sm\" {...action} />\n ))}\n </div>\n )}\n <Menu\n trigger={<Avatar name=\"John Doe\" size=\"sm\" color=\"primary\" />}\n items={userMenu}\n minWidth={220}\n />\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AAoBsB,cAChB,YADgB;AAXf,IAAM,UAAkC,CAAC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AACd,MAAM;AACJ,QAAM,UAAU,CAAC,iBAAiB,SAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAErE,SACE,qBAAC,SAAI,WAAW,SACb;AAAA,mBAAe,oBAAC,cAAY,GAAG,aAAa;AAAA,IAC7C,qBAAC,SAAI,WAAU,0BACZ;AAAA,yBAAmB,gBAAgB,SAAS,KAC3C,oBAAC,kBAAe,SAAO,MAAC,cAAa,UAAS,OAAO,iBAAiB;AAAA,MAEvE,WAAW,QAAQ,SAAS,KAC3B,oBAAC,SAAI,WAAU,0BACZ,kBAAQ,IAAI,CAAC,QAAQ,UACpB,oBAAC,cAAuB,SAAQ,QAAO,MAAK,MAAM,GAAG,UAApC,KAA4C,CAC9D,GACH;AAAA,MAEF;AAAA,QAAC;AAAA;AAAA,UACC,SAAS,oBAAC,UAAO,MAAK,YAAW,MAAK,MAAK,OAAM,WAAU;AAAA,UAC3D,OAAO;AAAA,UACP,UAAU;AAAA;AAAA,MACZ;AAAA,OACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IXZMKIV5.cjs","../src/components/Switch/Switch.component.tsx"],"names":[],"mappings":"AAAA;ACAA,8BAAmD;AAyD7C,+CAAA;AAtDC,IAAM,OAAA,EAAS,+BAAA;AAAA,EACpB,CACE;AAAA,IACE,KAAA;AAAA,IACA,cAAA,EAAgB,OAAA;AAAA,IAChB,MAAA,EAAQ,SAAA;AAAA,IACR,KAAA,EAAO,IAAA;AAAA,IACP,SAAA,EAAW,KAAA;AAAA,IACX,UAAA,EAAY,EAAA;AAAA,IACZ,OAAA;AAAA,IACA,cAAA;AAAA,IACA,QAAA;AAAA,IACA,EAAA;AAAA,IACA,GAAG;AAAA,EACL,CAAA,EACA,GAAA,EAAA,GACG;AACH,IAAA,MAAM,YAAA,EAAc,0BAAA,CAAM;AAC1B,IAAA,MAAM,SAAA,EAAW,GAAA,GAAM,CAAA,OAAA,EAAU,WAAW,CAAA,CAAA;AAGX,IAAA;AACO,IAAA;AAEG,IAAA;AAEsB,IAAA;AAC5C,MAAA;AACe,QAAA;AAClC,MAAA;AACY,sBAAA;AACd,IAAA;AAEuB,IAAA;AACrB,MAAA;AAC8B,MAAA;AACD,MAAA;AACE,MAAA;AACnB,MAAA;AACC,MAAA;AACb,MAAA;AAGS,IAAA;AAEU,IAAA;AACnB,MAAA;AACa,MAAA;AACD,MAAA;AAGH,IAAA;AAGF,IAAA;AACiC,MAAA;AAWtC,sBAAA;AAAC,QAAA;AAAA,QAAA;AACC,UAAA;AACK,UAAA;AACA,UAAA;AACD,UAAA;AACM,UAAA;AACV,UAAA;AACI,UAAA;AACK,UAAA;AACC,UAAA;AAAA,QAAA;AACZ,MAAA;AAEiB,sBAAA;AAIqB,MAAA;AACxC,IAAA;AAEJ,EAAA;AACF;AAEqB;AD3B4B;AACA;AACA;AACA","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IXZMKIV5.cjs","sourcesContent":[null,"import React, { forwardRef, useState, useId } from 'react';\nimport type { SwitchProps } from './Switch.types';\n\nexport const Switch = forwardRef<HTMLInputElement, SwitchProps>(\n (\n {\n label,\n labelPosition = 'right',\n color = 'primary',\n size = 'md',\n disabled = false,\n className = '',\n checked,\n defaultChecked,\n onChange,\n id,\n ...inputProps\n },\n ref,\n ) => {\n const generatedId = useId();\n const switchId = id || `switch-${generatedId}`;\n\n // Determine if using controlled or uncontrolled mode\n const isControlled = checked !== undefined;\n const [localChecked, setLocalChecked] = useState(defaultChecked ?? false);\n\n const isChecked = isControlled ? checked : localChecked;\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setLocalChecked(e.target.checked);\n }\n onChange?.(e);\n };\n\n const wrapperClasses = [\n 'eidos-switch-wrapper',\n `eidos-switch-wrapper--${color}`,\n `eidos-switch-wrapper--${size}`,\n `eidos-switch-wrapper--label-${labelPosition}`,\n disabled && 'eidos-switch-wrapper--disabled',\n isChecked && 'eidos-switch-wrapper--checked',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const trackClasses = [\n 'eidos-switch-track',\n isChecked && 'eidos-switch-track--checked',\n disabled && 'eidos-switch-track--disabled',\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <label className={wrapperClasses} htmlFor={switchId}>\n {labelPosition === 'left' && label && <span className=\"eidos-switch-label\">{label}</span>}\n\n {/*\n * The input is visually hidden via .eidos-switch-input but remains\n * focusable and keyboard-operable. We always render it as controlled\n * (checked={isChecked}) so the transition from uncontrolled → controlled\n * never fires, avoiding the React mixed-mode warning.\n * Note: `defaultChecked` is intentionally NOT spread - we consumed it\n * to seed localChecked, and we never want React to see it alongside\n * our explicit `checked` prop.\n */}\n <input\n ref={ref}\n type=\"checkbox\"\n role=\"switch\"\n id={switchId}\n className=\"eidos-switch-input\"\n disabled={disabled}\n {...inputProps}\n checked={isChecked}\n onChange={handleChange}\n />\n\n <span className={trackClasses}>\n <span className=\"eidos-switch-thumb\" />\n </span>\n\n {labelPosition !== 'left' && label && <span className=\"eidos-switch-label\">{label}</span>}\n </label>\n );\n },\n);\n\nSwitch.displayName = 'Switch';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IYWAZEFI.cjs","../src/components/Skeleton/Skeleton.component.tsx"],"names":[],"mappings":"AAAA;ACmCU,+CAAA;AA3BV,SAAS,SAAA,CAAU,KAAA,EAAgC;AACjD,EAAA,OAAO,OAAO,MAAA,IAAU,SAAA,EAAW,CAAA,EAAA;AACrC;AAMkD;AACtC,EAAA;AACV,EAAA;AACA,EAAA;AACQ,EAAA;AACI,EAAA;AACZ,EAAA;AACI;AACyB,EAAA;AACE,EAAA;AAGG,EAAA;AAE9B,IAAA;AAAC,MAAA;AAAA,MAAA;AACa,QAAA;AACA,QAAA;AAEE,QAAA;AACX,UAAA;AAAA,UAAA;AAEY,YAAA;AACJ,YAAA;AACgB,cAAA;AACb,cAAA;AACV,YAAA;AAAA,UAAA;AALK,UAAA;AAOR,QAAA;AAAA,MAAA;AACH,IAAA;AAEJ,EAAA;AAIE,EAAA;AAAC,IAAA;AAAA,IAAA;AACY,MAAA;AACT,QAAA;AAC0B,QAAA;AACE,QAAA;AAC5B,QAAA;AAGS,MAAA;AACiB,MAAA;AAChB,MAAA;AAAA,IAAA;AACd,EAAA;AAEJ;ADdsC;AACA;AACA;AACA","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-IYWAZEFI.cjs","sourcesContent":[null,"import React from 'react';\nimport type { SkeletonProps } from './Skeleton.types';\nimport './Skeleton.scss';\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\nfunction toCssSize(value: number | string): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const Skeleton: React.FC<SkeletonProps> = ({\n variant = 'text',\n width,\n height,\n lines = 1,\n animation = 'wave',\n className,\n}) => {\n const widthStyle = width !== undefined ? toCssSize(width) : undefined;\n const heightStyle = height !== undefined ? toCssSize(height) : undefined;\n\n // Multi-line text variant\n if (variant === 'text' && lines > 1) {\n return (\n <div\n className={['eidos-skeleton-text-group', className].filter(Boolean).join(' ')}\n aria-hidden=\"true\"\n >\n {Array.from({ length: lines }, (_, i) => (\n <span\n key={i}\n className={`eidos-skeleton eidos-skeleton--text eidos-skeleton--${animation}`}\n style={{\n width: i === lines - 1 ? '60%' : (widthStyle ?? '100%'),\n height: heightStyle,\n }}\n />\n ))}\n </div>\n );\n }\n\n // Single element\n return (\n <span\n className={[\n 'eidos-skeleton',\n `eidos-skeleton--${variant}`,\n `eidos-skeleton--${animation}`,\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{ width: widthStyle, height: heightStyle }}\n aria-hidden=\"true\"\n />\n );\n};\n"]}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DatePicker
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3HMKE2GJ.js";
|
|
4
4
|
import {
|
|
5
5
|
Select
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-5WROPW7Z.js";
|
|
7
7
|
import {
|
|
8
8
|
Input
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-WE5FTQGD.js";
|
|
10
10
|
import {
|
|
11
11
|
Dropdown
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-4BKTBV2I.js";
|
|
13
13
|
import {
|
|
14
14
|
Button
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-WIE7HDIM.js";
|
|
16
16
|
|
|
17
17
|
// src/components/Table/TableFiltersDropdown.component.tsx
|
|
18
18
|
import { useMemo, useState, useEffect, useRef } from "react";
|
|
@@ -4415,4 +4415,4 @@ export {
|
|
|
4415
4415
|
sortableKeyboardCoordinates,
|
|
4416
4416
|
TableFiltersDropdown
|
|
4417
4417
|
};
|
|
4418
|
-
//# sourceMappingURL=chunk-
|
|
4418
|
+
//# sourceMappingURL=chunk-IZBJW37N.js.map
|