@engie-group/fluid-design-system-react
Version:
Fluid Design System React
29 lines (26 loc) • 1.31 kB
JavaScript
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 };