eidos-ui 3.4.0 → 3.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Menu.types-DNIpjSAK.d.ts → Menu.types-BN4g1-3A.d.ts} +9 -0
- package/dist/{Menu.types-DwcuCZM7.d.cts → Menu.types-CTnUijv5.d.cts} +9 -0
- package/dist/{Select.types-BqaD7bmB.d.ts → Select.types-C2tGy1vj.d.ts} +10 -0
- package/dist/{Select.types-2p-mpaBL.d.cts → Select.types-ok-03rLo.d.cts} +10 -0
- package/dist/{Table.types-CPj-udMc.d.cts → Table.types-D-9tC0kJ.d.cts} +2 -3
- package/dist/{Table.types-CZZ7QWAI.d.ts → Table.types-D8pmgxKA.d.ts} +2 -3
- package/dist/{Toolbar.types-RN0klQzu.d.ts → Toolbar.types-CKnQC_TW.d.ts} +1 -1
- package/dist/{Toolbar.types-DSk8z2iy.d.cts → Toolbar.types-DUz2mxct.d.cts} +1 -1
- package/dist/accordion/index.cjs +2 -2
- package/dist/accordion/index.js +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/chip/index.cjs +4 -4
- package/dist/chip/index.js +3 -3
- package/dist/{chunk-WGCGSM5P.js → chunk-24HKKSKX.js} +11 -18
- package/dist/chunk-24HKKSKX.js.map +1 -0
- package/dist/{chunk-BBU7QG7L.js → chunk-26SO4LZ5.js} +4 -4
- package/dist/{chunk-Y7VSWZWM.js → chunk-2JW3WSBF.js} +4 -4
- package/dist/{chunk-IXVM2XNS.js → chunk-2PCCGQOH.js} +89 -19
- package/dist/chunk-2PCCGQOH.js.map +1 -0
- package/dist/{chunk-4LET2PEX.cjs → chunk-2T7ZMMH5.cjs} +64 -11
- package/dist/chunk-2T7ZMMH5.cjs.map +1 -0
- package/dist/{chunk-VHSTB7GB.cjs → chunk-35LGEPLP.cjs} +13 -2
- package/dist/chunk-35LGEPLP.cjs.map +1 -0
- package/dist/{chunk-5E4DYTZ3.cjs → chunk-36JFXFM2.cjs} +36 -36
- package/dist/{chunk-5E4DYTZ3.cjs.map → chunk-36JFXFM2.cjs.map} +1 -1
- package/dist/{chunk-XMXL6NVJ.cjs → chunk-3KBBJZHK.cjs} +11 -11
- package/dist/{chunk-XMXL6NVJ.cjs.map → chunk-3KBBJZHK.cjs.map} +1 -1
- package/dist/{chunk-BIANFFJL.cjs → chunk-3RWZC6OW.cjs} +5 -5
- package/dist/{chunk-BIANFFJL.cjs.map → chunk-3RWZC6OW.cjs.map} +1 -1
- package/dist/{chunk-CBT3TTQR.cjs → chunk-3ZRFOKDM.cjs} +30 -30
- package/dist/{chunk-CBT3TTQR.cjs.map → chunk-3ZRFOKDM.cjs.map} +1 -1
- package/dist/{chunk-5V7DXZWT.cjs → chunk-4AO5RKV5.cjs} +25 -37
- package/dist/chunk-4AO5RKV5.cjs.map +1 -0
- package/dist/{chunk-UDRAM6JU.js → chunk-4J25XZDI.js} +13 -11
- package/dist/chunk-4J25XZDI.js.map +1 -0
- package/dist/{chunk-TWXZKUCG.cjs → chunk-4JSTBA4F.cjs} +9 -7
- package/dist/chunk-4JSTBA4F.cjs.map +1 -0
- package/dist/{chunk-TYGVKSL6.js → chunk-4LNTZPSQ.js} +2 -2
- package/dist/{chunk-UGTKZ7HP.js → chunk-5XH2PHT2.js} +13 -13
- package/dist/{chunk-UGTKZ7HP.js.map → chunk-5XH2PHT2.js.map} +1 -1
- package/dist/{chunk-H5D3ZFBM.cjs → chunk-66UQTF57.cjs} +46 -46
- package/dist/{chunk-H5D3ZFBM.cjs.map → chunk-66UQTF57.cjs.map} +1 -1
- package/dist/{chunk-JKBBHAIC.cjs → chunk-6JHVXWDV.cjs} +124 -54
- package/dist/chunk-6JHVXWDV.cjs.map +1 -0
- package/dist/{chunk-44T4HMFU.js → chunk-75GFIQRU.js} +3 -3
- package/dist/{chunk-AHVDTWVM.cjs → chunk-7BFODYNL.cjs} +7 -7
- package/dist/{chunk-AHVDTWVM.cjs.map → chunk-7BFODYNL.cjs.map} +1 -1
- package/dist/{chunk-NCZUQFKL.cjs → chunk-7VJCGKVP.cjs} +11 -11
- package/dist/{chunk-NCZUQFKL.cjs.map → chunk-7VJCGKVP.cjs.map} +1 -1
- package/dist/{chunk-PG2EII6U.js → chunk-A3LMUPG3.js} +2 -2
- package/dist/{chunk-BO4LTIJI.js → chunk-AR2ZOO6L.js} +3 -3
- package/dist/{chunk-MLUHM3VG.cjs → chunk-BEOECPVJ.cjs} +5 -7
- package/dist/chunk-BEOECPVJ.cjs.map +1 -0
- package/dist/{chunk-FPLX5FIK.js → chunk-BFKPJ627.js} +5 -4
- package/dist/chunk-BFKPJ627.js.map +1 -0
- package/dist/{chunk-MP7LN5CW.js → chunk-D7SQ7LHJ.js} +2 -2
- package/dist/{chunk-OWWPHXAF.cjs → chunk-DA375AI6.cjs} +8 -8
- package/dist/{chunk-OWWPHXAF.cjs.map → chunk-DA375AI6.cjs.map} +1 -1
- package/dist/{chunk-7KVXXHFX.cjs → chunk-DU5JKTHK.cjs} +8 -6
- package/dist/chunk-DU5JKTHK.cjs.map +1 -0
- package/dist/{chunk-SDEKANNL.cjs → chunk-EAJGSXEW.cjs} +14 -6
- package/dist/chunk-EAJGSXEW.cjs.map +1 -0
- package/dist/{chunk-LH5A2SIX.js → chunk-FIVMMCGM.js} +8 -20
- package/dist/chunk-FIVMMCGM.js.map +1 -0
- package/dist/{chunk-22EKNTWJ.js → chunk-GIEDIAPD.js} +8 -6
- package/dist/chunk-GIEDIAPD.js.map +1 -0
- package/dist/{chunk-X6UKU3C3.js → chunk-GPVGGBIR.js} +2 -2
- package/dist/{chunk-NACA72XI.js → chunk-GWHZFX2H.js} +3 -3
- package/dist/{chunk-YIBPOLNN.js → chunk-HEX4IMLO.js} +4 -4
- package/dist/{chunk-KWDOOMHR.cjs → chunk-HMEREPDB.cjs} +7 -7
- package/dist/{chunk-KWDOOMHR.cjs.map → chunk-HMEREPDB.cjs.map} +1 -1
- package/dist/{chunk-TYSNOPMQ.cjs → chunk-HNGFRRVZ.cjs} +3 -3
- package/dist/{chunk-TYSNOPMQ.cjs.map → chunk-HNGFRRVZ.cjs.map} +1 -1
- package/dist/{chunk-3QQKWXMV.cjs → chunk-I6M6CVI2.cjs} +3 -3
- package/dist/{chunk-3QQKWXMV.cjs.map → chunk-I6M6CVI2.cjs.map} +1 -1
- package/dist/chunk-J76JHN7J.cjs +225 -0
- package/dist/chunk-J76JHN7J.cjs.map +1 -0
- package/dist/{chunk-SKLMBE3Z.cjs → chunk-JCKGAAPZ.cjs} +7 -7
- package/dist/{chunk-SKLMBE3Z.cjs.map → chunk-JCKGAAPZ.cjs.map} +1 -1
- package/dist/{chunk-67EXHO4T.js → chunk-JHX6JK3M.js} +79 -75
- package/dist/chunk-JHX6JK3M.js.map +1 -0
- package/dist/{chunk-XO7WTE6O.js → chunk-JNY7TUDS.js} +4 -6
- package/dist/chunk-JNY7TUDS.js.map +1 -0
- package/dist/{chunk-GMDVW76A.cjs → chunk-JPYJQ4TF.cjs} +6 -6
- package/dist/{chunk-GMDVW76A.cjs.map → chunk-JPYJQ4TF.cjs.map} +1 -1
- package/dist/{chunk-SVCWSW2F.js → chunk-JT4KVXJK.js} +65 -12
- package/dist/chunk-JT4KVXJK.js.map +1 -0
- package/dist/{chunk-FODRHCRP.cjs → chunk-KBQD4JLK.cjs} +3 -3
- package/dist/{chunk-FODRHCRP.cjs.map → chunk-KBQD4JLK.cjs.map} +1 -1
- package/dist/{chunk-P7J6WZTO.cjs → chunk-KIZVY57H.cjs} +82 -78
- package/dist/chunk-KIZVY57H.cjs.map +1 -0
- package/dist/{chunk-N5ZWQJTM.cjs → chunk-KREHT4AQ.cjs} +8 -8
- package/dist/{chunk-N5ZWQJTM.cjs.map → chunk-KREHT4AQ.cjs.map} +1 -1
- package/dist/{chunk-SCLFJHN2.js → chunk-L65MHFMD.js} +3 -3
- package/dist/{chunk-CMOBXLNA.js → chunk-LNDFVC2Q.js} +14 -6
- package/dist/chunk-LNDFVC2Q.js.map +1 -0
- package/dist/{chunk-N77VOYCK.cjs → chunk-LQXFXXMJ.cjs} +8 -7
- package/dist/chunk-LQXFXXMJ.cjs.map +1 -0
- package/dist/{chunk-OIXPYXR6.js → chunk-MPIVBAMY.js} +2 -2
- package/dist/{chunk-TLECMA3B.js → chunk-MQAOXZD4.js} +27 -14
- package/dist/chunk-MQAOXZD4.js.map +1 -0
- package/dist/{chunk-YUH56CJI.cjs → chunk-NOQF7UQ5.cjs} +6 -6
- package/dist/{chunk-YUH56CJI.cjs.map → chunk-NOQF7UQ5.cjs.map} +1 -1
- package/dist/{chunk-DMOZURHV.js → chunk-O3QM3BFE.js} +2 -2
- package/dist/{chunk-SFRILDXY.js → chunk-OOCCSMWM.js} +4 -4
- package/dist/chunk-P4XZH3OR.js +225 -0
- package/dist/chunk-P4XZH3OR.js.map +1 -0
- package/dist/{chunk-O46UJUZM.cjs → chunk-PMSENLOA.cjs} +35 -27
- package/dist/chunk-PMSENLOA.cjs.map +1 -0
- package/dist/{chunk-EWTMX4DK.js → chunk-RHFD2Z5V.js} +7 -7
- package/dist/{chunk-WT4WBHBR.js → chunk-RHHZRTWM.js} +13 -2
- package/dist/chunk-RHHZRTWM.js.map +1 -0
- package/dist/{chunk-NF55JG2V.cjs → chunk-RJVHR45I.cjs} +7 -7
- package/dist/{chunk-NF55JG2V.cjs.map → chunk-RJVHR45I.cjs.map} +1 -1
- package/dist/{chunk-FDMYDIGI.js → chunk-SDUGYJGW.js} +22 -14
- package/dist/chunk-SDUGYJGW.js.map +1 -0
- package/dist/{chunk-VRNCXYEP.js → chunk-SFFKQQ5Z.js} +4 -4
- package/dist/{chunk-AXPEJ5IG.cjs → chunk-TC5IC6OP.cjs} +3 -3
- package/dist/{chunk-AXPEJ5IG.cjs.map → chunk-TC5IC6OP.cjs.map} +1 -1
- package/dist/{chunk-BGBAZMFE.js → chunk-THCTUBX6.js} +8 -6
- package/dist/chunk-THCTUBX6.js.map +1 -0
- package/dist/{chunk-FXMRDNR6.cjs → chunk-TTLFY76J.cjs} +6 -6
- package/dist/{chunk-FXMRDNR6.cjs.map → chunk-TTLFY76J.cjs.map} +1 -1
- package/dist/{chunk-OZQKWDFH.cjs → chunk-V4BZWBZT.cjs} +7 -7
- package/dist/{chunk-OZQKWDFH.cjs.map → chunk-V4BZWBZT.cjs.map} +1 -1
- package/dist/{chunk-27UANGPW.cjs → chunk-VQGLVBPL.cjs} +13 -11
- package/dist/chunk-VQGLVBPL.cjs.map +1 -0
- package/dist/{chunk-LIKSLFX6.js → chunk-WE2SBWZ6.js} +7 -7
- package/dist/{chunk-GPK2THIG.js → chunk-WNDDS367.js} +3 -3
- package/dist/{chunk-3S33BIN2.cjs → chunk-X3BVQBXD.cjs} +16 -16
- package/dist/{chunk-3S33BIN2.cjs.map → chunk-X3BVQBXD.cjs.map} +1 -1
- package/dist/{chunk-SKBKTNEQ.cjs → chunk-XERBOFYZ.cjs} +3 -3
- package/dist/{chunk-SKBKTNEQ.cjs.map → chunk-XERBOFYZ.cjs.map} +1 -1
- package/dist/{chunk-6LCYO2HG.cjs → chunk-XZLSHEHE.cjs} +40 -27
- package/dist/chunk-XZLSHEHE.cjs.map +1 -0
- package/dist/{chunk-CEC3GO4R.js → chunk-YAKTVIVK.js} +3 -3
- package/dist/{chunk-3WV6RTXX.js → chunk-YP4HUBKN.js} +2 -2
- package/dist/{chunk-XK5USBHB.js → chunk-YXRKBKFB.js} +3 -3
- package/dist/{chunk-MW4YZVP5.cjs → chunk-ZMRINZIO.cjs} +17 -24
- package/dist/chunk-ZMRINZIO.cjs.map +1 -0
- package/dist/color-picker/index.cjs +4 -4
- 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 -3
- package/dist/command-palette/index.js +2 -2
- package/dist/context-menu/index.cjs +6 -6
- package/dist/context-menu/index.d.cts +1 -1
- package/dist/context-menu/index.d.ts +1 -1
- package/dist/context-menu/index.js +5 -5
- package/dist/conversation/index.cjs +8 -8
- package/dist/conversation/index.d.cts +1 -1
- package/dist/conversation/index.d.ts +1 -1
- package/dist/conversation/index.js +7 -7
- package/dist/data-grid/index.cjs +15 -15
- package/dist/data-grid/index.d.cts +13 -14
- package/dist/data-grid/index.d.ts +13 -14
- package/dist/data-grid/index.js +14 -14
- package/dist/date-picker/index.cjs +8 -8
- package/dist/date-picker/index.d.cts +11 -1
- package/dist/date-picker/index.d.ts +11 -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.d.cts +34 -0
- package/dist/dropdown/index.d.ts +34 -0
- package/dist/dropdown/index.js +2 -2
- package/dist/header/index.cjs +6 -6
- package/dist/header/index.js +5 -5
- package/dist/index.cjs +38 -38
- package/dist/index.css +19 -2
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +37 -37
- 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.js +3 -3
- package/dist/menu/index.cjs +5 -5
- package/dist/menu/index.d.cts +23 -2
- package/dist/menu/index.d.ts +23 -2
- 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/page-layout/index.cjs +12 -12
- package/dist/page-layout/index.d.cts +2 -2
- package/dist/page-layout/index.d.ts +2 -2
- 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 -3
- package/dist/popover/index.d.cts +3 -1
- package/dist/popover/index.d.ts +3 -1
- package/dist/popover/index.js +2 -2
- 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 +2 -2
- package/dist/select/index.d.ts +2 -2
- package/dist/select/index.js +5 -5
- package/dist/snackbar/index.cjs +5 -5
- 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 +13 -13
- package/dist/table/index.d.cts +2 -2
- package/dist/table/index.d.ts +2 -2
- package/dist/table/index.js +12 -12
- 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.d.cts +3 -3
- package/dist/toolbar/index.d.ts +3 -3
- package/dist/toolbar/index.js +7 -7
- package/dist/tooltip/index.cjs +3 -3
- package/dist/tooltip/index.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-22EKNTWJ.js.map +0 -1
- package/dist/chunk-27UANGPW.cjs.map +0 -1
- package/dist/chunk-4LET2PEX.cjs.map +0 -1
- package/dist/chunk-5V7DXZWT.cjs.map +0 -1
- package/dist/chunk-67EXHO4T.js.map +0 -1
- package/dist/chunk-6LCYO2HG.cjs.map +0 -1
- package/dist/chunk-7KVXXHFX.cjs.map +0 -1
- package/dist/chunk-BGBAZMFE.js.map +0 -1
- package/dist/chunk-CMOBXLNA.js.map +0 -1
- package/dist/chunk-CP335H4Q.js +0 -125
- package/dist/chunk-CP335H4Q.js.map +0 -1
- package/dist/chunk-FDMYDIGI.js.map +0 -1
- package/dist/chunk-FPLX5FIK.js.map +0 -1
- package/dist/chunk-G74DHVHV.cjs +0 -125
- package/dist/chunk-G74DHVHV.cjs.map +0 -1
- package/dist/chunk-IXVM2XNS.js.map +0 -1
- package/dist/chunk-JKBBHAIC.cjs.map +0 -1
- package/dist/chunk-LH5A2SIX.js.map +0 -1
- package/dist/chunk-MLUHM3VG.cjs.map +0 -1
- package/dist/chunk-MW4YZVP5.cjs.map +0 -1
- package/dist/chunk-N77VOYCK.cjs.map +0 -1
- package/dist/chunk-O46UJUZM.cjs.map +0 -1
- package/dist/chunk-P7J6WZTO.cjs.map +0 -1
- package/dist/chunk-SDEKANNL.cjs.map +0 -1
- package/dist/chunk-SVCWSW2F.js.map +0 -1
- package/dist/chunk-TLECMA3B.js.map +0 -1
- package/dist/chunk-TWXZKUCG.cjs.map +0 -1
- package/dist/chunk-UDRAM6JU.js.map +0 -1
- package/dist/chunk-VHSTB7GB.cjs.map +0 -1
- package/dist/chunk-WGCGSM5P.js.map +0 -1
- package/dist/chunk-WT4WBHBR.js.map +0 -1
- package/dist/chunk-XO7WTE6O.js.map +0 -1
- /package/dist/{chunk-BBU7QG7L.js.map → chunk-26SO4LZ5.js.map} +0 -0
- /package/dist/{chunk-Y7VSWZWM.js.map → chunk-2JW3WSBF.js.map} +0 -0
- /package/dist/{chunk-TYGVKSL6.js.map → chunk-4LNTZPSQ.js.map} +0 -0
- /package/dist/{chunk-44T4HMFU.js.map → chunk-75GFIQRU.js.map} +0 -0
- /package/dist/{chunk-PG2EII6U.js.map → chunk-A3LMUPG3.js.map} +0 -0
- /package/dist/{chunk-BO4LTIJI.js.map → chunk-AR2ZOO6L.js.map} +0 -0
- /package/dist/{chunk-MP7LN5CW.js.map → chunk-D7SQ7LHJ.js.map} +0 -0
- /package/dist/{chunk-X6UKU3C3.js.map → chunk-GPVGGBIR.js.map} +0 -0
- /package/dist/{chunk-NACA72XI.js.map → chunk-GWHZFX2H.js.map} +0 -0
- /package/dist/{chunk-YIBPOLNN.js.map → chunk-HEX4IMLO.js.map} +0 -0
- /package/dist/{chunk-SCLFJHN2.js.map → chunk-L65MHFMD.js.map} +0 -0
- /package/dist/{chunk-OIXPYXR6.js.map → chunk-MPIVBAMY.js.map} +0 -0
- /package/dist/{chunk-DMOZURHV.js.map → chunk-O3QM3BFE.js.map} +0 -0
- /package/dist/{chunk-SFRILDXY.js.map → chunk-OOCCSMWM.js.map} +0 -0
- /package/dist/{chunk-EWTMX4DK.js.map → chunk-RHFD2Z5V.js.map} +0 -0
- /package/dist/{chunk-VRNCXYEP.js.map → chunk-SFFKQQ5Z.js.map} +0 -0
- /package/dist/{chunk-LIKSLFX6.js.map → chunk-WE2SBWZ6.js.map} +0 -0
- /package/dist/{chunk-GPK2THIG.js.map → chunk-WNDDS367.js.map} +0 -0
- /package/dist/{chunk-CEC3GO4R.js.map → chunk-YAKTVIVK.js.map} +0 -0
- /package/dist/{chunk-3WV6RTXX.js.map → chunk-YP4HUBKN.js.map} +0 -0
- /package/dist/{chunk-XK5USBHB.js.map → chunk-YXRKBKFB.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Menu/Menu.component.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useRef, useState } from 'react';\nimport { ChevronRight } from 'lucide-react';\nimport type { MenuProps, MenuItemType, MenuItem, MenuWrapperProps } from './Menu.types';\nimport { Dropdown } from '../Dropdown/Dropdown.component';\nimport { Tooltip } from '../Tooltip/Tooltip.component';\nimport { Kbd } from '../Kbd/Kbd.component';\nimport { renderIcon, useDialogFocus } from '../../utils';\n\n/**\n * MenuPanel - the bare menu list, without any trigger or dropdown wrapper.\n * Exported for use in SplitButton, ContextMenu, and other consumers that need\n * to render the menu content inside their own Dropdown / portal.\n *\n * ## This element owns the menu semantics, not the overlay around it\n *\n * `role=\"menu\"` belongs on the element that directly contains the items, which\n * is this `<ul>`. It used to sit on `Dropdown`'s content `<div>` instead, one\n * level further out, so the menu's only child was a list and the items were\n * `listitem`s - `aria-required-children`, and a structure no screen reader\n * could present as a menu.\n *\n * ## The keyboard model is not optional\n *\n * The items were plain `<li onClick>`: no role, no `tabIndex`, no key handler.\n * Every menu in the library - `Menu`, `ContextMenu`, `SplitButton`, `Table` and\n * `DataGrid` row actions - was therefore **operable by mouse only**, which is\n * WCAG 2.1.1 (Level A). Axe reported none of it, because every menu story\n * renders closed and axe only sees what is on screen.\n *\n * A `menuitem` role is a promise that arrow keys work, so the two land\n * together: roving `tabIndex` (one tab stop for the whole menu), Up/Down to\n * move, Home/End to jump, Enter/Space to activate, ArrowRight to open a\n * submenu. Focus enters on open and returns to the trigger on close.\n */\nexport const MenuPanel: React.FC<MenuProps> = ({\n items,\n className = '',\n onItemClick,\n onRequestClose,\n}) => {\n const listRef = useRef<HTMLUListElement>(null);\n const itemRefs = useRef(new Map<string, HTMLElement>());\n\n const registerItem = useCallback((id: string, element: HTMLElement | null) => {\n if (element) itemRefs.current.set(id, element);\n else itemRefs.current.delete(id);\n }, []);\n\n // Moves focus into the menu when it opens and back to the trigger when it\n // closes. `trapTab: false` - a menu is not a dialog, and confining Tab to it\n // would strand the user; the hook's frame-retry loop is what matters here,\n // because `Dropdown`'s content is `visibility: hidden` until it has been\n // positioned and `.focus()` on a hidden element is a silent no-op.\n //\n // `active` is unconditionally true: this panel is only ever mounted by an\n // open overlay (`Dropdown` and `ContextMenu` both render content\n // conditionally), so mounting *is* opening.\n useDialogFocus(true, listRef, { trapTab: false });\n\n // Handle menu item click\n const handleItemClick = useCallback(\n (item: MenuItem) => {\n if (item.disabled) return;\n\n // Execute the item's onClick handler first\n if (item.onClick) {\n item.onClick();\n }\n\n // Then call the onItemClick callback (which will close the dropdown)\n if (onItemClick) {\n onItemClick(item);\n }\n },\n [onItemClick],\n );\n\n // The items arrow keys move between, in visual order. Separators are not\n // stops, `component` items own their own focusable content, and a disabled\n // item is skipped rather than being a dead stop.\n const navigableIds = useMemo(\n () =>\n items\n .filter((item) => (item.type === 'item' || item.type === 'nested') && !item.disabled)\n .map((item) => item.id),\n [items],\n );\n\n const [focusedId, setFocusedId] = useState<string | null>(null);\n // Which submenu is open, owned here rather than inside each nested overlay:\n // the trigger has to advertise `aria-expanded`, and `ArrowLeft` in the child\n // has to be able to close it. Both were impossible while the overlay kept\n // that state to itself.\n const [openSubmenuId, setOpenSubmenuId] = useState<string | null>(null);\n // Validated rather than trusted: `items` can change while the menu is open\n // (a filtered list, an action that disables its neighbour), which would\n // otherwise leave the roving tabIndex on an id that no longer renders - and\n // therefore no tab stop in the menu at all.\n const activeId =\n focusedId && navigableIds.includes(focusedId) ? focusedId : (navigableIds[0] ?? null);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLUListElement>) => {\n // A `component` item may hold a real control - a text field, a switch -\n // whose own arrow keys must not be hijacked for menu navigation. Only\n // keys pressed on a menuitem drive the menu.\n if (!(event.target as HTMLElement).closest('[role=\"menuitem\"]')) return;\n if (navigableIds.length === 0) return;\n\n const focusAt = (index: number) => {\n const id = navigableIds[(index + navigableIds.length) % navigableIds.length];\n setFocusedId(id);\n itemRefs.current.get(id)?.focus();\n };\n const current = Math.max(0, navigableIds.indexOf(activeId ?? ''));\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n focusAt(current + 1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n focusAt(current - 1);\n break;\n case 'Home':\n event.preventDefault();\n focusAt(0);\n break;\n case 'End':\n event.preventDefault();\n focusAt(navigableIds.length - 1);\n break;\n case 'ArrowLeft':\n // Only meaningful in a submenu. `stopPropagation` keeps the parent\n // panel - which is a React ancestor, portal notwithstanding - from\n // treating the same keypress as its own.\n if (onRequestClose) {\n event.preventDefault();\n event.stopPropagation();\n onRequestClose();\n }\n break;\n default:\n break;\n }\n },\n [navigableIds, activeId, onRequestClose],\n );\n\n // Render individual menu item\n const renderMenuItem = (item: MenuItemType): React.ReactNode => {\n switch (item.type) {\n case 'item':\n return (\n <li\n key={item.id}\n ref={(element) => registerItem(item.id, element)}\n role=\"menuitem\"\n // Roving tabIndex: the menu is one tab stop and arrows move within\n // it. Making every item a tab stop would bury whatever follows a\n // ten-item menu ten presses deep.\n tabIndex={!item.disabled && item.id === activeId ? 0 : -1}\n // `aria-disabled`, not the `disabled` attribute, which an `li` does\n // not have. The click handler already returns early.\n aria-disabled={item.disabled || undefined}\n className={[\n 'eidos-menu-item',\n item.disabled ? 'eidos-menu-item--disabled' : '',\n item.color ? `eidos-menu-item--${item.color}` : '',\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={() => handleItemClick(item)}\n onKeyDown={(event) => {\n // An `li` is not a button, so Enter and Space produce no click of\n // their own - activation has to be wired by hand. Space is\n // prevented to stop the page scrolling underneath.\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n handleItemClick(item);\n }\n }}\n >\n {item.icon && renderIcon(item.icon, 'eidos-menu-icon')}\n <span className={`eidos-menu-label`}>{item.label}</span>\n {item.shortcut && (\n <Kbd size=\"sm\" className=\"eidos-menu-shortcut\">\n {item.shortcut}\n </Kbd>\n )}\n </li>\n );\n\n case 'component':\n // `role=\"none\"` because the `li` is a wrapper: whatever the consumer\n // renders owns its own semantics, and calling it a `menuitem` would nest\n // that control inside an interactive role.\n return (\n <li key={item.id} role=\"none\" className={`eidos-menu-component-item`}>\n {item.component}\n </li>\n );\n\n case 'separator':\n return <li key={item.id} role=\"separator\" className={`eidos-menu-separator`} />;\n\n case 'nested': {\n const triggerElement = (\n <div\n ref={(element) => registerItem(item.id, element)}\n role=\"menuitem\"\n aria-haspopup=\"menu\"\n aria-expanded={openSubmenuId === item.id}\n aria-disabled={item.disabled || undefined}\n tabIndex={!item.disabled && item.id === activeId ? 0 : -1}\n className={[\n 'eidos-menu-nested-trigger',\n item.disabled ? 'eidos-menu-nested-trigger--disabled' : '',\n ]\n .filter(Boolean)\n .join(' ')}\n onKeyDown={(event) => {\n if (item.disabled) return;\n // ArrowRight is the menu idiom for \"open this submenu\"; Enter and\n // Space do the same. This used to synthesise a click on itself so\n // the event would reach the overlay's trigger wrapper; the state\n // is now right here.\n if (event.key === 'ArrowRight' || event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n setOpenSubmenuId(item.id);\n }\n }}\n >\n {item.icon && renderIcon(item.icon, 'eidos-menu-icon')}\n <span className={`eidos-menu-label`}>{item.label}</span>\n <ChevronRight className={`eidos-menu-nested-arrow`} />\n </div>\n );\n\n return (\n <li key={item.id} role=\"none\" className={`eidos-menu-nested-item`}>\n <Dropdown\n open={openSubmenuId === item.id}\n onOpenChange={(next) => setOpenSubmenuId(next ? item.id : null)}\n trigger={triggerElement}\n content={\n <MenuPanel\n items={item.items}\n onItemClick={onItemClick}\n // Lets `ArrowLeft` in the child close this level. Focus\n // returns to the trigger on its own - `useDialogFocus`\n // restores it when the panel unmounts.\n onRequestClose={() => setOpenSubmenuId(null)}\n />\n }\n placement=\"right\"\n isNested={true}\n fullWidth\n // `disabled` was accepted on a nested item and then ignored, so a\n // disabled submenu opened like any other.\n disabled={item.disabled}\n />\n </li>\n );\n }\n\n default:\n return null;\n }\n };\n\n return (\n <ul ref={listRef} role=\"menu\" className={`eidos-menu ${className}`} onKeyDown={handleKeyDown}>\n {items.map(renderMenuItem)}\n </ul>\n );\n};\n\nexport const Menu: React.FC<MenuWrapperProps> = ({\n trigger,\n items,\n minWidth,\n maxWidth,\n minHeight,\n maxHeight,\n autoWidth = true,\n triggerRef,\n closeOnItemClick = true,\n tooltip,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const handleItemClick = useCallback(\n (_item: MenuItem) => {\n // `item.onClick` has already run, in `MenuPanel`. All that is left is\n // closing.\n //\n // This used to dispatch a synthetic `mousedown` at `document` on a 10ms\n // timer - a counterfeit \"click outside\" - because the overlay owned its\n // open state privately and that was the only lever available. It worked by\n // being indistinguishable from the click a mouse user had just made, and\n // it broke the moment nobody had clicked: activating an item with the\n // keyboard closed every other dropdown on the page that dismisses on\n // outside clicks.\n if (closeOnItemClick) setIsOpen(false);\n },\n [closeOnItemClick],\n );\n\n // The trigger opens a menu, and nothing said so: `Dropdown` adds no ARIA to\n // its trigger (deliberately - it does not know what its content is), so a\n // screen reader announced a plain button. `Menu` does know, and now that it\n // owns the open state it can describe that too (SC 4.1.2), which was the\n // missing half while the state was private.\n const describedTrigger = React.isValidElement(trigger)\n ? React.cloneElement(\n trigger as React.ReactElement<{ 'aria-haspopup'?: string; 'aria-expanded'?: boolean }>,\n { 'aria-haspopup': 'menu', 'aria-expanded': isOpen },\n )\n : trigger;\n\n const dropdown = (\n <Dropdown\n open={isOpen}\n onOpenChange={setIsOpen}\n trigger={describedTrigger}\n content={<MenuPanel items={items} onItemClick={handleItemClick} />}\n minWidth={minWidth}\n maxWidth={maxWidth}\n minHeight={minHeight}\n maxHeight={maxHeight}\n autoWidth={autoWidth}\n triggerRef={triggerRef}\n />\n );\n\n return tooltip ? <Tooltip message={tooltip}>{dropdown}</Tooltip> : dropdown;\n};\n"],"mappings":"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","names":[]}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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 _chunk6JHVXWDVcjs = require('./chunk-6JHVXWDV.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkXZLSHEHEcjs = require('./chunk-XZLSHEHE.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunk7VJCGKVPcjs = require('./chunk-7VJCGKVP.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chunkKIZVY57Hcjs = require('./chunk-KIZVY57H.cjs');
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
var _chunk3ETWFS2Ncjs = require('./chunk-3ETWFS2N.cjs');
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _chunkDA375AI6cjs = require('./chunk-DA375AI6.cjs');
|
|
19
19
|
|
|
20
20
|
// src/components/Table/TableFiltersDropdown.component.tsx
|
|
21
21
|
var _react = require('react'); var _react2 = _interopRequireDefault(_react);
|
|
@@ -28,7 +28,7 @@ var TableFiltersDropdown = ({
|
|
|
28
28
|
defaultFilters = {},
|
|
29
29
|
className = ""
|
|
30
30
|
}) => {
|
|
31
|
-
const [
|
|
31
|
+
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
32
32
|
const [pendingFilters, setPendingFilters] = _react.useState.call(void 0, () => {
|
|
33
33
|
const initialFilters = Object.keys(filters).length > 0 ? filters : defaultFilters;
|
|
34
34
|
if (Object.keys(initialFilters).length === 0) {
|
|
@@ -138,7 +138,7 @@ var TableFiltersDropdown = ({
|
|
|
138
138
|
}
|
|
139
139
|
});
|
|
140
140
|
onFiltersChange(cleanedFilters);
|
|
141
|
-
|
|
141
|
+
setIsOpen(false);
|
|
142
142
|
};
|
|
143
143
|
const resetFilters = () => {
|
|
144
144
|
if (Object.keys(filters).length === 0) {
|
|
@@ -151,27 +151,30 @@ var TableFiltersDropdown = ({
|
|
|
151
151
|
const emptyFilter = { [`__temp_${Date.now()}`]: "" };
|
|
152
152
|
setPendingFilters(emptyFilter);
|
|
153
153
|
onFiltersChange({});
|
|
154
|
-
|
|
154
|
+
setIsOpen(false);
|
|
155
155
|
};
|
|
156
156
|
const renderFilterInput = (row, column) => {
|
|
157
157
|
const filterType = column.filterType || "text";
|
|
158
158
|
switch (filterType) {
|
|
159
159
|
case "select":
|
|
160
160
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
161
|
-
|
|
161
|
+
_chunkXZLSHEHEcjs.Select,
|
|
162
162
|
{
|
|
163
163
|
value: row.value || "",
|
|
164
164
|
onChange: (value) => updateFilter(row.id, row.columnKey, value),
|
|
165
165
|
options: column.filterOptions || [],
|
|
166
166
|
placeholder: "Select value",
|
|
167
167
|
clearable: true,
|
|
168
|
-
inputProps: {
|
|
168
|
+
inputProps: {
|
|
169
|
+
size: "sm",
|
|
170
|
+
"aria-label": `Filter value${column.label ? ` for ${column.label}` : ""}`
|
|
171
|
+
},
|
|
169
172
|
fullWidth: true
|
|
170
173
|
}
|
|
171
174
|
);
|
|
172
175
|
case "boolean":
|
|
173
176
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
174
|
-
|
|
177
|
+
_chunkXZLSHEHEcjs.Select,
|
|
175
178
|
{
|
|
176
179
|
value: row.value === void 0 ? "" : String(row.value),
|
|
177
180
|
onChange: (value) => updateFilter(row.id, row.columnKey, value === "" ? void 0 : value === "true"),
|
|
@@ -182,7 +185,10 @@ var TableFiltersDropdown = ({
|
|
|
182
185
|
],
|
|
183
186
|
placeholder: "Select value",
|
|
184
187
|
clearable: false,
|
|
185
|
-
inputProps: {
|
|
188
|
+
inputProps: {
|
|
189
|
+
size: "sm",
|
|
190
|
+
"aria-label": `Filter value${column.label ? ` for ${column.label}` : ""}`
|
|
191
|
+
},
|
|
186
192
|
fullWidth: true
|
|
187
193
|
}
|
|
188
194
|
);
|
|
@@ -232,7 +238,7 @@ var TableFiltersDropdown = ({
|
|
|
232
238
|
}
|
|
233
239
|
};
|
|
234
240
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
235
|
-
|
|
241
|
+
_chunk6JHVXWDVcjs.DatePicker,
|
|
236
242
|
{
|
|
237
243
|
mode: dateMode,
|
|
238
244
|
value: prepareValue(),
|
|
@@ -250,7 +256,7 @@ var TableFiltersDropdown = ({
|
|
|
250
256
|
case "text":
|
|
251
257
|
default:
|
|
252
258
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
253
|
-
|
|
259
|
+
_chunk7VJCGKVPcjs.Input,
|
|
254
260
|
{
|
|
255
261
|
value: row.value || "",
|
|
256
262
|
onChange: (e) => updateFilter(row.id, row.columnKey, e.target.value),
|
|
@@ -264,12 +270,13 @@ var TableFiltersDropdown = ({
|
|
|
264
270
|
};
|
|
265
271
|
const canAddMore = filterRows.length < filterableColumns.length;
|
|
266
272
|
const triggerButton = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3ETWFS2Ncjs.Badge, { content: activeFilterCount, max: 9, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
267
|
-
|
|
273
|
+
_chunkDA375AI6cjs.Button,
|
|
268
274
|
{
|
|
269
275
|
variant: "text",
|
|
270
276
|
size: "sm",
|
|
271
277
|
icon: _lucidereact.Funnel,
|
|
272
278
|
"aria-label": hasActiveFilters ? `Filters (${activeFilterCount} active)` : "Filters",
|
|
279
|
+
"aria-expanded": isOpen,
|
|
273
280
|
className: hasActiveFilters ? "eidos-table-active-filter-button" : ""
|
|
274
281
|
}
|
|
275
282
|
) });
|
|
@@ -281,7 +288,7 @@ var TableFiltersDropdown = ({
|
|
|
281
288
|
const isTemporaryFilter = row.columnKey.startsWith("__temp_");
|
|
282
289
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "eidos-table-filter-row", children: [
|
|
283
290
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-table-column-select", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
284
|
-
|
|
291
|
+
_chunkXZLSHEHEcjs.Select,
|
|
285
292
|
{
|
|
286
293
|
value: isTemporaryFilter ? "" : row.columnKey,
|
|
287
294
|
onChange: (value) => {
|
|
@@ -293,12 +300,12 @@ var TableFiltersDropdown = ({
|
|
|
293
300
|
options: allColumns,
|
|
294
301
|
placeholder: "Select column",
|
|
295
302
|
clearable: false,
|
|
296
|
-
inputProps: { size: "sm" },
|
|
303
|
+
inputProps: { size: "sm", "aria-label": "Filter column" },
|
|
297
304
|
fullWidth: true
|
|
298
305
|
}
|
|
299
306
|
) }),
|
|
300
307
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-table-value-input", children: column && !isTemporaryFilter ? renderFilterInput(row, column) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
301
|
-
|
|
308
|
+
_chunk7VJCGKVPcjs.Input,
|
|
302
309
|
{
|
|
303
310
|
value: "",
|
|
304
311
|
disabled: true,
|
|
@@ -309,7 +316,7 @@ var TableFiltersDropdown = ({
|
|
|
309
316
|
}
|
|
310
317
|
) }),
|
|
311
318
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
312
|
-
|
|
319
|
+
_chunkDA375AI6cjs.Button,
|
|
313
320
|
{
|
|
314
321
|
variant: "text",
|
|
315
322
|
size: "sm",
|
|
@@ -324,7 +331,7 @@ var TableFiltersDropdown = ({
|
|
|
324
331
|
}) }),
|
|
325
332
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-table-filters-footer", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "eidos-table-filters-actions", children: [
|
|
326
333
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
327
|
-
|
|
334
|
+
_chunkDA375AI6cjs.Button,
|
|
328
335
|
{
|
|
329
336
|
variant: "text",
|
|
330
337
|
size: "sm",
|
|
@@ -334,10 +341,10 @@ var TableFiltersDropdown = ({
|
|
|
334
341
|
children: "Add Filter"
|
|
335
342
|
}
|
|
336
343
|
),
|
|
337
|
-
hasActiveFilters && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
344
|
+
hasActiveFilters && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDA375AI6cjs.Button, { variant: "text", size: "sm", color: "secondary", onClick: clearAllFilters, children: "Clear All" }),
|
|
338
345
|
hasChanges && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "eidos-table-filters-apply-actions", children: [
|
|
339
346
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
340
|
-
|
|
347
|
+
_chunkDA375AI6cjs.Button,
|
|
341
348
|
{
|
|
342
349
|
variant: "outlined",
|
|
343
350
|
size: "sm",
|
|
@@ -348,7 +355,7 @@ var TableFiltersDropdown = ({
|
|
|
348
355
|
}
|
|
349
356
|
),
|
|
350
357
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
351
|
-
|
|
358
|
+
_chunkDA375AI6cjs.Button,
|
|
352
359
|
{
|
|
353
360
|
variant: "filled",
|
|
354
361
|
size: "sm",
|
|
@@ -362,8 +369,10 @@ var TableFiltersDropdown = ({
|
|
|
362
369
|
] }) })
|
|
363
370
|
] });
|
|
364
371
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
365
|
-
|
|
372
|
+
_chunkKIZVY57Hcjs.Dropdown,
|
|
366
373
|
{
|
|
374
|
+
open: isOpen,
|
|
375
|
+
onOpenChange: setIsOpen,
|
|
367
376
|
trigger: triggerButton,
|
|
368
377
|
content: dropdownContent,
|
|
369
378
|
placement: "bottom",
|
|
@@ -372,8 +381,7 @@ var TableFiltersDropdown = ({
|
|
|
372
381
|
maxWidth: "auto",
|
|
373
382
|
maxHeight: "auto",
|
|
374
383
|
closeOnClickOutside: true
|
|
375
|
-
}
|
|
376
|
-
dropdownKey
|
|
384
|
+
}
|
|
377
385
|
);
|
|
378
386
|
};
|
|
379
387
|
|
|
@@ -4435,4 +4443,4 @@ function isAfter(a, b) {
|
|
|
4435
4443
|
|
|
4436
4444
|
|
|
4437
4445
|
exports.CSS = CSS; exports.useSensor = useSensor; exports.useSensors = useSensors; exports.closestCenter = closestCenter; exports.KeyboardSensor = KeyboardSensor; exports.PointerSensor = PointerSensor; exports.DndContext = DndContext; exports.arrayMove = arrayMove; exports.horizontalListSortingStrategy = horizontalListSortingStrategy; exports.verticalListSortingStrategy = verticalListSortingStrategy; exports.SortableContext = SortableContext; exports.useSortable = useSortable; exports.sortableKeyboardCoordinates = sortableKeyboardCoordinates; exports.TableFiltersDropdown = TableFiltersDropdown;
|
|
4438
|
-
//# sourceMappingURL=chunk-
|
|
4446
|
+
//# sourceMappingURL=chunk-PMSENLOA.cjs.map
|