UNPKG

@1771technologies/lytenyte-pro

Version:

Blazingly fast headless React data grid with 100s of features.

23 lines (22 loc) 686 B
const DEFAULT_KEYBINDINGS = { accept: ["Enter", "Tab"], dismiss: ["Escape"], navigateUp: ["ArrowUp"], navigateDown: ["ArrowDown"], }; export function handleCompletionKeyDown(key, keybindings) { const bindings = { ...DEFAULT_KEYBINDINGS, ...keybindings }; if (bindings.navigateUp.includes(key)) { return { type: "navigate", direction: "up" }; } if (bindings.navigateDown.includes(key)) { return { type: "navigate", direction: "down" }; } if (bindings.accept.includes(key)) { return { type: "accept" }; } if (bindings.dismiss.includes(key)) { return { type: "dismiss" }; } return { type: "none" }; }