eidos-ui 3.2.1 → 3.4.0
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/README.md +17 -5
- package/dist/{Input.types-XrJTI0JC.d.ts → Input.types-CSDMaZNe.d.ts} +10 -0
- package/dist/{Input.types-DFZNyJGF.d.cts → Input.types-D7-sWq-q.d.cts} +10 -0
- package/dist/{Select.types-CAkT2ACt.d.cts → Select.types-2p-mpaBL.d.cts} +1 -1
- package/dist/{Select.types-B4kDpkGB.d.ts → Select.types-BqaD7bmB.d.ts} +1 -1
- package/dist/alert/index.cjs +5 -5
- package/dist/alert/index.js +4 -4
- package/dist/button/index.cjs +4 -4
- package/dist/button/index.js +3 -3
- package/dist/checkbox/index.cjs +2 -2
- package/dist/checkbox/index.js +1 -1
- package/dist/chip/index.cjs +4 -4
- package/dist/chip/index.js +3 -3
- package/dist/{chunk-RYOQYYDO.js → chunk-22EKNTWJ.js} +9 -5
- package/dist/chunk-22EKNTWJ.js.map +1 -0
- package/dist/{chunk-3E7TKBQI.cjs → chunk-27UANGPW.cjs} +14 -6
- package/dist/chunk-27UANGPW.cjs.map +1 -0
- package/dist/{chunk-CJGFRPAS.cjs → chunk-3QQKWXMV.cjs} +4 -4
- package/dist/chunk-3QQKWXMV.cjs.map +1 -0
- package/dist/{chunk-R3WPVTGY.cjs → chunk-3S33BIN2.cjs} +23 -21
- package/dist/chunk-3S33BIN2.cjs.map +1 -0
- package/dist/{chunk-ZPDETHQ7.js → chunk-3WV6RTXX.js} +3 -3
- package/dist/{chunk-ZPDETHQ7.js.map → chunk-3WV6RTXX.js.map} +1 -1
- package/dist/chunk-44T4HMFU.js +88 -0
- package/dist/chunk-44T4HMFU.js.map +1 -0
- package/dist/{chunk-3EPND5M2.cjs → chunk-4LET2PEX.cjs} +12 -12
- package/dist/chunk-4LET2PEX.cjs.map +1 -0
- package/dist/{chunk-VRQBDTLT.cjs → chunk-5E4DYTZ3.cjs} +48 -37
- package/dist/chunk-5E4DYTZ3.cjs.map +1 -0
- package/dist/{chunk-EL3YXTOW.cjs → chunk-5V7DXZWT.cjs} +79 -76
- package/dist/chunk-5V7DXZWT.cjs.map +1 -0
- package/dist/{chunk-2R77XZEP.js → chunk-67EXHO4T.js} +2 -4
- package/dist/{chunk-2R77XZEP.js.map → chunk-67EXHO4T.js.map} +1 -1
- package/dist/{chunk-HI6WCX4T.cjs → chunk-6LCYO2HG.cjs} +10 -9
- package/dist/chunk-6LCYO2HG.cjs.map +1 -0
- package/dist/{chunk-ZNWIHUHZ.cjs → chunk-7KVXXHFX.cjs} +9 -3
- package/dist/chunk-7KVXXHFX.cjs.map +1 -0
- package/dist/{chunk-55J4LEKT.cjs → chunk-AHVDTWVM.cjs} +11 -8
- package/dist/chunk-AHVDTWVM.cjs.map +1 -0
- package/dist/{chunk-OAPOGYA5.cjs → chunk-AXPEJ5IG.cjs} +7 -4
- package/dist/chunk-AXPEJ5IG.cjs.map +1 -0
- package/dist/{chunk-BHVHM66Z.js → chunk-BBU7QG7L.js} +4 -4
- package/dist/{chunk-T2KB3DJJ.js → chunk-BGBAZMFE.js} +9 -3
- package/dist/chunk-BGBAZMFE.js.map +1 -0
- package/dist/{chunk-EH42ND5Q.cjs → chunk-BIANFFJL.cjs} +5 -5
- package/dist/{chunk-EH42ND5Q.cjs.map → chunk-BIANFFJL.cjs.map} +1 -1
- package/dist/{chunk-O2AACVSF.js → chunk-BO4LTIJI.js} +3 -3
- package/dist/{chunk-ZGT4LT5Y.cjs → chunk-CBT3TTQR.cjs} +36 -36
- package/dist/{chunk-ZGT4LT5Y.cjs.map → chunk-CBT3TTQR.cjs.map} +1 -1
- package/dist/{chunk-JRLUZDKA.js → chunk-CEC3GO4R.js} +20 -7
- package/dist/chunk-CEC3GO4R.js.map +1 -0
- package/dist/{chunk-KNQ6NN6L.js → chunk-CP335H4Q.js} +4 -4
- package/dist/{chunk-H6CWTMAH.js → chunk-DGXHR6FV.js} +5 -2
- package/dist/chunk-DGXHR6FV.js.map +1 -0
- package/dist/{chunk-FALDCW2E.js → chunk-DMOZURHV.js} +2 -2
- package/dist/{chunk-NWJ6NETE.js → chunk-EWTMX4DK.js} +8 -8
- package/dist/{chunk-3RLGH45H.js → chunk-FDMYDIGI.js} +8 -6
- package/dist/chunk-FDMYDIGI.js.map +1 -0
- package/dist/{chunk-LVHZBCTA.cjs → chunk-FODRHCRP.cjs} +5 -4
- package/dist/chunk-FODRHCRP.cjs.map +1 -0
- package/dist/{chunk-QIITXVRG.js → chunk-FPLX5FIK.js} +4 -4
- package/dist/{chunk-NEYLNRVG.cjs → chunk-FXMRDNR6.cjs} +21 -16
- package/dist/chunk-FXMRDNR6.cjs.map +1 -0
- package/dist/{chunk-D2SKXRKP.cjs → chunk-G74DHVHV.cjs} +9 -9
- package/dist/{chunk-D2SKXRKP.cjs.map → chunk-G74DHVHV.cjs.map} +1 -1
- package/dist/{chunk-O3LG7B2J.cjs → chunk-GMDVW76A.cjs} +13 -5
- package/dist/chunk-GMDVW76A.cjs.map +1 -0
- package/dist/{chunk-NQ4L6PYW.js → chunk-GOF6A4M4.js} +2 -2
- package/dist/{chunk-NQ4L6PYW.js.map → chunk-GOF6A4M4.js.map} +1 -1
- package/dist/{chunk-QUDVJUZU.js → chunk-GPK2THIG.js} +7 -6
- package/dist/chunk-GPK2THIG.js.map +1 -0
- package/dist/{chunk-CJVC3A4O.js → chunk-H2RS6Z6Q.js} +44 -27
- package/dist/chunk-H2RS6Z6Q.js.map +1 -0
- package/dist/{chunk-UOOGS6N7.cjs → chunk-H5D3ZFBM.cjs} +68 -61
- package/dist/chunk-H5D3ZFBM.cjs.map +1 -0
- package/dist/{chunk-IYWAZEFI.cjs → chunk-IGFR5TES.cjs} +3 -2
- package/dist/chunk-IGFR5TES.cjs.map +1 -0
- package/dist/{chunk-PR7CVQ4R.js → chunk-IXVM2XNS.js} +7 -6
- package/dist/chunk-IXVM2XNS.js.map +1 -0
- package/dist/{chunk-Q6ICDKQZ.cjs → chunk-JKBBHAIC.cjs} +21 -20
- package/dist/chunk-JKBBHAIC.cjs.map +1 -0
- package/dist/{chunk-QQIALSTX.cjs → chunk-KPMIIGHH.cjs} +27 -17
- package/dist/chunk-KPMIIGHH.cjs.map +1 -0
- package/dist/{chunk-EBSKRZXI.cjs → chunk-KWDOOMHR.cjs} +7 -7
- package/dist/{chunk-EBSKRZXI.cjs.map → chunk-KWDOOMHR.cjs.map} +1 -1
- package/dist/{chunk-BC5I2MYB.js → chunk-LH5A2SIX.js} +78 -75
- package/dist/{chunk-BC5I2MYB.js.map → chunk-LH5A2SIX.js.map} +1 -1
- package/dist/{chunk-2WP27QAN.js → chunk-LIKSLFX6.js} +20 -9
- package/dist/chunk-LIKSLFX6.js.map +1 -0
- package/dist/{chunk-Z5U4NJTW.cjs → chunk-MLUHM3VG.cjs} +48 -19
- package/dist/chunk-MLUHM3VG.cjs.map +1 -0
- package/dist/{chunk-M7PF4FKQ.js → chunk-MP7LN5CW.js} +6 -3
- package/dist/chunk-MP7LN5CW.js.map +1 -0
- package/dist/{chunk-4MZ7HEQC.cjs → chunk-MW4YZVP5.cjs} +96 -97
- package/dist/chunk-MW4YZVP5.cjs.map +1 -0
- package/dist/{chunk-WFEORBLC.cjs → chunk-N5ZWQJTM.cjs} +11 -10
- package/dist/chunk-N5ZWQJTM.cjs.map +1 -0
- package/dist/{chunk-OMLXP2CK.cjs → chunk-N77VOYCK.cjs} +7 -7
- package/dist/{chunk-OMLXP2CK.cjs.map → chunk-N77VOYCK.cjs.map} +1 -1
- package/dist/{chunk-OAK7HFOJ.js → chunk-NACA72XI.js} +21 -16
- package/dist/chunk-NACA72XI.js.map +1 -0
- package/dist/{chunk-TEVZHN5I.cjs → chunk-NCZUQFKL.cjs} +28 -15
- package/dist/chunk-NCZUQFKL.cjs.map +1 -0
- package/dist/{chunk-NZO2I5AL.cjs → chunk-NF55JG2V.cjs} +7 -7
- package/dist/{chunk-NZO2I5AL.cjs.map → chunk-NF55JG2V.cjs.map} +1 -1
- package/dist/{chunk-KBGFDHKD.cjs → chunk-O46UJUZM.cjs} +21 -19
- package/dist/chunk-O46UJUZM.cjs.map +1 -0
- package/dist/{chunk-25PSIDPC.js → chunk-OIXPYXR6.js} +79 -21
- package/dist/chunk-OIXPYXR6.js.map +1 -0
- package/dist/chunk-OWWPHXAF.cjs +88 -0
- package/dist/chunk-OWWPHXAF.cjs.map +1 -0
- package/dist/{chunk-65PC3YDT.cjs → chunk-OZQKWDFH.cjs} +7 -7
- package/dist/{chunk-65PC3YDT.cjs.map → chunk-OZQKWDFH.cjs.map} +1 -1
- package/dist/{chunk-75VXB3H2.cjs → chunk-P7J6WZTO.cjs} +3 -5
- package/dist/chunk-P7J6WZTO.cjs.map +1 -0
- package/dist/{chunk-KQJ3IAFT.js → chunk-PG2EII6U.js} +2 -2
- package/dist/{chunk-6A2ZKVST.cjs → chunk-RUDXHT76.cjs} +47 -30
- package/dist/chunk-RUDXHT76.cjs.map +1 -0
- package/dist/{chunk-S4S4LB63.js → chunk-SCLFJHN2.js} +11 -3
- package/dist/chunk-SCLFJHN2.js.map +1 -0
- package/dist/{chunk-WKDT2XFQ.js → chunk-SFRILDXY.js} +4 -4
- package/dist/{chunk-J5RMLZ4P.cjs → chunk-SKBKTNEQ.cjs} +80 -22
- package/dist/chunk-SKBKTNEQ.cjs.map +1 -0
- package/dist/{chunk-75TDY7XF.cjs → chunk-SKLMBE3Z.cjs} +7 -7
- package/dist/{chunk-75TDY7XF.cjs.map → chunk-SKLMBE3Z.cjs.map} +1 -1
- package/dist/{chunk-PY2376XI.js → chunk-SVCWSW2F.js} +8 -8
- package/dist/chunk-SVCWSW2F.js.map +1 -0
- package/dist/{chunk-2RXQMQYW.js → chunk-SXL4DMZ7.js} +27 -17
- package/dist/{chunk-2RXQMQYW.js.map → chunk-SXL4DMZ7.js.map} +1 -1
- package/dist/{chunk-X3U7SDOZ.js → chunk-TLECMA3B.js} +5 -4
- package/dist/{chunk-X3U7SDOZ.js.map → chunk-TLECMA3B.js.map} +1 -1
- package/dist/{chunk-FXZJL2AM.cjs → chunk-TWXZKUCG.cjs} +9 -5
- package/dist/chunk-TWXZKUCG.cjs.map +1 -0
- package/dist/{chunk-YDPEHUMH.js → chunk-TYGVKSL6.js} +4 -3
- package/dist/chunk-TYGVKSL6.js.map +1 -0
- package/dist/{chunk-I3CSPYHG.cjs → chunk-TYSNOPMQ.cjs} +3 -3
- package/dist/{chunk-I3CSPYHG.cjs.map → chunk-TYSNOPMQ.cjs.map} +1 -1
- package/dist/{chunk-ZZSPQFMX.js → chunk-U233KQZX.js} +2 -1
- package/dist/{chunk-ZZSPQFMX.js.map → chunk-U233KQZX.js.map} +1 -1
- package/dist/{chunk-5HUZYY54.js → chunk-UDRAM6JU.js} +13 -5
- package/dist/chunk-UDRAM6JU.js.map +1 -0
- package/dist/{chunk-TJC7UELT.js → chunk-UGTKZ7HP.js} +30 -23
- package/dist/chunk-UGTKZ7HP.js.map +1 -0
- package/dist/{chunk-FKXKBJUI.cjs → chunk-VHO6JPRR.cjs} +2 -1
- package/dist/chunk-VHO6JPRR.cjs.map +1 -0
- package/dist/chunk-VHSTB7GB.cjs +123 -0
- package/dist/chunk-VHSTB7GB.cjs.map +1 -0
- package/dist/{chunk-ATL7325T.js → chunk-VRNCXYEP.js} +4 -4
- package/dist/{chunk-4ZWAJTNH.js → chunk-WGCGSM5P.js} +96 -97
- package/dist/chunk-WGCGSM5P.js.map +1 -0
- package/dist/chunk-WT4WBHBR.js +123 -0
- package/dist/chunk-WT4WBHBR.js.map +1 -0
- package/dist/{chunk-L23WWO3D.js → chunk-X6UKU3C3.js} +2 -2
- package/dist/{chunk-5WH3JMR5.js → chunk-XK5USBHB.js} +7 -4
- package/dist/chunk-XK5USBHB.js.map +1 -0
- package/dist/{chunk-ND526PMG.cjs → chunk-XMXL6NVJ.cjs} +11 -11
- package/dist/{chunk-ND526PMG.cjs.map → chunk-XMXL6NVJ.cjs.map} +1 -1
- package/dist/{chunk-YV57RSPD.js → chunk-XO7WTE6O.js} +47 -18
- package/dist/chunk-XO7WTE6O.js.map +1 -0
- package/dist/{chunk-3CXULV4G.cjs → chunk-XRVRGRC3.cjs} +2 -2
- package/dist/{chunk-3CXULV4G.cjs.map → chunk-XRVRGRC3.cjs.map} +1 -1
- package/dist/{chunk-O3I3RBZJ.js → chunk-Y55M34RQ.js} +3 -2
- package/dist/chunk-Y55M34RQ.js.map +1 -0
- package/dist/{chunk-QZX3A4FX.js → chunk-Y7VSWZWM.js} +7 -5
- package/dist/chunk-Y7VSWZWM.js.map +1 -0
- package/dist/{chunk-2QEKSRVX.js → chunk-YIBPOLNN.js} +4 -4
- package/dist/{chunk-IJ4DXG7D.cjs → chunk-YJNQLH2L.cjs} +5 -2
- package/dist/chunk-YJNQLH2L.cjs.map +1 -0
- package/dist/{chunk-6CSUUQ5M.cjs → chunk-YUH56CJI.cjs} +6 -6
- package/dist/{chunk-6CSUUQ5M.cjs.map → chunk-YUH56CJI.cjs.map} +1 -1
- package/dist/color-picker/index.cjs +4 -4
- package/dist/color-picker/index.d.cts +8 -0
- package/dist/color-picker/index.d.ts +8 -0
- package/dist/color-picker/index.js +3 -3
- package/dist/combobox/index.cjs +6 -6
- package/dist/combobox/index.js +5 -5
- package/dist/command-palette/index.cjs +3 -2
- package/dist/command-palette/index.cjs.map +1 -1
- package/dist/command-palette/index.js +2 -1
- package/dist/context-menu/index.cjs +6 -6
- package/dist/context-menu/index.js +5 -5
- package/dist/conversation/index.cjs +9 -9
- package/dist/conversation/index.js +8 -8
- package/dist/data-grid/index.cjs +16 -16
- package/dist/data-grid/index.d.cts +2 -2
- package/dist/data-grid/index.d.ts +2 -2
- package/dist/data-grid/index.js +15 -15
- package/dist/date-picker/index.cjs +8 -8
- package/dist/date-picker/index.d.cts +1 -1
- package/dist/date-picker/index.d.ts +1 -1
- package/dist/date-picker/index.js +7 -7
- package/dist/drawer/index.cjs +5 -5
- package/dist/drawer/index.js +4 -4
- package/dist/dropdown/index.cjs +3 -3
- package/dist/dropdown/index.js +2 -2
- package/dist/file-upload/index.cjs +2 -2
- package/dist/file-upload/index.js +1 -1
- package/dist/header/index.cjs +6 -6
- package/dist/header/index.js +5 -5
- package/dist/index.cjs +43 -43
- package/dist/index.css +205 -148
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +42 -42
- package/dist/inline-edit/index.cjs +5 -5
- package/dist/inline-edit/index.js +4 -4
- package/dist/input/index.cjs +4 -4
- package/dist/input/index.d.cts +2 -2
- package/dist/input/index.d.ts +2 -2
- package/dist/input/index.js +3 -3
- package/dist/menu/index.cjs +5 -5
- package/dist/menu/index.js +4 -4
- package/dist/modal/index.cjs +5 -5
- package/dist/modal/index.js +4 -4
- package/dist/navigation/index.cjs +5 -5
- package/dist/navigation/index.js +4 -4
- package/dist/number-input/index.cjs +3 -3
- package/dist/number-input/index.js +2 -2
- package/dist/o-t-p-input/index.cjs +2 -2
- package/dist/o-t-p-input/index.js +1 -1
- package/dist/page-layout/index.cjs +12 -12
- package/dist/page-layout/index.js +11 -11
- package/dist/pagination/index.cjs +8 -8
- package/dist/pagination/index.js +7 -7
- package/dist/popover/index.cjs +3 -2
- package/dist/popover/index.cjs.map +1 -1
- package/dist/popover/index.js +2 -1
- package/dist/radio/index.cjs +2 -2
- package/dist/radio/index.js +1 -1
- package/dist/segmented-control/index.cjs +4 -4
- package/dist/segmented-control/index.js +3 -3
- package/dist/select/index.cjs +6 -6
- package/dist/select/index.d.cts +3 -3
- package/dist/select/index.d.ts +3 -3
- package/dist/select/index.js +5 -5
- package/dist/skeleton/index.cjs +2 -2
- package/dist/skeleton/index.js +1 -1
- package/dist/snackbar/index.cjs +5 -5
- package/dist/snackbar/index.d.cts +4 -0
- package/dist/snackbar/index.d.ts +4 -0
- package/dist/snackbar/index.js +4 -4
- package/dist/split-button/index.cjs +6 -6
- package/dist/split-button/index.js +5 -5
- package/dist/table/index.cjs +14 -14
- package/dist/table/index.js +13 -13
- package/dist/tabs/index.cjs +3 -3
- package/dist/tabs/index.js +2 -2
- package/dist/tag-input/index.cjs +6 -6
- package/dist/tag-input/index.js +5 -5
- package/dist/textarea/index.cjs +4 -4
- package/dist/textarea/index.js +3 -3
- package/dist/theme-editor/index.cjs +11 -11
- package/dist/theme-editor/index.js +10 -10
- package/dist/theme-provider/index.cjs +3 -3
- package/dist/theme-provider/index.js +2 -2
- package/dist/toolbar/index.cjs +8 -8
- package/dist/toolbar/index.js +7 -7
- package/dist/tooltip/index.cjs +3 -2
- package/dist/tooltip/index.cjs.map +1 -1
- package/dist/tooltip/index.js +2 -1
- package/dist/virtual-list/index.cjs +3 -3
- package/dist/virtual-list/index.js +2 -2
- package/package.json +8 -2
- package/dist/chunk-25PSIDPC.js.map +0 -1
- package/dist/chunk-2WP27QAN.js.map +0 -1
- package/dist/chunk-3E7TKBQI.cjs.map +0 -1
- package/dist/chunk-3EPND5M2.cjs.map +0 -1
- package/dist/chunk-3RLGH45H.js.map +0 -1
- package/dist/chunk-4MZ7HEQC.cjs.map +0 -1
- package/dist/chunk-4ZWAJTNH.js.map +0 -1
- package/dist/chunk-55J4LEKT.cjs.map +0 -1
- package/dist/chunk-5HUZYY54.js.map +0 -1
- package/dist/chunk-5WH3JMR5.js.map +0 -1
- package/dist/chunk-6A2ZKVST.cjs.map +0 -1
- package/dist/chunk-75VXB3H2.cjs.map +0 -1
- package/dist/chunk-CJGFRPAS.cjs.map +0 -1
- package/dist/chunk-CJVC3A4O.js.map +0 -1
- package/dist/chunk-CUJBNRJJ.cjs +0 -38
- package/dist/chunk-CUJBNRJJ.cjs.map +0 -1
- package/dist/chunk-EAJHEYZM.js +0 -38
- package/dist/chunk-EAJHEYZM.js.map +0 -1
- package/dist/chunk-EL3YXTOW.cjs.map +0 -1
- package/dist/chunk-FKXKBJUI.cjs.map +0 -1
- package/dist/chunk-FXZJL2AM.cjs.map +0 -1
- package/dist/chunk-H6CWTMAH.js.map +0 -1
- package/dist/chunk-HI6WCX4T.cjs.map +0 -1
- package/dist/chunk-IJ4DXG7D.cjs.map +0 -1
- package/dist/chunk-IYWAZEFI.cjs.map +0 -1
- package/dist/chunk-J5RMLZ4P.cjs.map +0 -1
- package/dist/chunk-JRLUZDKA.js.map +0 -1
- package/dist/chunk-KBGFDHKD.cjs.map +0 -1
- package/dist/chunk-L5Q6UDY3.js +0 -69
- package/dist/chunk-L5Q6UDY3.js.map +0 -1
- package/dist/chunk-LVHZBCTA.cjs.map +0 -1
- package/dist/chunk-M7PF4FKQ.js.map +0 -1
- package/dist/chunk-NEYLNRVG.cjs.map +0 -1
- package/dist/chunk-O3I3RBZJ.js.map +0 -1
- package/dist/chunk-O3LG7B2J.cjs.map +0 -1
- package/dist/chunk-OAK7HFOJ.js.map +0 -1
- package/dist/chunk-OAPOGYA5.cjs.map +0 -1
- package/dist/chunk-PR7CVQ4R.js.map +0 -1
- package/dist/chunk-PY2376XI.js.map +0 -1
- package/dist/chunk-Q6ICDKQZ.cjs.map +0 -1
- package/dist/chunk-QQIALSTX.cjs.map +0 -1
- package/dist/chunk-QUDVJUZU.js.map +0 -1
- package/dist/chunk-QZX3A4FX.js.map +0 -1
- package/dist/chunk-R3WPVTGY.cjs.map +0 -1
- package/dist/chunk-RYOQYYDO.js.map +0 -1
- package/dist/chunk-S4S4LB63.js.map +0 -1
- package/dist/chunk-T2KB3DJJ.js.map +0 -1
- package/dist/chunk-TEVZHN5I.cjs.map +0 -1
- package/dist/chunk-TJC7UELT.js.map +0 -1
- package/dist/chunk-UOOGS6N7.cjs.map +0 -1
- package/dist/chunk-VRQBDTLT.cjs.map +0 -1
- package/dist/chunk-WFEORBLC.cjs.map +0 -1
- package/dist/chunk-WWYJNWJY.cjs +0 -69
- package/dist/chunk-WWYJNWJY.cjs.map +0 -1
- package/dist/chunk-YDPEHUMH.js.map +0 -1
- package/dist/chunk-YV57RSPD.js.map +0 -1
- package/dist/chunk-Z5U4NJTW.cjs.map +0 -1
- package/dist/chunk-ZNWIHUHZ.cjs.map +0 -1
- /package/dist/{chunk-BHVHM66Z.js.map → chunk-BBU7QG7L.js.map} +0 -0
- /package/dist/{chunk-O2AACVSF.js.map → chunk-BO4LTIJI.js.map} +0 -0
- /package/dist/{chunk-KNQ6NN6L.js.map → chunk-CP335H4Q.js.map} +0 -0
- /package/dist/{chunk-FALDCW2E.js.map → chunk-DMOZURHV.js.map} +0 -0
- /package/dist/{chunk-NWJ6NETE.js.map → chunk-EWTMX4DK.js.map} +0 -0
- /package/dist/{chunk-QIITXVRG.js.map → chunk-FPLX5FIK.js.map} +0 -0
- /package/dist/{chunk-KQJ3IAFT.js.map → chunk-PG2EII6U.js.map} +0 -0
- /package/dist/{chunk-WKDT2XFQ.js.map → chunk-SFRILDXY.js.map} +0 -0
- /package/dist/{chunk-ATL7325T.js.map → chunk-VRNCXYEP.js.map} +0 -0
- /package/dist/{chunk-L23WWO3D.js.map → chunk-X6UKU3C3.js.map} +0 -0
- /package/dist/{chunk-2QEKSRVX.js.map → chunk-YIBPOLNN.js.map} +0 -0
package/README.md
CHANGED
|
@@ -189,6 +189,12 @@ npm install
|
|
|
189
189
|
npm run storybook
|
|
190
190
|
```
|
|
191
191
|
|
|
192
|
+
For accessibility, [ACCESSIBILITY.md](./ACCESSIBILITY.md) covers what is tested
|
|
193
|
+
against WCAG 2.2 AA and how, what remains the consuming application's
|
|
194
|
+
responsibility, and what has not been done. It does not claim a conformance
|
|
195
|
+
level - [WCAG §5.2.2](https://www.w3.org/TR/WCAG22/#cc2) defines conformance
|
|
196
|
+
for full pages, so no component library can have one.
|
|
197
|
+
|
|
192
198
|
## Theming
|
|
193
199
|
|
|
194
200
|
Every design token is a CSS custom property. There are two ways to change them, depending on whether the theme is fixed at build time or chosen by the user.
|
|
@@ -200,18 +206,24 @@ Redeclare any token in your own stylesheet:
|
|
|
200
206
|
```css
|
|
201
207
|
:root {
|
|
202
208
|
/* Colours - each family also has -dark, -light, -rgb and -contrast */
|
|
203
|
-
--primary-color: #
|
|
204
|
-
--secondary-color: #
|
|
209
|
+
--primary-color: #0f766e;
|
|
210
|
+
--secondary-color: #4b5563;
|
|
205
211
|
|
|
206
212
|
/* Spacing (em-based, so it scales with font size) */
|
|
207
|
-
--spacing-md: 1em;
|
|
208
|
-
--spacing-lg: 1.
|
|
213
|
+
--spacing-md: 1.1em;
|
|
214
|
+
--spacing-lg: 1.6em;
|
|
209
215
|
|
|
210
216
|
/* Border radius */
|
|
211
|
-
--border-radius-md:
|
|
217
|
+
--border-radius-md: 10px;
|
|
212
218
|
}
|
|
213
219
|
```
|
|
214
220
|
|
|
221
|
+
The values above are deliberately _not_ the defaults - this is what an override
|
|
222
|
+
looks like. For the shipped values, see **Foundations → Colour** (and Typography,
|
|
223
|
+
and Layout) in Storybook: those pages are generated from
|
|
224
|
+
`src/styles/variables.scss` at build time, so they are the one place a token
|
|
225
|
+
value is stated and the only place it cannot go stale.
|
|
226
|
+
|
|
215
227
|
Individual components can also be targeted directly, following each component's `eidos-<name>` BEM-style class names:
|
|
216
228
|
|
|
217
229
|
```css
|
|
@@ -21,6 +21,16 @@ interface BaseInputProps extends Omit<React__default.InputHTMLAttributes<HTMLInp
|
|
|
21
21
|
posIcon?: IconType;
|
|
22
22
|
posIconButton?: boolean;
|
|
23
23
|
onPosIconClick?: () => void;
|
|
24
|
+
/**
|
|
25
|
+
* Accessible name for the `posIconButton`. Required in practice whenever
|
|
26
|
+
* that button is rendered - an icon-only button with no name is announced
|
|
27
|
+
* as just "button", and only the caller knows what the icon means.
|
|
28
|
+
*
|
|
29
|
+
* Omitting it logs a `devWarn` and falls back to a generic name, rather
|
|
30
|
+
* than throwing or silently shipping a nameless control. It is optional
|
|
31
|
+
* only to avoid a breaking change; treat it as required.
|
|
32
|
+
*/
|
|
33
|
+
posIconLabel?: string;
|
|
24
34
|
required?: boolean;
|
|
25
35
|
isSelect?: boolean;
|
|
26
36
|
clearable?: boolean;
|
|
@@ -21,6 +21,16 @@ interface BaseInputProps extends Omit<React__default.InputHTMLAttributes<HTMLInp
|
|
|
21
21
|
posIcon?: IconType;
|
|
22
22
|
posIconButton?: boolean;
|
|
23
23
|
onPosIconClick?: () => void;
|
|
24
|
+
/**
|
|
25
|
+
* Accessible name for the `posIconButton`. Required in practice whenever
|
|
26
|
+
* that button is rendered - an icon-only button with no name is announced
|
|
27
|
+
* as just "button", and only the caller knows what the icon means.
|
|
28
|
+
*
|
|
29
|
+
* Omitting it logs a `devWarn` and falls back to a generic name, rather
|
|
30
|
+
* than throwing or silently shipping a nameless control. It is optional
|
|
31
|
+
* only to avoid a breaking change; treat it as required.
|
|
32
|
+
*/
|
|
33
|
+
posIconLabel?: string;
|
|
24
34
|
required?: boolean;
|
|
25
35
|
isSelect?: boolean;
|
|
26
36
|
clearable?: boolean;
|
package/dist/alert/index.cjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../chunk-
|
|
3
|
+
var _chunkBIANFFJLcjs = require('../chunk-BIANFFJL.cjs');
|
|
4
|
+
require('../chunk-OWWPHXAF.cjs');
|
|
5
5
|
require('../chunk-I6UOIS4J.cjs');
|
|
6
|
-
require('../chunk-
|
|
7
|
-
require('../chunk-
|
|
6
|
+
require('../chunk-MLUHM3VG.cjs');
|
|
7
|
+
require('../chunk-VHSTB7GB.cjs');
|
|
8
8
|
require('../chunk-DZUJEN5N.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
exports.Alert =
|
|
11
|
+
exports.Alert = _chunkBIANFFJLcjs.Alert;
|
|
12
12
|
//# sourceMappingURL=index.cjs.map
|
package/dist/alert/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Alert
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-BO4LTIJI.js";
|
|
4
|
+
import "../chunk-44T4HMFU.js";
|
|
5
5
|
import "../chunk-66R54X6R.js";
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-XO7WTE6O.js";
|
|
7
|
+
import "../chunk-WT4WBHBR.js";
|
|
8
8
|
import "../chunk-5WRI5ZAA.js";
|
|
9
9
|
export {
|
|
10
10
|
Alert
|
package/dist/button/index.cjs
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkOWWPHXAFcjs = require('../chunk-OWWPHXAF.cjs');
|
|
6
6
|
require('../chunk-I6UOIS4J.cjs');
|
|
7
|
-
require('../chunk-
|
|
8
|
-
require('../chunk-
|
|
7
|
+
require('../chunk-MLUHM3VG.cjs');
|
|
8
|
+
require('../chunk-VHSTB7GB.cjs');
|
|
9
9
|
require('../chunk-DZUJEN5N.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
exports.Button =
|
|
13
|
+
exports.Button = _chunkOWWPHXAFcjs.Button; exports.IconButton = _chunkOWWPHXAFcjs.IconButton;
|
|
14
14
|
//# sourceMappingURL=index.cjs.map
|
package/dist/button/index.js
CHANGED
|
@@ -2,10 +2,10 @@ import "../chunk-N5JDL4VE.js";
|
|
|
2
2
|
import {
|
|
3
3
|
Button,
|
|
4
4
|
IconButton
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-44T4HMFU.js";
|
|
6
6
|
import "../chunk-66R54X6R.js";
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
import "../chunk-XO7WTE6O.js";
|
|
8
|
+
import "../chunk-WT4WBHBR.js";
|
|
9
9
|
import "../chunk-5WRI5ZAA.js";
|
|
10
10
|
export {
|
|
11
11
|
Button,
|
package/dist/checkbox/index.cjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-SWPZ3HFY.cjs');
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkYJNQLH2Lcjs = require('../chunk-YJNQLH2L.cjs');
|
|
5
5
|
require('../chunk-DZUJEN5N.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
exports.Checkbox =
|
|
8
|
+
exports.Checkbox = _chunkYJNQLH2Lcjs.Checkbox;
|
|
9
9
|
//# sourceMappingURL=index.cjs.map
|
package/dist/checkbox/index.js
CHANGED
package/dist/chip/index.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-FQZ6F7FQ.cjs');
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-
|
|
6
|
-
require('../chunk-
|
|
4
|
+
var _chunkFXMRDNR6cjs = require('../chunk-FXMRDNR6.cjs');
|
|
5
|
+
require('../chunk-MLUHM3VG.cjs');
|
|
6
|
+
require('../chunk-VHSTB7GB.cjs');
|
|
7
7
|
require('../chunk-DZUJEN5N.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
exports.Chip =
|
|
10
|
+
exports.Chip = _chunkFXMRDNR6cjs.Chip;
|
|
11
11
|
//# sourceMappingURL=index.cjs.map
|
package/dist/chip/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import "../chunk-TPNCV7KA.js";
|
|
2
2
|
import {
|
|
3
3
|
Chip
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-NACA72XI.js";
|
|
5
|
+
import "../chunk-XO7WTE6O.js";
|
|
6
|
+
import "../chunk-WT4WBHBR.js";
|
|
7
7
|
import "../chunk-5WRI5ZAA.js";
|
|
8
8
|
export {
|
|
9
9
|
Chip
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Button
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-44T4HMFU.js";
|
|
4
4
|
import {
|
|
5
|
-
renderIcon
|
|
6
|
-
|
|
5
|
+
renderIcon,
|
|
6
|
+
useDialogFocus
|
|
7
|
+
} from "./chunk-WT4WBHBR.js";
|
|
7
8
|
|
|
8
9
|
// src/components/Modal/Modal.component.tsx
|
|
9
|
-
import { useEffect, useCallback, useId, useState } from "react";
|
|
10
|
+
import { useEffect, useCallback, useId, useRef, useState } from "react";
|
|
10
11
|
import { createPortal } from "react-dom";
|
|
11
12
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
13
|
var Modal = ({
|
|
@@ -24,6 +25,7 @@ var Modal = ({
|
|
|
24
25
|
}) => {
|
|
25
26
|
const titleId = useId();
|
|
26
27
|
const bodyId = useId();
|
|
28
|
+
const dialogRef = useRef(null);
|
|
27
29
|
const TRANSITION_MS = 200;
|
|
28
30
|
const [isMounted, setIsMounted] = useState(isOpen);
|
|
29
31
|
const [isVisible, setIsVisible] = useState(isOpen);
|
|
@@ -72,12 +74,14 @@ var Modal = ({
|
|
|
72
74
|
document.body.style.overflow = "";
|
|
73
75
|
};
|
|
74
76
|
}, [isOpen, handleEscapeKey]);
|
|
77
|
+
useDialogFocus(isOpen && isVisible, dialogRef);
|
|
75
78
|
if (!isMounted) return null;
|
|
76
79
|
const modalContent = /* @__PURE__ */ jsxs("div", { className: `eidos-modal ${isVisible ? "eidos-modal--is-open" : ""} ${className}`, children: [
|
|
77
80
|
/* @__PURE__ */ jsx("div", { className: "eidos-modal-backdrop", onClick: handleBackdropClick, "aria-hidden": "true" }),
|
|
78
81
|
/* @__PURE__ */ jsxs(
|
|
79
82
|
"div",
|
|
80
83
|
{
|
|
84
|
+
ref: dialogRef,
|
|
81
85
|
role: "dialog",
|
|
82
86
|
"aria-modal": "true",
|
|
83
87
|
"aria-labelledby": title ? titleId : void 0,
|
|
@@ -114,4 +118,4 @@ Modal.displayName = "Modal";
|
|
|
114
118
|
export {
|
|
115
119
|
Modal
|
|
116
120
|
};
|
|
117
|
-
//# sourceMappingURL=chunk-
|
|
121
|
+
//# sourceMappingURL=chunk-22EKNTWJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Modal/Modal.component.tsx"],"sourcesContent":["import React, { useEffect, useCallback, useId, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { Button } from '../Button/Button.component';\nimport type { ModalProps } from './Modal.types';\nimport { renderIcon, useDialogFocus } from '../../utils';\n\nexport const Modal: React.FC<ModalProps> = ({\n isOpen,\n onClose,\n title,\n icon,\n type,\n children,\n actions = [],\n closeOnBackdropClick = true,\n closeOnEscape = true,\n size = 'md',\n className = '',\n}) => {\n const titleId = useId();\n const bodyId = useId();\n const dialogRef = useRef<HTMLDivElement>(null);\n\n // ── Animation state ────────────────────────────────────────────────────────\n // isMounted: whether the portal DOM node exists at all.\n // isVisible: whether the '--is-open' CSS class is applied (drives the transition).\n //\n // On open: mount first → one rAF → apply --is-open (browser sees the\n // initial faded/scaled-down state before transitioning, so the\n // animation fires instead of just painting straight into \"open\").\n // On close: remove --is-open (CSS transition plays) → after 200 ms unmount.\n // 200 ms matches the CSS `transition: 0.2s` in Modal.scss.\n const TRANSITION_MS = 200;\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 modal is rendered in its closed\n // (faded/scaled-down) state 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 // Handle escape key\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 // Handle 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 // Add/remove escape key listener (tied to isOpen, not isMounted)\n useEffect(() => {\n if (isOpen) {\n document.addEventListener('keydown', handleEscapeKey);\n // Prevent body scroll when modal is open\n document.body.style.overflow = 'hidden';\n }\n\n return () => {\n document.removeEventListener('keydown', handleEscapeKey);\n document.body.style.overflow = '';\n };\n }, [isOpen, handleEscapeKey]);\n\n // Keyed to `isVisible`, not `isOpen` and not `isMounted`.\n //\n // `isOpen` alone is too early: `isMounted` is set in the effect above, one\n // render later, so the dialog element does not exist yet and the trap would\n // run against a null ref.\n //\n // `isMounted` is *also* too early, and fails more quietly. `.eidos-modal`\n // starts at `visibility: hidden` and only becomes visible with\n // `--is-open`, which is two animation frames later - so at mount there is\n // nothing focusable to find and `.focus()` on the dialog itself is a no-op.\n // Focus silently stayed on the trigger.\n useDialogFocus(isOpen && isVisible, dialogRef);\n\n if (!isMounted) return null;\n\n const modalContent = (\n <div className={`eidos-modal ${isVisible ? 'eidos-modal--is-open' : ''} ${className}`}>\n <div className=\"eidos-modal-backdrop\" onClick={handleBackdropClick} aria-hidden=\"true\" />\n <div\n ref={dialogRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={title ? titleId : undefined}\n aria-describedby={bodyId}\n className={`eidos-modal-content eidos-modal-content--${size}`}\n >\n {title && (\n <div className={`eidos-modal-header ${type ? `eidos-modal-header--${type}` : ''}`}>\n <h4 id={titleId}>\n {icon && renderIcon(icon, 'eidos-modal-icon')} {title}\n </h4>\n </div>\n )}\n\n <div id={bodyId} className=\"eidos-modal-body\">\n {children}\n </div>\n\n {actions.length > 0 && (\n <div className={`eidos-modal-footer`}>\n {actions.map((action) => (\n <Button\n key={action.id}\n variant={action.variant || 'outlined'}\n size={action.size || 'md'}\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 );\n\n return createPortal(modalContent, document.body);\n};\n\nModal.displayName = 'Modal';\n"],"mappings":"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","names":[]}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } 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
|
-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } 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
|
+
|
|
3
|
+
var _chunkVHSTB7GBcjs = require('./chunk-VHSTB7GB.cjs');
|
|
4
|
+
|
|
5
|
+
// src/components/Popover/Popover.component.tsx
|
|
6
|
+
var _react = require('react'); var _react2 = _interopRequireDefault(_react);
|
|
3
7
|
var _reactdom = require('react-dom');
|
|
4
8
|
var _lucidereact = require('lucide-react');
|
|
5
9
|
var _jsxruntime = require('react/jsx-runtime');
|
|
@@ -199,6 +203,9 @@ var Popover = ({
|
|
|
199
203
|
}
|
|
200
204
|
};
|
|
201
205
|
}, []);
|
|
206
|
+
_chunkVHSTB7GBcjs.useDialogFocus.call(void 0, popoverState.isVisible && popoverState.isPositioned, contentRef, {
|
|
207
|
+
trapTab: false
|
|
208
|
+
});
|
|
202
209
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
203
210
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
204
211
|
"div",
|
|
@@ -206,9 +213,10 @@ var Popover = ({
|
|
|
206
213
|
ref: triggerRef,
|
|
207
214
|
className: ["eidos-popover-trigger", className].filter(Boolean).join(" "),
|
|
208
215
|
onClick: toggle,
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
216
|
+
children: _react2.default.isValidElement(trigger) ? _react2.default.cloneElement(trigger, {
|
|
217
|
+
"aria-expanded": popoverState.isVisible,
|
|
218
|
+
"aria-haspopup": "dialog"
|
|
219
|
+
}) : trigger
|
|
212
220
|
}
|
|
213
221
|
),
|
|
214
222
|
popoverState.isVisible && _reactdom.createPortal.call(void 0,
|
|
@@ -258,4 +266,4 @@ Popover.displayName = "Popover";
|
|
|
258
266
|
|
|
259
267
|
|
|
260
268
|
exports.Popover = Popover;
|
|
261
|
-
//# sourceMappingURL=chunk-
|
|
269
|
+
//# sourceMappingURL=chunk-27UANGPW.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-27UANGPW.cjs","../src/components/Popover/Popover.component.tsx"],"names":[],"mappings":"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","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-27UANGPW.cjs","sourcesContent":[null,"import React, { useState, useRef, useCallback, useEffect, useId } from 'react';\nimport { createPortal } from 'react-dom';\nimport { X } from 'lucide-react';\nimport type { PopoverProps, PopoverState, PopoverPlacement } from './Popover.types';\nimport { useDialogFocus } from '../../utils';\n\nexport const Popover: React.FC<PopoverProps> = ({\n trigger,\n children,\n title,\n placement: preferredPlacement = 'bottom',\n showCloseButton = false,\n closeOnClickOutside = true,\n closeOnEscape = true,\n disabled = false,\n isOpen,\n defaultOpen,\n onOpenChange,\n maxWidth = 320,\n className,\n contentClassName,\n}) => {\n // ── Controlled / uncontrolled bridge ──────────────────────────────────────\n const isControlled = isOpen !== undefined;\n const [localOpen, setLocalOpen] = useState(defaultOpen ?? false);\n const isVisible = isControlled ? isOpen! : localOpen;\n\n // ── Positioning state ─────────────────────────────────────────────────────\n const [popoverState, setPopoverState] = useState<PopoverState>({\n isVisible: false,\n isPositioned: false,\n position: { top: 0, left: 0, placement: preferredPlacement },\n });\n\n // Names the dialog by pointing at the rendered title, the same way `Modal`\n // and `Drawer` do. This was an `aria-label={title ?? 'Popover'}`, which\n // both duplicated the visible text into a second, invisible copy and hard\n // limited `title` to a string - `aria-label` takes only a string, so a\n // `ReactNode` title would have been stringified to \"[object Object]\" and\n // silently destroyed the accessible name.\n const titleId = useId();\n\n // ── Refs ──────────────────────────────────────────────────────────────────\n const triggerRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const animationFrameRef = useRef<number | undefined>(undefined);\n const isScrollingRef = useRef(false);\n\n // ── Open / close helpers ──────────────────────────────────────────────────\n const open = useCallback(() => {\n if (disabled) return;\n if (!isControlled) setLocalOpen(true);\n onOpenChange?.(true);\n }, [disabled, isControlled, onOpenChange]);\n\n const close = useCallback(() => {\n if (!isControlled) setLocalOpen(false);\n onOpenChange?.(false);\n }, [isControlled, onOpenChange]);\n\n const toggle = useCallback(() => {\n if (isVisible) {\n close();\n } else {\n open();\n }\n }, [isVisible, open, close]);\n\n // ── Positioning calculation ───────────────────────────────────────────────\n const calculateOptimalPosition = useCallback(\n (triggerRect: DOMRect, contentRect: DOMRect) => {\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n const gap = 8;\n\n let placement: PopoverPlacement = preferredPlacement;\n let top = 0;\n let left = 0;\n\n switch (preferredPlacement) {\n case 'top':\n top = triggerRect.top - contentRect.height - gap;\n left = triggerRect.left + triggerRect.width / 2 - contentRect.width / 2;\n break;\n case 'bottom':\n top = triggerRect.bottom + gap;\n left = triggerRect.left + triggerRect.width / 2 - contentRect.width / 2;\n break;\n case 'left':\n top = triggerRect.top + triggerRect.height / 2 - contentRect.height / 2;\n left = triggerRect.left - contentRect.width - gap;\n break;\n case 'right':\n top = triggerRect.top + triggerRect.height / 2 - contentRect.height / 2;\n left = triggerRect.right + gap;\n break;\n }\n\n // Flip if it doesn't fit in the preferred direction\n if (placement === 'top' && top < gap) {\n placement = 'bottom';\n top = triggerRect.bottom + gap;\n left = triggerRect.left + triggerRect.width / 2 - contentRect.width / 2;\n } else if (placement === 'bottom' && top + contentRect.height > viewportHeight - gap) {\n placement = 'top';\n top = triggerRect.top - contentRect.height - gap;\n left = triggerRect.left + triggerRect.width / 2 - contentRect.width / 2;\n } else if (placement === 'left' && left < gap) {\n placement = 'right';\n top = triggerRect.top + triggerRect.height / 2 - contentRect.height / 2;\n left = triggerRect.right + gap;\n } else if (placement === 'right' && left + contentRect.width > viewportWidth - gap) {\n placement = 'left';\n top = triggerRect.top + triggerRect.height / 2 - contentRect.height / 2;\n left = triggerRect.left - contentRect.width - gap;\n }\n\n // Clamp to viewport\n top = Math.max(gap, Math.min(top, viewportHeight - contentRect.height - gap));\n left = Math.max(gap, Math.min(left, viewportWidth - contentRect.width - gap));\n\n return { top, left, placement };\n },\n [preferredPlacement],\n );\n\n // ── Sync isVisible → popoverState ─────────────────────────────────────────\n useEffect(() => {\n if (isVisible) {\n setPopoverState((prev) => ({ ...prev, isVisible: true, isPositioned: false }));\n } else {\n setPopoverState((prev) => ({ ...prev, isVisible: false, isPositioned: false }));\n }\n }, [isVisible]);\n\n // ── Two-pass positioning (Pass 2: measure then commit) ────────────────────\n useEffect(() => {\n if (\n popoverState.isVisible &&\n !popoverState.isPositioned &&\n contentRef.current &&\n triggerRef.current\n ) {\n const triggerRect = triggerRef.current.getBoundingClientRect();\n const contentRect = contentRef.current.getBoundingClientRect();\n\n const { top, left, placement } = calculateOptimalPosition(triggerRect, contentRect);\n\n setPopoverState((prev) => ({\n ...prev,\n position: { top, left, placement },\n isPositioned: true,\n }));\n }\n }, [popoverState.isVisible, popoverState.isPositioned, calculateOptimalPosition]);\n\n // ── Scroll repositioning ─────────────────────────────────────────────────\n const handleScroll = useCallback(() => {\n if (!popoverState.isVisible || !popoverState.isPositioned || isScrollingRef.current) return;\n\n isScrollingRef.current = true;\n\n animationFrameRef.current = requestAnimationFrame(() => {\n if (triggerRef.current && contentRef.current) {\n const triggerRect = triggerRef.current.getBoundingClientRect();\n const contentRect = contentRef.current.getBoundingClientRect();\n\n const { top, left, placement } = calculateOptimalPosition(triggerRect, contentRect);\n\n setPopoverState((prev) => ({\n ...prev,\n position: { top, left, placement },\n }));\n }\n\n isScrollingRef.current = false;\n });\n }, [popoverState.isVisible, popoverState.isPositioned, calculateOptimalPosition]);\n\n // ── Resize repositioning ──────────────────────────────────────────────────\n useEffect(() => {\n const handleResize = () => {\n if (\n popoverState.isVisible &&\n popoverState.isPositioned &&\n contentRef.current &&\n triggerRef.current\n ) {\n const triggerRect = triggerRef.current.getBoundingClientRect();\n const contentRect = contentRef.current.getBoundingClientRect();\n\n const { top, left, placement } = calculateOptimalPosition(triggerRect, contentRect);\n\n setPopoverState((prev) => ({\n ...prev,\n position: { top, left, placement },\n }));\n }\n };\n\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, [popoverState.isVisible, popoverState.isPositioned, calculateOptimalPosition]);\n\n // ── Scroll listener registration ─────────────────────────────────────────\n useEffect(() => {\n if (popoverState.isVisible) {\n window.addEventListener('scroll', handleScroll, { passive: true });\n document.body.addEventListener('scroll', handleScroll, { passive: true });\n }\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n document.body.removeEventListener('scroll', handleScroll);\n };\n }, [popoverState.isVisible, handleScroll]);\n\n // ── Click-outside handler ─────────────────────────────────────────────────\n const handleClickOutside = useCallback(\n (event: MouseEvent) => {\n if (!closeOnClickOutside || !popoverState.isVisible) return;\n\n const target = event.target as Node;\n\n if (contentRef.current?.contains(target) || triggerRef.current?.contains(target)) {\n return;\n }\n\n close();\n },\n [closeOnClickOutside, popoverState.isVisible, close],\n );\n\n // ── Escape key handler ────────────────────────────────────────────────────\n const handleEscapeKey = useCallback(\n (event: KeyboardEvent) => {\n if (closeOnEscape && event.key === 'Escape' && popoverState.isVisible) {\n close();\n }\n },\n [closeOnEscape, popoverState.isVisible, close],\n );\n\n // ── Register global event listeners ──────────────────────────────────────\n useEffect(() => {\n if (popoverState.isVisible) {\n document.addEventListener('mousedown', handleClickOutside);\n document.addEventListener('keydown', handleEscapeKey);\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('keydown', handleEscapeKey);\n };\n }, [popoverState.isVisible, handleClickOutside, handleEscapeKey]);\n\n // ── Cleanup on unmount ────────────────────────────────────────────────────\n useEffect(() => {\n const timeoutId = timeoutRef.current;\n const animationFrameId = animationFrameRef.current;\n return () => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n if (animationFrameId) {\n cancelAnimationFrame(animationFrameId);\n }\n };\n }, []);\n\n // Non-modal focus handling: move focus into the panel and return it to the\n // trigger on close, but leave Tab free.\n //\n // `trapTab: false` because this dialog is honestly `aria-modal=\"false\"` -\n // the rest of the page stays available, so confining Tab would strand the\n // user. Moving focus in is still required: the panel is portaled to\n // `document.body`, so Tab from the trigger continues into whatever follows\n // it in the page and the panel's own controls cannot be reached at all.\n //\n // Keyed to `isPositioned`, not `isVisible`: the panel renders off-screen\n // for one frame while its placement is measured, and focusing it in that\n // state scrolls the page to wherever it was parked.\n useDialogFocus(popoverState.isVisible && popoverState.isPositioned, contentRef, {\n trapTab: false,\n });\n\n // ── Render ────────────────────────────────────────────────────────────────\n return (\n <>\n {/* Trigger wrapper.\n \n The wrapper carries no ARIA. It had `aria-expanded` and\n `aria-haspopup` while having no role, which is invalid - both need\n a role that supports them, and adding `role=\"button\"` here would be\n worse still, since the trigger inside is usually a real button\n (that is the `nested-interactive` shape already fixed on\n `Dropdown`).\n \n Instead the state is cloned onto the trigger element, which is the\n thing a user actually activates. Guarded by `isValidElement`\n because `trigger` is typed as `ReactNode` and may be a bare string,\n in which case there is nothing to annotate and the wrapper stays\n exactly as it was. */}\n <div\n ref={triggerRef}\n className={['eidos-popover-trigger', className].filter(Boolean).join(' ')}\n onClick={toggle}\n >\n {React.isValidElement(trigger)\n ? React.cloneElement(trigger as React.ReactElement<Record<string, unknown>>, {\n 'aria-expanded': popoverState.isVisible,\n 'aria-haspopup': 'dialog',\n })\n : trigger}\n </div>\n\n {/* Portal: floating panel */}\n {popoverState.isVisible &&\n createPortal(\n <div\n ref={contentRef}\n role=\"dialog\"\n aria-modal=\"false\"\n aria-labelledby={title ? titleId : undefined}\n // Only the untitled case still needs a literal label - there is\n // no visible text to point at.\n aria-label={title ? undefined : 'Popover'}\n className={[\n 'eidos-popover-content',\n `eidos-popover-content--${popoverState.position.placement}`,\n popoverState.isPositioned ? 'eidos-popover-content--visible' : '',\n contentClassName,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n top: popoverState.position.top,\n left: popoverState.position.left,\n maxWidth: maxWidth,\n }}\n >\n {(title || showCloseButton) && (\n <div className=\"eidos-popover-header\">\n {title && (\n <span id={titleId} className=\"eidos-popover-title\">\n {title}\n </span>\n )}\n {showCloseButton && (\n <button\n type=\"button\"\n className=\"eidos-popover-close\"\n onClick={close}\n aria-label=\"Close popover\"\n >\n <X aria-hidden=\"true\" />\n </button>\n )}\n </div>\n )}\n <div className=\"eidos-popover-body\">{children}</div>\n </div>,\n document.body,\n )}\n </>\n );\n};\n\nPopover.displayName = 'Popover';\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 _chunkNCZUQFKLcjs = require('./chunk-NCZUQFKL.cjs');
|
|
4
4
|
|
|
5
5
|
// src/components/InlineEdit/InlineEdit.component.tsx
|
|
6
6
|
var _react = require('react');
|
|
@@ -72,7 +72,7 @@ var InlineEdit = ({
|
|
|
72
72
|
const displayTriggerProps = trigger === "doubleClick" ? { onDoubleClick: openEdit } : { onClick: openEdit };
|
|
73
73
|
if (editing) {
|
|
74
74
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
75
|
-
|
|
75
|
+
_chunkNCZUQFKLcjs.Input,
|
|
76
76
|
{
|
|
77
77
|
type,
|
|
78
78
|
variant: inputVariant,
|
|
@@ -95,7 +95,7 @@ var InlineEdit = ({
|
|
|
95
95
|
{
|
|
96
96
|
role: "button",
|
|
97
97
|
tabIndex: disabled ? void 0 : 0,
|
|
98
|
-
"aria-label": disabled ? void 0 :
|
|
98
|
+
"aria-label": disabled || isEmpty ? void 0 : `${value}, click to edit`,
|
|
99
99
|
className: [
|
|
100
100
|
"eidos-inline-edit",
|
|
101
101
|
`eidos-inline-edit--${size}`,
|
|
@@ -122,4 +122,4 @@ var InlineEdit = ({
|
|
|
122
122
|
|
|
123
123
|
|
|
124
124
|
exports.InlineEdit = InlineEdit;
|
|
125
|
-
//# sourceMappingURL=chunk-
|
|
125
|
+
//# sourceMappingURL=chunk-3QQKWXMV.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-3QQKWXMV.cjs","../src/components/InlineEdit/InlineEdit.component.tsx"],"names":[],"mappings":"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","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-3QQKWXMV.cjs","sourcesContent":[null,"import React, { useState, useRef, useCallback } from 'react';\nimport { Pencil } from 'lucide-react';\nimport { Input } from '../Input/Input.component';\nimport type { InlineEditProps } from './InlineEdit.types';\nimport './InlineEdit.scss';\n\nexport const InlineEdit: React.FC<InlineEditProps> = ({\n value,\n onChange,\n onConfirm,\n onCancel,\n editing: editingProp,\n onEditingChange,\n type = 'text',\n placeholder,\n trigger = 'click',\n size = 'md',\n fullWidth = false,\n disabled = false,\n confirmOnBlur = true,\n renderDisplay,\n showEditIcon = true,\n inputVariant = 'outlined',\n className = '',\n}) => {\n const isControlled = editingProp !== undefined;\n const [internalEditing, setInternalEditing] = useState(false);\n const editing = isControlled ? editingProp : internalEditing;\n\n // Track the value at the moment editing begins so Esc can revert to it.\n const valueAtEditStart = useRef(value);\n\n // Local draft while editing - keeps Input value in sync without forcing the\n // parent to wire `onChange` just to see live keystrokes.\n const [draft, setDraft] = useState(value);\n\n // ------------------------------------------------------------------\n // Editing state helpers\n // ------------------------------------------------------------------\n\n const openEdit = useCallback(() => {\n if (disabled) return;\n valueAtEditStart.current = value;\n setDraft(value);\n if (!isControlled) setInternalEditing(true);\n onEditingChange?.(true);\n }, [disabled, isControlled, onEditingChange, value]);\n\n const closeEdit = useCallback(() => {\n if (!isControlled) setInternalEditing(false);\n onEditingChange?.(false);\n }, [isControlled, onEditingChange]);\n\n const confirm = useCallback(() => {\n closeEdit();\n onConfirm?.(draft);\n }, [closeEdit, draft, onConfirm]);\n\n const cancel = useCallback(() => {\n // Revert the draft AND propagate the original value so the parent stays in\n // sync when `onChange` is used to maintain external state.\n setDraft(valueAtEditStart.current);\n onChange?.(valueAtEditStart.current);\n closeEdit();\n onCancel?.();\n }, [closeEdit, onChange, onCancel]);\n\n // ------------------------------------------------------------------\n // Input handlers\n // ------------------------------------------------------------------\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setDraft(e.target.value);\n onChange?.(e.target.value);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n // Stop propagation so parent grids/tables don't double-handle Enter.\n e.stopPropagation();\n confirm();\n } else if (e.key === 'Escape') {\n e.preventDefault();\n e.stopPropagation();\n cancel();\n }\n // Tab and Arrow keys intentionally bubble - consumers like DataGrid own\n // Tab-to-next-cell and arrow-key navigation at the container level.\n };\n\n const handleBlur = () => {\n if (confirmOnBlur) confirm();\n };\n\n // ------------------------------------------------------------------\n // Trigger props for display mode\n // ------------------------------------------------------------------\n\n const displayTriggerProps =\n trigger === 'doubleClick' ? { onDoubleClick: openEdit } : { onClick: openEdit };\n\n // ------------------------------------------------------------------\n // Render: edit mode\n // ------------------------------------------------------------------\n\n if (editing) {\n return (\n <Input\n type={type}\n variant={inputVariant}\n size={size}\n value={draft}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n placeholder={placeholder}\n fullWidth={fullWidth}\n clearable={false}\n autoFocus\n className={`eidos-inline-edit eidos-inline-edit--editing ${className}`}\n />\n );\n }\n\n // ------------------------------------------------------------------\n // Render: display mode\n // ------------------------------------------------------------------\n\n const isEmpty = !value;\n\n return (\n <span\n role=\"button\"\n tabIndex={disabled ? undefined : 0}\n // The visible text has to be *in* the name (SC 2.5.3 Label in Name).\n //\n // This was a flat \"Click to edit\", which shares nothing with the value\n // on screen - so a speech-input user saying what they can see (\"Page\n // title\") matched nothing, and a screen reader announced an edit\n // affordance without ever saying what it edits. Every `InlineEdit` on\n // a page was also announced identically.\n //\n // Left off entirely when there is no value: the placeholder is then\n // the visible text and `textContent` already provides the name.\n aria-label={disabled || isEmpty ? undefined : `${value}, click to edit`}\n className={[\n 'eidos-inline-edit',\n `eidos-inline-edit--${size}`,\n fullWidth ? 'eidos-inline-edit--full-width' : '',\n disabled ? 'eidos-inline-edit--disabled' : '',\n isEmpty ? 'eidos-inline-edit--empty' : '',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...(disabled ? {} : displayTriggerProps)}\n onKeyDown={\n disabled\n ? undefined\n : (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n openEdit();\n }\n }\n }\n >\n <span className=\"eidos-inline-edit__text\">\n {renderDisplay\n ? renderDisplay(value)\n : value || <span className=\"eidos-inline-edit__placeholder\">{placeholder}</span>}\n </span>\n {!disabled && showEditIcon && (\n <span className=\"eidos-inline-edit__icon\" aria-hidden>\n <Pencil />\n </span>\n )}\n </span>\n );\n};\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } 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 _chunkIGFR5TEScjs = require('./chunk-IGFR5TES.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
var _chunkEQ6BNPTLcjs = require('./chunk-EQ6BNPTL.cjs');
|
|
@@ -12,16 +12,16 @@ var _chunkTROYIUDHcjs = require('./chunk-TROYIUDH.cjs');
|
|
|
12
12
|
var _chunkKV3V2CPHcjs = require('./chunk-KV3V2CPH.cjs');
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _chunkFXMRDNR6cjs = require('./chunk-FXMRDNR6.cjs');
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _chunkG74DHVHVcjs = require('./chunk-G74DHVHV.cjs');
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
var _chunkQ3GNKF74cjs = require('./chunk-Q3GNKF74.cjs');
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _chunkOWWPHXAFcjs = require('./chunk-OWWPHXAF.cjs');
|
|
25
25
|
|
|
26
26
|
// src/components/Conversation/Chat.component.tsx
|
|
27
27
|
var _react = require('react');
|
|
@@ -313,7 +313,7 @@ var MessageComposer = ({
|
|
|
313
313
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { children: replyingTo })
|
|
314
314
|
] }),
|
|
315
315
|
onCancel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
316
|
-
|
|
316
|
+
_chunkOWWPHXAFcjs.Button,
|
|
317
317
|
{
|
|
318
318
|
variant: "text",
|
|
319
319
|
color: "secondary",
|
|
@@ -353,7 +353,7 @@ var MessageComposer = ({
|
|
|
353
353
|
}
|
|
354
354
|
),
|
|
355
355
|
attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "eidos-composer-attachments", children: attachments.map((file, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
356
|
-
|
|
356
|
+
_chunkFXMRDNR6cjs.Chip,
|
|
357
357
|
{
|
|
358
358
|
size: "sm",
|
|
359
359
|
variant: "outlined",
|
|
@@ -380,12 +380,14 @@ var MessageComposer = ({
|
|
|
380
380
|
multiple: true,
|
|
381
381
|
accept: attachmentAccept,
|
|
382
382
|
className: "eidos-composer-file-input",
|
|
383
|
+
tabIndex: -1,
|
|
384
|
+
"aria-hidden": "true",
|
|
383
385
|
onChange: (event) => addFiles(event.target.files),
|
|
384
386
|
disabled: disabled || pending
|
|
385
387
|
}
|
|
386
388
|
),
|
|
387
389
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
388
|
-
|
|
390
|
+
_chunkOWWPHXAFcjs.Button,
|
|
389
391
|
{
|
|
390
392
|
variant: "text",
|
|
391
393
|
color: "secondary",
|
|
@@ -409,7 +411,7 @@ var MessageComposer = ({
|
|
|
409
411
|
] }),
|
|
410
412
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "eidos-composer-actions-end", children: [
|
|
411
413
|
onCancel && !replyingTo && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
412
|
-
|
|
414
|
+
_chunkOWWPHXAFcjs.Button,
|
|
413
415
|
{
|
|
414
416
|
variant: "text",
|
|
415
417
|
color: "secondary",
|
|
@@ -420,7 +422,7 @@ var MessageComposer = ({
|
|
|
420
422
|
}
|
|
421
423
|
),
|
|
422
424
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
423
|
-
|
|
425
|
+
_chunkOWWPHXAFcjs.Button,
|
|
424
426
|
{
|
|
425
427
|
type: "submit",
|
|
426
428
|
size: "sm",
|
|
@@ -534,17 +536,17 @@ var MessageItem = ({
|
|
|
534
536
|
status === "failed" && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "eidos-message-status eidos-message-status--failed", children: [
|
|
535
537
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.AlertCircle, { "aria-hidden": "true" }),
|
|
536
538
|
"Not sent",
|
|
537
|
-
onRetry && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
539
|
+
onRetry && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWWPHXAFcjs.Button, { variant: "text", color: "danger", size: "sm", preIcon: _lucidereact.RotateCw, onClick: onRetry, children: "Retry" })
|
|
538
540
|
] }),
|
|
539
541
|
footer && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-message-footer", children: footer }),
|
|
540
|
-
onReply && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-message-reply", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
542
|
+
onReply && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-message-reply", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWWPHXAFcjs.Button, { variant: "text", color: "secondary", size: "sm", onClick: onReply, children: "Reply" }) })
|
|
541
543
|
] }),
|
|
542
544
|
hasActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-message-actions", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
543
|
-
|
|
545
|
+
_chunkG74DHVHVcjs.Menu,
|
|
544
546
|
{
|
|
545
547
|
items: _nullishCoalesce(actions, () => ( [])),
|
|
546
548
|
trigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
547
|
-
|
|
549
|
+
_chunkOWWPHXAFcjs.Button,
|
|
548
550
|
{
|
|
549
551
|
variant: "text",
|
|
550
552
|
color: "secondary",
|
|
@@ -571,8 +573,8 @@ var ChatSkeleton = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { c
|
|
|
571
573
|
row % 2 === 1 && "eidos-chat-skeleton-row--own"
|
|
572
574
|
),
|
|
573
575
|
children: [
|
|
574
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
575
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
576
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIGFR5TEScjs.Skeleton, { variant: "circular", width: 28, height: 28 }),
|
|
577
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIGFR5TEScjs.Skeleton, { variant: "rounded", height: 48 })
|
|
576
578
|
]
|
|
577
579
|
},
|
|
578
580
|
row
|
|
@@ -682,7 +684,7 @@ var Chat = ({
|
|
|
682
684
|
hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-chat-load-more", children: loadingMore ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "eidos-chat-loading-more", children: [
|
|
683
685
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTROYIUDHcjs.Spinner, { size: "sm", color: "secondary" }),
|
|
684
686
|
"Loading earlier messages\u2026"
|
|
685
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
687
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWWPHXAFcjs.Button, { variant: "text", color: "secondary", size: "sm", onClick: onLoadMore, children: "Load earlier messages" }) }),
|
|
686
688
|
loading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatSkeleton, {}),
|
|
687
689
|
isEmpty && (_nullishCoalesce(emptyContent, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
688
690
|
_chunkKV3V2CPHcjs.EmptyState,
|
|
@@ -706,7 +708,7 @@ var Chat = ({
|
|
|
706
708
|
}
|
|
707
709
|
),
|
|
708
710
|
!atBottom && messages.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-chat-jump", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
709
|
-
|
|
711
|
+
_chunkOWWPHXAFcjs.Button,
|
|
710
712
|
{
|
|
711
713
|
size: "sm",
|
|
712
714
|
variant: "filled",
|
|
@@ -736,8 +738,8 @@ Chat.displayName = "Chat";
|
|
|
736
738
|
|
|
737
739
|
|
|
738
740
|
var CommentSkeleton = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-comment-thread-skeleton", "aria-hidden": "true", children: [0, 1, 2].map((row) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "eidos-comment-thread-skeleton-row", children: [
|
|
739
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
740
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
741
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIGFR5TEScjs.Skeleton, { variant: "circular", width: 28, height: 28 }),
|
|
742
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIGFR5TEScjs.Skeleton, { variant: "text", lines: 2 })
|
|
741
743
|
] }, row)) });
|
|
742
744
|
var CommentThread = ({
|
|
743
745
|
messages,
|
|
@@ -871,7 +873,7 @@ var CommentThread = ({
|
|
|
871
873
|
hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-comment-thread-load-more", children: loadingMore ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "eidos-comment-thread-loading-more", children: [
|
|
872
874
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTROYIUDHcjs.Spinner, { size: "sm", color: "secondary" }),
|
|
873
875
|
"Loading more comments\u2026"
|
|
874
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
876
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWWPHXAFcjs.Button, { variant: "outlined", color: "secondary", size: "sm", onClick: onLoadMore, children: "Load more comments" }) }),
|
|
875
877
|
composerPosition === "bottom" && composer,
|
|
876
878
|
readOnly && readOnlyMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "eidos-conversation-readonly", children: readOnlyMessage })
|
|
877
879
|
] });
|
|
@@ -883,4 +885,4 @@ CommentThread.displayName = "CommentThread";
|
|
|
883
885
|
|
|
884
886
|
|
|
885
887
|
exports.MessageComposer = MessageComposer; exports.Chat = Chat; exports.CommentThread = CommentThread;
|
|
886
|
-
//# sourceMappingURL=chunk-
|
|
888
|
+
//# sourceMappingURL=chunk-3S33BIN2.cjs.map
|