eidos-ui 1.0.1 → 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 -225
- 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 -114
- 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
|
@@ -1,15 +1,15 @@
|
|
|
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 _chunkQ3GNKF74cjs = require('./chunk-Q3GNKF74.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkA7Z2QAFZcjs = require('./chunk-A7Z2QAFZ.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkGOR642KKcjs = require('./chunk-GOR642KK.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chunkZ5U4NJTWcjs = require('./chunk-Z5U4NJTW.cjs');
|
|
13
13
|
|
|
14
14
|
// src/components/Navigation/Navigation.component.tsx
|
|
15
15
|
var _react = require('react');
|
|
@@ -72,7 +72,7 @@ var Navigation = ({
|
|
|
72
72
|
}
|
|
73
73
|
} : void 0,
|
|
74
74
|
children: brand.logo ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NavigationBrandLogo, { logo: brand.logo }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
75
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
75
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQ3GNKF74cjs.Avatar, { name: brand.name, shape: "square", size: "sm" }),
|
|
76
76
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
77
77
|
"span",
|
|
78
78
|
{
|
|
@@ -84,7 +84,7 @@ var Navigation = ({
|
|
|
84
84
|
] })
|
|
85
85
|
}
|
|
86
86
|
),
|
|
87
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "eidos-navigation__items", children: items.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { className: "eidos-navigation__item-wrapper", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
87
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "eidos-navigation__items", children: items.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { className: "eidos-navigation__item-wrapper", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5U4NJTWcjs.Tooltip, { message: item.label, placement: "right", disabled: !collapsed, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
88
88
|
"button",
|
|
89
89
|
{
|
|
90
90
|
type: "button",
|
|
@@ -97,14 +97,14 @@ var Navigation = ({
|
|
|
97
97
|
"aria-current": item.active ? "page" : void 0,
|
|
98
98
|
"aria-label": collapsed ? item.label : void 0,
|
|
99
99
|
children: [
|
|
100
|
-
item.icon &&
|
|
100
|
+
item.icon && _chunkGOR642KKcjs.renderIcon.call(void 0, item.icon, "eidos-navigation__item-icon"),
|
|
101
101
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "eidos-navigation__item-label", "aria-hidden": collapsed || void 0, children: item.label })
|
|
102
102
|
]
|
|
103
103
|
}
|
|
104
104
|
) }) }, item.id)) }),
|
|
105
105
|
footer && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-navigation__footer", children: footer }),
|
|
106
106
|
collapsible && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "eidos-navigation__toggle", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
107
|
-
|
|
107
|
+
_chunkA7Z2QAFZcjs.IconButton,
|
|
108
108
|
{
|
|
109
109
|
icon: collapsed ? _lucidereact.SquareChevronRight : _lucidereact.SquareChevronLeft,
|
|
110
110
|
variant: "text",
|
|
@@ -122,4 +122,4 @@ Navigation.displayName = "Navigation";
|
|
|
122
122
|
|
|
123
123
|
|
|
124
124
|
exports.Navigation = Navigation;
|
|
125
|
-
//# sourceMappingURL=chunk-
|
|
125
|
+
//# sourceMappingURL=chunk-7AHZTHXR.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-7AHZTHXR.cjs","../src/components/Navigation/Navigation.component.tsx"],"names":[],"mappings":"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","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-7AHZTHXR.cjs","sourcesContent":[null,"import React, { useCallback, useEffect, useState } from 'react';\nimport { SquareChevronLeft, SquareChevronRight } from 'lucide-react';\nimport type { NavigationLogo, NavigationProps } from './Navigation.types';\nimport { Avatar } from '../Avatar';\nimport { IconButton } from '../Button';\nimport { Tooltip } from '../Tooltip';\nimport { renderIcon } from '../../utils';\nimport './Navigation.scss';\n\n/**\n * Renders a custom brand logo, guaranteeing correct aspect-ratio rendering\n * regardless of whether the source image is vertical, horizontal, or square\n * - and regardless of how much width is actually available, expanded or\n * collapsed. Deliberately no JS sizing/measurement at all: a fixed `height`,\n * `width: auto` (derived from the image's own intrinsic ratio), a `max-width`\n * expressed as `min(72px, 100%)` (see `.eidos-navigation__brand-logo` in\n * Navigation.scss) so it never renders wider than whatever space its\n * container - the rail, expanded or collapsed - actually has, and\n * `object-fit: contain` so it's letterboxed rather than distorted if that\n * ever clamps it below its natural width-at-32px-tall. Centering is handled\n * separately, at the row level - see `&__brand--logo-only` in Navigation.scss.\n */\nconst NavigationBrandLogo: React.FC<{ logo: NavigationLogo }> = ({ logo }) => (\n <img src={logo.src} alt={logo.alt} className=\"eidos-navigation__brand-logo\" />\n);\n\nexport const Navigation: React.FC<NavigationProps> = ({\n brand,\n items,\n footer,\n collapsed: collapsedProp,\n defaultCollapsed = false,\n onCollapsedChange,\n collapseBelow = 768,\n collapsible = true,\n className = '',\n}) => {\n // ── Controlled / uncontrolled collapsed state ─────────────────────────────\n // Mirrors CommandPalette's `open`/`defaultOpen` pattern - omitting\n // `collapsed` lets Navigation own its state entirely, while passing it\n // (+ `onCollapsedChange`) keeps full external control for consumers who\n // need to persist the preference or drive it from a responsive breakpoint.\n const isControlled = collapsedProp !== undefined;\n const [internalCollapsed, setInternalCollapsed] = useState(defaultCollapsed);\n const collapsed = isControlled ? collapsedProp : internalCollapsed;\n\n // Shared by the manual toggle button and `collapseBelow` below - uncontrolled\n // flips the internal state directly, controlled defers to `onCollapsedChange`\n // since Navigation can't change `collapsed` itself.\n const applyCollapsed = useCallback(\n (next: boolean) => {\n if (!isControlled) setInternalCollapsed(next);\n onCollapsedChange?.(next);\n },\n [isControlled, onCollapsedChange],\n );\n\n const toggleCollapsed = useCallback(() => {\n applyCollapsed(!collapsed);\n }, [applyCollapsed, collapsed]);\n\n // Auto-collapse/expand at a viewport breakpoint. `matchMedia`'s `change`\n // event only fires exactly at the crossing point, not on every resize\n // tick, so a manual toggle in between crossings is left alone until the\n // viewport actually crosses the breakpoint again.\n useEffect(() => {\n if (collapseBelow === undefined) return;\n if (typeof window === 'undefined' || !window.matchMedia) return;\n\n const query = window.matchMedia(`(max-width: ${collapseBelow}px)`);\n\n applyCollapsed(query.matches);\n\n const handleChange = (e: MediaQueryListEvent) => applyCollapsed(e.matches);\n query.addEventListener('change', handleChange);\n return () => query.removeEventListener('change', handleChange);\n }, [collapseBelow, applyCollapsed]);\n\n const classes = ['eidos-navigation', collapsed && 'eidos-navigation--collapsed', className]\n .filter(Boolean)\n .join(' ');\n\n // A `logo` brand has no `name` text alongside it (see the discriminated\n // union in Navigation.types.ts), so there's never a second, variable-width\n // sibling competing for space - unlike the `name` variant, it's always\n // safe to just center it outright, in both expanded and collapsed states,\n // with nothing further to compute. See `&__brand--logo-only` in\n // Navigation.scss.\n const brandClasses = [\n 'eidos-navigation__brand',\n brand.logo && 'eidos-navigation__brand--logo-only',\n brand.onClick && 'eidos-navigation__brand--clickable',\n ]\n .filter(Boolean)\n .join(' ');\n\n const brandAccessibleName = brand.logo ? brand.logo.alt : brand.name;\n\n return (\n <nav className={classes} aria-label=\"Main\">\n <div\n className={brandClasses}\n onClick={brand.onClick}\n role={brand.onClick ? 'button' : undefined}\n tabIndex={brand.onClick ? 0 : undefined}\n // Only a real interactive control (role=\"button\") reliably exposes\n // `aria-label` as its accessible name - a plain, non-interactive div\n // doesn't, so the visible (if currently faded) text remains the only\n // way assistive tech gets the brand name in that case.\n aria-label={brand.onClick ? brandAccessibleName : undefined}\n onKeyDown={\n brand.onClick\n ? (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n brand.onClick?.();\n }\n }\n : undefined\n }\n >\n {brand.logo ? (\n <NavigationBrandLogo logo={brand.logo} />\n ) : (\n <>\n <Avatar name={brand.name} shape=\"square\" size=\"sm\" />\n {/* Only redundant with the wrapper's own `aria-label` when\n `brand.onClick` is set (see the note on it above) - otherwise\n this is the only accessible text for the brand at all. */}\n <span\n className=\"eidos-navigation__brand-name\"\n aria-hidden={brand.onClick ? true : undefined}\n >\n {brand.name}\n </span>\n </>\n )}\n </div>\n\n <ul className=\"eidos-navigation__items\">\n {items.map((item) => (\n <li key={item.id} className=\"eidos-navigation__item-wrapper\">\n {/* Always wrapped (disabled rather than omitted while expanded)\n so the button underneath is never unmounted/remounted across\n a collapse toggle - that would otherwise reset its own CSS\n transitions (gap, padding, justify-content) partway through\n the rail's width animation, snapping instead of easing. */}\n <Tooltip message={item.label} placement=\"right\" disabled={!collapsed}>\n <button\n type=\"button\"\n className={[\n 'eidos-navigation__item',\n item.active && 'eidos-navigation__item--active',\n ]\n .filter(Boolean)\n .join(' ')}\n disabled={item.disabled}\n onClick={item.onClick}\n aria-current={item.active ? 'page' : undefined}\n // The label fades out visually while collapsed (see\n // `.eidos-navigation__item-label` in Navigation.scss) but\n // isn't removed from the DOM, so it's given directly as the\n // accessible name here instead of relying on the (also\n // fading) visible text, and hidden from assistive tech below\n // to avoid it being announced twice alongside the `Tooltip`.\n aria-label={collapsed ? item.label : undefined}\n >\n {item.icon && renderIcon(item.icon, 'eidos-navigation__item-icon')}\n <span className=\"eidos-navigation__item-label\" aria-hidden={collapsed || undefined}>\n {item.label}\n </span>\n </button>\n </Tooltip>\n </li>\n ))}\n </ul>\n\n {footer && <div className=\"eidos-navigation__footer\">{footer}</div>}\n\n {/* Floats half in/half out of the rail's right edge (see `&__toggle`\n in Navigation.scss) rather than sitting in its own row - a\n dedicated row reserved space in the flex column even when there\n were too few items to need it.\n\n The positioning has to live on this wrapping `<span>`, not on the\n `IconButton` itself: its `tooltip` prop makes `Button` wrap it in\n `Tooltip`'s own `.eidos-tooltip-trigger` div, which - not the\n button - is the actual flex child of `.eidos-navigation`. Removing\n only the inner button from flow left that outer wrapper still\n in-flow, still consuming space and still getting `gap` applied\n around it, which is exactly why a gap remained. */}\n {collapsible && (\n <span className=\"eidos-navigation__toggle\">\n <IconButton\n icon={collapsed ? SquareChevronRight : SquareChevronLeft}\n variant=\"text\"\n color=\"secondary\"\n size=\"sm\"\n tooltip={collapsed ? 'Expand navigation' : 'Collapse navigation'}\n aria-label={collapsed ? 'Expand navigation' : 'Collapse navigation'}\n onClick={toggleCollapsed}\n />\n </span>\n )}\n </nav>\n );\n};\n\nNavigation.displayName = 'Navigation';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Switch/Switch.component.tsx"],"sourcesContent":["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"],"mappings":";AAAA,SAAgB,YAAY,UAAU,aAAa;AAyD7C,SACwC,KADxC;AAtDC,IAAM,SAAS;AAAA,EACpB,CACE;AAAA,IACE;AAAA,IACA,gBAAgB;AAAA,IAChB,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,WAAW;AAAA,IACX,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,cAAc,MAAM;AAC1B,UAAM,WAAW,MAAM,UAAU,WAAW;AAG5C,UAAM,eAAe,YAAY;AACjC,UAAM,CAAC,cAAc,eAAe,IAAI,SAAS,kBAAkB,KAAK;AAExE,UAAM,YAAY,eAAe,UAAU;AAE3C,UAAM,eAAe,CAAC,MAA2C;AAC/D,UAAI,CAAC,cAAc;AACjB,wBAAgB,EAAE,OAAO,OAAO;AAAA,MAClC;AACA,iBAAW,CAAC;AAAA,IACd;AAEA,UAAM,iBAAiB;AAAA,MACrB;AAAA,MACA,yBAAyB,KAAK;AAAA,MAC9B,yBAAyB,IAAI;AAAA,MAC7B,+BAA+B,aAAa;AAAA,MAC5C,YAAY;AAAA,MACZ,aAAa;AAAA,MACb;AAAA,IACF,EACG,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,UAAM,eAAe;AAAA,MACnB;AAAA,MACA,aAAa;AAAA,MACb,YAAY;AAAA,IACd,EACG,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,WACE,qBAAC,WAAM,WAAW,gBAAgB,SAAS,UACxC;AAAA,wBAAkB,UAAU,SAAS,oBAAC,UAAK,WAAU,sBAAsB,iBAAM;AAAA,MAWlF;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,MAAK;AAAA,UACL,MAAK;AAAA,UACL,IAAI;AAAA,UACJ,WAAU;AAAA,UACV;AAAA,UACC,GAAG;AAAA,UACJ,SAAS;AAAA,UACT,UAAU;AAAA;AAAA,MACZ;AAAA,MAEA,oBAAC,UAAK,WAAW,cACf,8BAAC,UAAK,WAAU,sBAAqB,GACvC;AAAA,MAEC,kBAAkB,UAAU,SAAS,oBAAC,UAAK,WAAU,sBAAsB,iBAAM;AAAA,OACpF;AAAA,EAEJ;AACF;AAEA,OAAO,cAAc;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Button
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WIE7HDIM.js";
|
|
4
4
|
|
|
5
5
|
// src/components/Drawer/Drawer.component.tsx
|
|
6
6
|
import { useEffect, useCallback, useId, useState } from "react";
|
|
@@ -135,4 +135,4 @@ Drawer.displayName = "Drawer";
|
|
|
135
135
|
export {
|
|
136
136
|
Drawer
|
|
137
137
|
};
|
|
138
|
-
//# sourceMappingURL=chunk-
|
|
138
|
+
//# sourceMappingURL=chunk-A3NE2C7C.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Drawer/Drawer.component.tsx"],"sourcesContent":["import React, { useEffect, useCallback, useId, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { X } from 'lucide-react';\nimport { Button } from '../Button';\nimport type { DrawerProps } from './Drawer.types';\n\nexport const Drawer: React.FC<DrawerProps> = ({\n isOpen,\n onClose,\n placement = 'right',\n title,\n children,\n actions,\n size = 'md',\n closeOnBackdropClick = true,\n closeOnEscape = true,\n className = '',\n}) => {\n const titleId = useId();\n const bodyId = useId();\n\n // ── Animation state ────────────────────────────────────────────────────────\n // isMounted: whether the portal DOM node exists at all.\n // isVisible: whether the '--open' CSS class is applied (drives the transition).\n //\n // On open: mount first → one rAF → apply --open (browser sees initial\n // closed position before transitioning, so the animation fires).\n // On close: remove --open (CSS transition plays) → after 300 ms unmount.\n // 300 ms matches the CSS `transition: 0.3s` in Drawer.scss.\n const TRANSITION_MS = 300;\n const [isMounted, setIsMounted] = useState(isOpen);\n const [isVisible, setIsVisible] = useState(isOpen);\n\n useEffect(() => {\n let raf1 = 0;\n let raf2 = 0;\n let timerId: ReturnType<typeof setTimeout>;\n\n if (isOpen) {\n setIsMounted(true);\n // Double rAF: React 18 automatic batching means setIsMounted(true) may\n // not produce a committed browser paint before the first rAF fires.\n // The second frame guarantees the panel is rendered in its off-screen\n // (closed) position before the CSS transition begins.\n raf1 = requestAnimationFrame(() => {\n raf2 = requestAnimationFrame(() => setIsVisible(true));\n });\n } else {\n setIsVisible(false);\n timerId = setTimeout(() => setIsMounted(false), TRANSITION_MS);\n }\n\n return () => {\n cancelAnimationFrame(raf1);\n cancelAnimationFrame(raf2);\n clearTimeout(timerId);\n };\n }, [isOpen]);\n\n // ── Escape key + scroll lock (tied to isOpen, not isMounted) ───────────────\n const handleEscapeKey = useCallback(\n (event: KeyboardEvent) => {\n if (closeOnEscape && event.key === 'Escape' && isOpen) {\n onClose();\n }\n },\n [closeOnEscape, isOpen, onClose],\n );\n\n useEffect(() => {\n if (isOpen) {\n document.addEventListener('keydown', handleEscapeKey);\n document.body.style.overflow = 'hidden';\n }\n return () => {\n document.removeEventListener('keydown', handleEscapeKey);\n document.body.style.overflow = '';\n };\n }, [isOpen, handleEscapeKey]);\n\n // ── Backdrop click ─────────────────────────────────────────────────────────\n const handleBackdropClick = useCallback(\n (event: React.MouseEvent) => {\n if (closeOnBackdropClick && event.target === event.currentTarget) {\n onClose();\n }\n },\n [closeOnBackdropClick, onClose],\n );\n\n if (!isMounted) return null;\n\n return createPortal(\n <div\n className={[\n 'eidos-drawer',\n `eidos-drawer--${placement}`,\n isVisible && 'eidos-drawer--open',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {/* Backdrop */}\n <div className=\"eidos-drawer-backdrop\" onClick={handleBackdropClick} aria-hidden=\"true\" />\n\n {/* Panel */}\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={title ? titleId : undefined}\n aria-describedby={bodyId}\n className={[\n 'eidos-drawer-panel',\n `eidos-drawer-panel--${size}`,\n `eidos-drawer-panel--${placement}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {/* Header */}\n <div className=\"eidos-drawer-header\">\n {title && (\n <h3 id={titleId} className=\"eidos-drawer-title\">\n {title}\n </h3>\n )}\n <button\n type=\"button\"\n className=\"eidos-drawer-close\"\n onClick={onClose}\n aria-label=\"Close drawer\"\n >\n <X aria-hidden=\"true\" />\n </button>\n </div>\n\n {/* Body */}\n <div id={bodyId} className=\"eidos-drawer-body\">\n {children}\n </div>\n\n {/* Footer - only rendered when actions are provided */}\n {actions && actions.length > 0 && (\n <div className=\"eidos-drawer-footer\">\n {actions.map((action) => (\n <Button\n key={action.id}\n variant={action.variant ?? 'outlined'}\n color={action.color}\n disabled={action.disabled}\n loading={action.loading}\n onClick={action.onClick}\n >\n {action.label}\n </Button>\n ))}\n </div>\n )}\n </div>\n </div>,\n document.body,\n );\n};\n\nDrawer.displayName = 'Drawer';\n"],"mappings":"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","names":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkGOR642KKcjs = require('./chunk-GOR642KK.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkZ5U4NJTWcjs = require('./chunk-Z5U4NJTW.cjs');
|
|
7
7
|
|
|
8
8
|
// src/components/Button/Button.component.tsx
|
|
9
9
|
var _lucidereact = require('lucide-react');
|
|
@@ -52,11 +52,11 @@ var Button = ({
|
|
|
52
52
|
] }),
|
|
53
53
|
isIconOnly && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "eidos-button--loading-spinner", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.LoaderCircle, { className: "eidos-button--spinner-icon" }) })
|
|
54
54
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
55
|
-
preIcon &&
|
|
56
|
-
isIconOnly && icon ?
|
|
57
|
-
posIcon &&
|
|
55
|
+
preIcon && _chunkGOR642KKcjs.renderIcon.call(void 0, preIcon, "eidos-button--pre-icon"),
|
|
56
|
+
isIconOnly && icon ? _chunkGOR642KKcjs.renderIcon.call(void 0, icon, "eidos-button--icon") : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "eidos-button--copy", children }),
|
|
57
|
+
posIcon && _chunkGOR642KKcjs.renderIcon.call(void 0, posIcon, "eidos-button--pos-icon")
|
|
58
58
|
] }) });
|
|
59
|
-
return tooltip ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
59
|
+
return tooltip ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5U4NJTWcjs.Tooltip, { message: tooltip, children: buttonContent }) : buttonContent;
|
|
60
60
|
};
|
|
61
61
|
var IconButton = (props) => {
|
|
62
62
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Button, { ...props });
|
|
@@ -66,4 +66,4 @@ var IconButton = (props) => {
|
|
|
66
66
|
|
|
67
67
|
|
|
68
68
|
exports.Button = Button; exports.IconButton = IconButton;
|
|
69
|
-
//# sourceMappingURL=chunk-
|
|
69
|
+
//# sourceMappingURL=chunk-A7Z2QAFZ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-A7Z2QAFZ.cjs","../src/components/Button/Button.component.tsx"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACNA,2CAA6B;AAoDjB,+CAAA;AA/CL,IAAM,OAAA,EAAgC,CAAC;AAAA,EAC5C,QAAA,EAAU,QAAA;AAAA,EACV,MAAA,EAAQ,SAAA;AAAA,EACR,KAAA,EAAO,IAAA;AAAA,EACP,SAAA,EAAW,KAAA;AAAA,EACX,QAAA,EAAU,KAAA;AAAA,EACV,YAAA,EAAc,YAAA;AAAA,EACd,OAAA;AAAA,EACA,UAAA,EAAY,EAAA;AAAA,EACZ,OAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAA,GAAM;AACJ,EAAA,MAAM,WAAA,EAAa,CAAC,CAAC,IAAA;AAErB,EAAA,GAAA,CAAI,UAAA,EAAY;AACd,IAAA,GAAA,CAAI,QAAA,EAAU;AACZ,MAAA,MAAM,IAAI,KAAA,CAAM,wCAAwC,CAAA;AAAA,IAC1D;AACA,IAAA,GAAA,CAAI,OAAA,EAAS;AACX,MAAA,MAAM,IAAI,KAAA,CAAM,uCAAuC,CAAA;AAAA,IACzD;AACA,IAAA,GAAA,CAAI,OAAA,EAAS;AACX,MAAA,MAAM,IAAI,KAAA,CAAM,uCAAuC,CAAA;AAAA,IACzD;AAAA,EACF;AAEA,EAAA,MAAM,cAAA,EAAgB;AAAA,IACpB,cAAA;AAAA,IACA,CAAA,cAAA,EAAiB,OAAO,CAAA,CAAA;AACF,IAAA;AACD,IAAA;AACP,IAAA;AACF,IAAA;AACD,IAAA;AACX,IAAA;AAGS,EAAA;AAGT,EAAA;AAIQ,IAAA;AACG,sBAAA;AAGA,sBAAA;AACH,IAAA;AAGA,IAAA;AAMJ,EAAA;AACyB,IAAA;AAGrB,IAAA;AAKqB,IAAA;AAG7B,EAAA;AAGe,EAAA;AACnB;AAagE;AACtD,EAAA;AACV;ADnC6B;AACA;AACA;AACA;AACA","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-A7Z2QAFZ.cjs","sourcesContent":[null,"import React from 'react';\nimport { LoaderCircle } from 'lucide-react';\nimport { Tooltip } from '../Tooltip';\nimport { ButtonProps, IconButtonProps } from './Button.types';\nimport { renderIcon } from '../../utils';\n\nexport const Button: React.FC<ButtonProps> = ({\n variant = 'filled',\n color = 'primary',\n size = 'md',\n disabled = false,\n loading = false,\n loadingText = 'Loading...',\n tooltip,\n className = '',\n preIcon,\n posIcon,\n icon,\n children,\n ...buttonProps\n}) => {\n const isIconOnly = !!icon;\n\n if (isIconOnly) {\n if (children) {\n throw new Error('Icon-only buttons cannot have children');\n }\n if (preIcon) {\n throw new Error('Icon-only buttons cannot have preIcon');\n }\n if (posIcon) {\n throw new Error('Icon-only buttons cannot have posIcon');\n }\n }\n\n const buttonClasses = [\n 'eidos-button',\n `eidos-button--${variant}`,\n `eidos-button--${color}`,\n `eidos-button--${size}`,\n isIconOnly && 'eidos-button--icon-only',\n disabled && 'eidos-button--disabled',\n loading && 'eidos-button--loading',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const buttonContent = (\n <button type=\"button\" {...buttonProps} className={buttonClasses} disabled={disabled || loading}>\n {loading ? (\n <>\n {!isIconOnly && (\n <>\n <span className=\"eidos-button--loading-spinner\">\n <LoaderCircle className=\"eidos-button--spinner-icon\" />\n </span>\n <span className=\"eidos-button--copy\">{loadingText}</span>\n </>\n )}\n {isIconOnly && (\n <span className=\"eidos-button--loading-spinner\">\n <LoaderCircle className=\"eidos-button--spinner-icon\" />\n </span>\n )}\n </>\n ) : (\n <>\n {preIcon && renderIcon(preIcon, 'eidos-button--pre-icon')}\n\n {isIconOnly && icon ? (\n renderIcon(icon, 'eidos-button--icon')\n ) : (\n <span className=\"eidos-button--copy\">{children}</span>\n )}\n\n {posIcon && renderIcon(posIcon, 'eidos-button--pos-icon')}\n </>\n )}\n </button>\n );\n\n return tooltip ? <Tooltip message={tooltip}>{buttonContent}</Tooltip> : buttonContent;\n};\n\n/**\n * IconButton - Convenience wrapper for icon-only buttons\n *\n * @example\n * ```tsx\n * import { IconButton } from 'eidos-ui';\n * import { Plus } from 'lucide-react';\n *\n * <IconButton icon={Plus} tooltip=\"Add item\" />\n * ```\n */\nexport const IconButton: React.FC<IconButtonProps> = (props) => {\n return <Button {...props} />;\n};\n"]}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Avatar
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XJBWFDDE.js";
|
|
4
4
|
import {
|
|
5
5
|
IconButton
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-WIE7HDIM.js";
|
|
7
7
|
import {
|
|
8
8
|
renderIcon
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-5CLC3FJO.js";
|
|
10
10
|
import {
|
|
11
11
|
Tooltip
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-YV57RSPD.js";
|
|
13
13
|
|
|
14
14
|
// src/components/Navigation/Navigation.component.tsx
|
|
15
15
|
import { useCallback, useEffect, useState } from "react";
|
|
@@ -122,4 +122,4 @@ Navigation.displayName = "Navigation";
|
|
|
122
122
|
export {
|
|
123
123
|
Navigation
|
|
124
124
|
};
|
|
125
|
-
//# sourceMappingURL=chunk-
|
|
125
|
+
//# sourceMappingURL=chunk-ALGX5X4N.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Navigation/Navigation.component.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react';\nimport { SquareChevronLeft, SquareChevronRight } from 'lucide-react';\nimport type { NavigationLogo, NavigationProps } from './Navigation.types';\nimport { Avatar } from '../Avatar';\nimport { IconButton } from '../Button';\nimport { Tooltip } from '../Tooltip';\nimport { renderIcon } from '../../utils';\nimport './Navigation.scss';\n\n/**\n * Renders a custom brand logo, guaranteeing correct aspect-ratio rendering\n * regardless of whether the source image is vertical, horizontal, or square\n * - and regardless of how much width is actually available, expanded or\n * collapsed. Deliberately no JS sizing/measurement at all: a fixed `height`,\n * `width: auto` (derived from the image's own intrinsic ratio), a `max-width`\n * expressed as `min(72px, 100%)` (see `.eidos-navigation__brand-logo` in\n * Navigation.scss) so it never renders wider than whatever space its\n * container - the rail, expanded or collapsed - actually has, and\n * `object-fit: contain` so it's letterboxed rather than distorted if that\n * ever clamps it below its natural width-at-32px-tall. Centering is handled\n * separately, at the row level - see `&__brand--logo-only` in Navigation.scss.\n */\nconst NavigationBrandLogo: React.FC<{ logo: NavigationLogo }> = ({ logo }) => (\n <img src={logo.src} alt={logo.alt} className=\"eidos-navigation__brand-logo\" />\n);\n\nexport const Navigation: React.FC<NavigationProps> = ({\n brand,\n items,\n footer,\n collapsed: collapsedProp,\n defaultCollapsed = false,\n onCollapsedChange,\n collapseBelow = 768,\n collapsible = true,\n className = '',\n}) => {\n // ── Controlled / uncontrolled collapsed state ─────────────────────────────\n // Mirrors CommandPalette's `open`/`defaultOpen` pattern - omitting\n // `collapsed` lets Navigation own its state entirely, while passing it\n // (+ `onCollapsedChange`) keeps full external control for consumers who\n // need to persist the preference or drive it from a responsive breakpoint.\n const isControlled = collapsedProp !== undefined;\n const [internalCollapsed, setInternalCollapsed] = useState(defaultCollapsed);\n const collapsed = isControlled ? collapsedProp : internalCollapsed;\n\n // Shared by the manual toggle button and `collapseBelow` below - uncontrolled\n // flips the internal state directly, controlled defers to `onCollapsedChange`\n // since Navigation can't change `collapsed` itself.\n const applyCollapsed = useCallback(\n (next: boolean) => {\n if (!isControlled) setInternalCollapsed(next);\n onCollapsedChange?.(next);\n },\n [isControlled, onCollapsedChange],\n );\n\n const toggleCollapsed = useCallback(() => {\n applyCollapsed(!collapsed);\n }, [applyCollapsed, collapsed]);\n\n // Auto-collapse/expand at a viewport breakpoint. `matchMedia`'s `change`\n // event only fires exactly at the crossing point, not on every resize\n // tick, so a manual toggle in between crossings is left alone until the\n // viewport actually crosses the breakpoint again.\n useEffect(() => {\n if (collapseBelow === undefined) return;\n if (typeof window === 'undefined' || !window.matchMedia) return;\n\n const query = window.matchMedia(`(max-width: ${collapseBelow}px)`);\n\n applyCollapsed(query.matches);\n\n const handleChange = (e: MediaQueryListEvent) => applyCollapsed(e.matches);\n query.addEventListener('change', handleChange);\n return () => query.removeEventListener('change', handleChange);\n }, [collapseBelow, applyCollapsed]);\n\n const classes = ['eidos-navigation', collapsed && 'eidos-navigation--collapsed', className]\n .filter(Boolean)\n .join(' ');\n\n // A `logo` brand has no `name` text alongside it (see the discriminated\n // union in Navigation.types.ts), so there's never a second, variable-width\n // sibling competing for space - unlike the `name` variant, it's always\n // safe to just center it outright, in both expanded and collapsed states,\n // with nothing further to compute. See `&__brand--logo-only` in\n // Navigation.scss.\n const brandClasses = [\n 'eidos-navigation__brand',\n brand.logo && 'eidos-navigation__brand--logo-only',\n brand.onClick && 'eidos-navigation__brand--clickable',\n ]\n .filter(Boolean)\n .join(' ');\n\n const brandAccessibleName = brand.logo ? brand.logo.alt : brand.name;\n\n return (\n <nav className={classes} aria-label=\"Main\">\n <div\n className={brandClasses}\n onClick={brand.onClick}\n role={brand.onClick ? 'button' : undefined}\n tabIndex={brand.onClick ? 0 : undefined}\n // Only a real interactive control (role=\"button\") reliably exposes\n // `aria-label` as its accessible name - a plain, non-interactive div\n // doesn't, so the visible (if currently faded) text remains the only\n // way assistive tech gets the brand name in that case.\n aria-label={brand.onClick ? brandAccessibleName : undefined}\n onKeyDown={\n brand.onClick\n ? (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n brand.onClick?.();\n }\n }\n : undefined\n }\n >\n {brand.logo ? (\n <NavigationBrandLogo logo={brand.logo} />\n ) : (\n <>\n <Avatar name={brand.name} shape=\"square\" size=\"sm\" />\n {/* Only redundant with the wrapper's own `aria-label` when\n `brand.onClick` is set (see the note on it above) - otherwise\n this is the only accessible text for the brand at all. */}\n <span\n className=\"eidos-navigation__brand-name\"\n aria-hidden={brand.onClick ? true : undefined}\n >\n {brand.name}\n </span>\n </>\n )}\n </div>\n\n <ul className=\"eidos-navigation__items\">\n {items.map((item) => (\n <li key={item.id} className=\"eidos-navigation__item-wrapper\">\n {/* Always wrapped (disabled rather than omitted while expanded)\n so the button underneath is never unmounted/remounted across\n a collapse toggle - that would otherwise reset its own CSS\n transitions (gap, padding, justify-content) partway through\n the rail's width animation, snapping instead of easing. */}\n <Tooltip message={item.label} placement=\"right\" disabled={!collapsed}>\n <button\n type=\"button\"\n className={[\n 'eidos-navigation__item',\n item.active && 'eidos-navigation__item--active',\n ]\n .filter(Boolean)\n .join(' ')}\n disabled={item.disabled}\n onClick={item.onClick}\n aria-current={item.active ? 'page' : undefined}\n // The label fades out visually while collapsed (see\n // `.eidos-navigation__item-label` in Navigation.scss) but\n // isn't removed from the DOM, so it's given directly as the\n // accessible name here instead of relying on the (also\n // fading) visible text, and hidden from assistive tech below\n // to avoid it being announced twice alongside the `Tooltip`.\n aria-label={collapsed ? item.label : undefined}\n >\n {item.icon && renderIcon(item.icon, 'eidos-navigation__item-icon')}\n <span className=\"eidos-navigation__item-label\" aria-hidden={collapsed || undefined}>\n {item.label}\n </span>\n </button>\n </Tooltip>\n </li>\n ))}\n </ul>\n\n {footer && <div className=\"eidos-navigation__footer\">{footer}</div>}\n\n {/* Floats half in/half out of the rail's right edge (see `&__toggle`\n in Navigation.scss) rather than sitting in its own row - a\n dedicated row reserved space in the flex column even when there\n were too few items to need it.\n\n The positioning has to live on this wrapping `<span>`, not on the\n `IconButton` itself: its `tooltip` prop makes `Button` wrap it in\n `Tooltip`'s own `.eidos-tooltip-trigger` div, which - not the\n button - is the actual flex child of `.eidos-navigation`. Removing\n only the inner button from flow left that outer wrapper still\n in-flow, still consuming space and still getting `gap` applied\n around it, which is exactly why a gap remained. */}\n {collapsible && (\n <span className=\"eidos-navigation__toggle\">\n <IconButton\n icon={collapsed ? SquareChevronRight : SquareChevronLeft}\n variant=\"text\"\n color=\"secondary\"\n size=\"sm\"\n tooltip={collapsed ? 'Expand navigation' : 'Collapse navigation'}\n aria-label={collapsed ? 'Expand navigation' : 'Collapse navigation'}\n onClick={toggleCollapsed}\n />\n </span>\n )}\n </nav>\n );\n};\n\nNavigation.displayName = 'Navigation';\n"],"mappings":"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","names":[]}
|
|
@@ -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/Snackbar/Snackbar.context.tsx
|
|
6
6
|
var _react = require('react');
|
|
@@ -116,7 +116,7 @@ var SnackbarComponent = ({ snackbar, onClose }) => {
|
|
|
116
116
|
children: [
|
|
117
117
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-snackbar-content", children: renderContent() }),
|
|
118
118
|
action && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-snackbar-actions", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
119
|
-
|
|
119
|
+
_chunkA7Z2QAFZcjs.Button,
|
|
120
120
|
{
|
|
121
121
|
variant: action.variant === "primary" ? "filled" : "text",
|
|
122
122
|
size: "sm",
|
|
@@ -235,4 +235,4 @@ var useSnackbar = () => {
|
|
|
235
235
|
|
|
236
236
|
|
|
237
237
|
exports.useSnackbarContext = useSnackbarContext; exports.SnackbarProvider = SnackbarProvider; exports.SnackbarContainer = SnackbarContainer; exports.useSnackbar = useSnackbar;
|
|
238
|
-
//# sourceMappingURL=chunk-
|
|
238
|
+
//# sourceMappingURL=chunk-AYMD4D4M.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-AYMD4D4M.cjs","../src/components/Snackbar/Snackbar.context.tsx","../src/components/Snackbar/SnackbarContainer.component.tsx","../src/components/Snackbar/Snackbar.component.tsx","../src/components/Snackbar/Snackbar.hooks.ts"],"names":["jsx","useCallback"],"mappings":"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","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-AYMD4D4M.cjs","sourcesContent":[null,"import React, { createContext, useContext, useState, useCallback, useRef } from 'react';\nimport type { SnackbarContextValue, SnackbarItem, SnackbarProps } from './Snackbar.types';\n\nconst SnackbarContext = createContext<SnackbarContextValue | undefined>(undefined);\n\nexport const useSnackbarContext = (): SnackbarContextValue => {\n const context = useContext(SnackbarContext);\n if (!context) {\n throw new Error('useSnackbarContext must be used within a SnackbarProvider');\n }\n return context;\n};\n\ninterface SnackbarProviderProps {\n children: React.ReactNode;\n}\n\nexport const SnackbarProvider: React.FC<SnackbarProviderProps> = ({ children }) => {\n const [snackbars, setSnackbars] = useState<SnackbarItem[]>([]);\n // Mirror state in a ref so removeSnackbar can read current items synchronously\n // without placing side-effects inside a setState updater (which StrictMode calls twice).\n const snackbarsRef = useRef<SnackbarItem[]>([]);\n snackbarsRef.current = snackbars;\n\n const generateId = useCallback((): string => {\n return `snackbar-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;\n }, []);\n\n const removeSnackbar = useCallback((id: string): void => {\n // Read from ref - safe to call outside a setState updater.\n // Calling side-effects inside a setState updater is wrong: React StrictMode\n // deliberately invokes updaters twice, which would fire onClose 2× from here\n // plus 1× from SnackbarComponent.handleClose = 3× total.\n const snackbar = snackbarsRef.current.find((item) => item.id === id);\n if (snackbar?.onClose) {\n snackbar.onClose(id);\n }\n\n // Transition to exiting state, then remove after the CSS animation (300ms).\n setSnackbars((prev) =>\n prev.map((item) => (item.id === id ? { ...item, state: 'exiting' } : item)),\n );\n\n setTimeout(() => {\n setSnackbars((prev) => prev.filter((item) => item.id !== id));\n }, 300);\n }, []);\n\n const addSnackbar = useCallback(\n (snackbar: Omit<SnackbarProps, 'id'>): string => {\n const id = generateId();\n const newSnackbar: SnackbarItem = {\n ...snackbar,\n id,\n state: 'entering',\n createdAt: Date.now(),\n };\n\n setSnackbars((prev) => [newSnackbar, ...prev]); // Add to beginning (newest on top)\n\n // Use requestAnimationFrame to ensure DOM is rendered before animation\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n setSnackbars((prev) =>\n prev.map((item) => (item.id === id ? { ...item, state: 'entered' } : item)),\n );\n });\n });\n\n // Auto-close if duration is set\n if (snackbar.duration && snackbar.duration > 0) {\n setTimeout(() => {\n removeSnackbar(id);\n }, snackbar.duration);\n }\n\n return id;\n },\n [generateId, removeSnackbar],\n );\n\n const clearAllSnackbars = useCallback((): void => {\n // Transition all to exiting state\n setSnackbars((prev) => prev.map((item) => ({ ...item, state: 'exiting' })));\n\n // Remove all after animation completes (300ms to match CSS animation)\n setTimeout(() => {\n setSnackbars([]);\n }, 300);\n }, []);\n\n const contextValue: SnackbarContextValue = {\n snackbars,\n addSnackbar,\n removeSnackbar,\n clearAllSnackbars,\n };\n\n return <SnackbarContext.Provider value={contextValue}>{children}</SnackbarContext.Provider>;\n};\n\nSnackbarProvider.displayName = 'SnackbarProvider';\n","import React from 'react';\nimport { createPortal } from 'react-dom';\nimport { useSnackbarContext } from './Snackbar.context';\nimport { SnackbarComponent } from './Snackbar.component';\n\nexport const SnackbarContainer: React.FC = () => {\n const { snackbars, removeSnackbar } = useSnackbarContext();\n\n if (snackbars.length === 0) {\n return null;\n }\n\n return createPortal(\n <div className={'eidos-snackbar-container'}>\n {snackbars.map((snackbar) => (\n <div key={snackbar.id} className={'eidos-snackbar-wrapper'}>\n <SnackbarComponent snackbar={snackbar} onClose={removeSnackbar} />\n </div>\n ))}\n </div>,\n document.body,\n );\n};\n\nSnackbarContainer.displayName = 'SnackbarContainer';\n","import React from 'react';\nimport { X } from 'lucide-react';\nimport { Button } from '../Button/Button.component';\nimport type { SnackbarItem } from './Snackbar.types';\n\ninterface SnackbarComponentProps {\n snackbar: SnackbarItem;\n onClose: (id: string) => void;\n}\n\nexport const SnackbarComponent: React.FC<SnackbarComponentProps> = ({ snackbar, onClose }) => {\n const {\n id,\n variant = 'info',\n message,\n component: Component,\n componentProps,\n action,\n state,\n } = snackbar;\n\n const handleClose = () => {\n // onClose callback is fired by removeSnackbar (context) to cover both\n // manual and auto-close paths without duplication.\n onClose(id);\n };\n\n const handleActionClick = () => {\n if (action?.onClick) {\n action.onClick();\n }\n };\n\n // Render content based on type\n const renderContent = () => {\n if (message) {\n return <span className={'eidos-snackbar-message'}>{message}</span>;\n }\n if (Component) {\n return <Component {...(componentProps || {})} />;\n }\n return null;\n };\n\n return (\n <div\n className={`eidos-snackbar eidos-snackbar--${variant} eidos-snackbar--${state} ${snackbar.className || ''}`}\n role=\"alert\"\n aria-live=\"polite\"\n >\n <div className={'eidos-snackbar-content'}>{renderContent()}</div>\n\n {action && (\n <div className={'eidos-snackbar-actions'}>\n <Button\n variant={action.variant === 'primary' ? 'filled' : 'text'}\n size=\"sm\"\n onClick={handleActionClick}\n className={'eidos-snackbar-action-button'}\n >\n {action.label}\n </Button>\n </div>\n )}\n\n <button\n className={'eidos-snackbar-close-button'}\n onClick={handleClose}\n aria-label=\"Close notification\"\n type=\"button\"\n >\n <X className={'eidos-snackbar-close-icon'} />\n </button>\n </div>\n );\n};\n\nSnackbarComponent.displayName = 'SnackbarComponent';\n","import { useCallback } from 'react';\nimport { useSnackbarContext } from './Snackbar.context';\nimport type { UseSnackbarReturn, SnackbarProps } from './Snackbar.types';\n\nexport const useSnackbar = (): UseSnackbarReturn => {\n const { addSnackbar, removeSnackbar, clearAllSnackbars } = useSnackbarContext();\n\n const showSnackbar = useCallback(\n (snackbar: Omit<SnackbarProps, 'id'>): string => {\n return addSnackbar(snackbar);\n },\n [addSnackbar],\n );\n\n const hideSnackbar = useCallback(\n (id: string): void => {\n removeSnackbar(id);\n },\n [removeSnackbar],\n );\n\n const clearAll = useCallback((): void => {\n clearAllSnackbars();\n }, [clearAllSnackbars]);\n\n const showSuccess = useCallback(\n (message: string, options?: Partial<Omit<SnackbarProps, 'id' | 'message' | 'variant'>>) => {\n return showSnackbar({\n message,\n variant: 'success',\n duration: 5000,\n ...options,\n });\n },\n [showSnackbar],\n );\n\n const showError = useCallback(\n (message: string, options?: Partial<Omit<SnackbarProps, 'id' | 'message' | 'variant'>>) => {\n return showSnackbar({\n message,\n variant: 'danger',\n duration: 5000,\n ...options,\n });\n },\n [showSnackbar],\n );\n\n const showWarning = useCallback(\n (message: string, options?: Partial<Omit<SnackbarProps, 'id' | 'message' | 'variant'>>) => {\n return showSnackbar({\n message,\n variant: 'warning',\n duration: 5000,\n ...options,\n });\n },\n [showSnackbar],\n );\n\n const showInfo = useCallback(\n (message: string, options?: Partial<Omit<SnackbarProps, 'id' | 'message' | 'variant'>>) => {\n return showSnackbar({\n message,\n variant: 'info',\n duration: 5000,\n ...options,\n });\n },\n [showSnackbar],\n );\n\n return {\n showSnackbar,\n hideSnackbar,\n clearAll,\n showSuccess,\n showError,\n showWarning,\n showInfo,\n };\n};\n\nexport default useSnackbar;\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderIcon
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5CLC3FJO.js";
|
|
4
4
|
import {
|
|
5
5
|
Tooltip
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-YV57RSPD.js";
|
|
7
7
|
|
|
8
8
|
// src/components/SegmentedControl/SegmentedControl.component.tsx
|
|
9
9
|
import React, { useState } from "react";
|
|
@@ -64,4 +64,4 @@ var SegmentedControl = ({
|
|
|
64
64
|
export {
|
|
65
65
|
SegmentedControl
|
|
66
66
|
};
|
|
67
|
-
//# sourceMappingURL=chunk-
|
|
67
|
+
//# sourceMappingURL=chunk-BOB5JJ7F.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/SegmentedControl/SegmentedControl.component.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Tooltip } from '../Tooltip';\nimport { renderIcon } from '../../utils';\nimport type { SegmentedControlProps } from './SegmentedControl.types';\n\n/**\n * SegmentedControl - a compact, single-select toggle group rendered as a pill.\n *\n * Semantics: `role=\"radiogroup\"` on the container, `role=\"radio\"` on each\n * segment. Supports controlled and uncontrolled usage.\n *\n * @example\n * ```tsx\n * // Controlled\n * const [view, setView] = useState('list');\n * <SegmentedControl\n * options={[\n * { value: 'list', icon: List, tooltip: 'List view' },\n * { value: 'grid', icon: LayoutGrid, tooltip: 'Grid view' },\n * { value: 'table', icon: Table2, tooltip: 'Table view' },\n * ]}\n * value={view}\n * onChange={setView}\n * />\n *\n * // With labels\n * <SegmentedControl\n * options={[\n * { value: 'day', label: 'Day' },\n * { value: 'week', label: 'Week' },\n * { value: 'month', label: 'Month' },\n * ]}\n * defaultValue=\"week\"\n * onChange={console.log}\n * />\n * ```\n */\nexport const SegmentedControl: React.FC<SegmentedControlProps> = ({\n options,\n value,\n defaultValue,\n onChange,\n size = 'md',\n color = 'primary',\n disabled = false,\n fullWidth = false,\n className = '',\n}) => {\n const isControlled = value !== undefined;\n const [internalValue, setInternalValue] = useState<string>(\n defaultValue ?? options[0]?.value ?? '',\n );\n\n const activeValue = isControlled ? value : internalValue;\n\n const handleSelect = (optValue: string) => {\n if (disabled) return;\n if (optValue === activeValue) return; // already selected\n if (!isControlled) setInternalValue(optValue);\n onChange?.(optValue);\n };\n\n const containerClasses = [\n 'eidos-segmented',\n `eidos-segmented--${size}`,\n `eidos-segmented--${color}`,\n disabled && 'eidos-segmented--disabled',\n fullWidth && 'eidos-segmented--full-width',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={containerClasses} role=\"radiogroup\">\n {options.map((opt) => {\n const isActive = activeValue === opt.value;\n const isDisabled = disabled || !!opt.disabled;\n\n const segment = (\n <button\n key={opt.value}\n type=\"button\"\n role=\"radio\"\n aria-checked={isActive}\n disabled={isDisabled}\n className={['eidos-segmented-item', isActive && 'eidos-segmented-item--active']\n .filter(Boolean)\n .join(' ')}\n onClick={() => !isDisabled && handleSelect(opt.value)}\n >\n {opt.icon && renderIcon(opt.icon, 'eidos-segmented-icon')}\n {opt.label && <span className=\"eidos-segmented-label\">{opt.label}</span>}\n </button>\n );\n\n return opt.tooltip ? (\n <Tooltip key={opt.value} message={opt.tooltip}>\n {segment}\n </Tooltip>\n ) : (\n React.cloneElement(segment, { key: opt.value })\n );\n })}\n </div>\n );\n};\n"],"mappings":";;;;;;;;AAAA,OAAO,SAAS,gBAAgB;AAgFtB,SAYgB,KAZhB;AA3CH,IAAM,mBAAoD,CAAC;AAAA,EAChE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AACd,MAAM;AACJ,QAAM,eAAe,UAAU;AAC/B,QAAM,CAAC,eAAe,gBAAgB,IAAI;AAAA,IACxC,gBAAgB,QAAQ,CAAC,GAAG,SAAS;AAAA,EACvC;AAEA,QAAM,cAAc,eAAe,QAAQ;AAE3C,QAAM,eAAe,CAAC,aAAqB;AACzC,QAAI,SAAU;AACd,QAAI,aAAa,YAAa;AAC9B,QAAI,CAAC,aAAc,kBAAiB,QAAQ;AAC5C,eAAW,QAAQ;AAAA,EACrB;AAEA,QAAM,mBAAmB;AAAA,IACvB;AAAA,IACA,oBAAoB,IAAI;AAAA,IACxB,oBAAoB,KAAK;AAAA,IACzB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb;AAAA,EACF,EACG,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,oBAAC,SAAI,WAAW,kBAAkB,MAAK,cACpC,kBAAQ,IAAI,CAAC,QAAQ;AACpB,UAAM,WAAW,gBAAgB,IAAI;AACrC,UAAM,aAAa,YAAY,CAAC,CAAC,IAAI;AAErC,UAAM,UACJ;AAAA,MAAC;AAAA;AAAA,QAEC,MAAK;AAAA,QACL,MAAK;AAAA,QACL,gBAAc;AAAA,QACd,UAAU;AAAA,QACV,WAAW,CAAC,wBAAwB,YAAY,8BAA8B,EAC3E,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,QACX,SAAS,MAAM,CAAC,cAAc,aAAa,IAAI,KAAK;AAAA,QAEnD;AAAA,cAAI,QAAQ,WAAW,IAAI,MAAM,sBAAsB;AAAA,UACvD,IAAI,SAAS,oBAAC,UAAK,WAAU,yBAAyB,cAAI,OAAM;AAAA;AAAA;AAAA,MAX5D,IAAI;AAAA,IAYX;AAGF,WAAO,IAAI,UACT,oBAAC,WAAwB,SAAS,IAAI,SACnC,qBADW,IAAI,KAElB,IAEA,MAAM,aAAa,SAAS,EAAE,KAAK,IAAI,MAAM,CAAC;AAAA,EAElD,CAAC,GACH;AAEJ;","names":[]}
|