@s-ui/react-molecule-dropdown-option
Version:
`MoleculeDropdownOption` is a component that wraps a composition of checkbox + text.
42 lines • 1.26 kB
JavaScript
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;