UNPKG

@engie-group/fluid-design-system-react

Version:

Fluid Design System React

29 lines (26 loc) 1.31 kB
import { jsx } from 'react/jsx-runtime'; import React__default from 'react'; import { NJCheckbox } from '../../checkbox/NJCheckbox.js'; import '../../menu/anchor/NJMenuAnchor.js'; import '../../menu/dropdown/NJMenuDropdown.js'; import '../../menu/group/NJMenuGroup.js'; import '../../menu/item/NJMenuItem.js'; import '../../popover/anchor/NJPopoverAnchor.js'; import '../../popover/NJPopoverContext.js'; import '../../popover/NJPopoverInteractionContext.js'; import '../../menu/NJMenuContext.js'; import { useMenuSelectionContext } from '../../menu/NJMenuSelectionContext.js'; import { useMenuItemContext } from '../../menu/NJMenuItemContext.js'; import '../../select/root/NJSelectRoot.js'; import { NJSelectItem } from '../../select/item/NJSelectItem.js'; const NJMultiSelectItem = React__default.forwardRef((props, forwardedRef) => { return jsx(NJSelectItem, { ref: forwardedRef, ...props, leading: jsx(Checkbox, {}) }); }); NJMultiSelectItem.displayName = 'NJMultiSelectItem'; const Checkbox = () => { const { index } = useMenuItemContext(); const selectionContext = useMenuSelectionContext(); const isSelected = selectionContext?.selectedIndexes.includes(index) ?? false; return jsx(NJCheckbox, { isChecked: isSelected, isPresentational: true }); }; export { NJMultiSelectItem };