@awsui/components-react
Version:
On July 19th, 2022, we launched [Cloudscape Design System](https://cloudscape.design). Cloudscape is an evolution of AWS-UI. It consists of user interface guidelines, front-end components, design resources, and development tools for building intuitive, en
54 lines • 1.63 kB
JavaScript
import { KeyCode } from '../../../keycode';
const HOME = 36;
const END = 35;
export const useMenuKeyboard = ({ goUp, goDown, selectOption, goHome, goEnd, closeDropdown, preventNativeSpace = false, }) => {
return (event) => {
switch (event.detail.keyCode) {
case KeyCode.up:
event.preventDefault();
goUp();
break;
case KeyCode.down:
event.preventDefault();
goDown();
break;
case HOME:
goHome();
break;
case END:
goEnd();
break;
case KeyCode.escape:
event.stopPropagation();
closeDropdown();
break;
case KeyCode.enter:
event.preventDefault();
selectOption();
break;
case KeyCode.space:
if (preventNativeSpace) {
event.preventDefault();
selectOption();
}
}
};
};
export const useTriggerKeyboard = ({ openDropdown, goHome }) => {
return (event) => {
switch (event.detail.keyCode) {
case KeyCode.up:
case KeyCode.down:
event.preventDefault();
goHome();
openDropdown();
break;
case KeyCode.space:
case KeyCode.enter:
event.preventDefault();
openDropdown();
break;
}
};
};
//# sourceMappingURL=use-keyboard.js.map