UNPKG

@s-ui/react-molecule-dropdown-option

Version:

`MoleculeDropdownOption` is a component that wraps a composition of checkbox + text.

42 lines 1.26 kB
var handlersFactory = function handlersFactory(_ref) { var _ref$disabled = _ref.disabled, disabled = _ref$disabled === void 0 ? false : _ref$disabled, onSelect = _ref.onSelect, _ref$selectKey = _ref.selectKey, selectKey = _ref$selectKey === void 0 ? 'Enter' : _ref$selectKey, selected = _ref.selected, setInnerSelected = _ref.setInnerSelected, value = _ref.value; var handleClick = function handleClick(ev) { if (!disabled) { onSelect(ev, { value: value, selected: !selected }); setInnerSelected(!selected); } }; var handleKeyDown = function handleKeyDown(ev) { var key = ev.key; var isStringSelectKey = typeof selectKey === 'string'; var isPressedSelectKey = isStringSelectKey ? key === selectKey : selectKey.includes(key); if (isPressedSelectKey && !disabled) { ev.preventDefault(); onSelect(ev, { value: value, selected: !selected }); setInnerSelected(!selected); } }; var handleFocus = function handleFocus(ev) { ev.preventDefault(); ev.stopPropagation(); }; return { handleClick: handleClick, handleKeyDown: handleKeyDown, handleFocus: handleFocus }; }; export default handlersFactory;