vue-hooks-plus
Version:
Vue hooks library
24 lines (23 loc) • 1.03 kB
TypeScript
import { BasicTarget } from '../utils/domTarget';
export type UseKeyPressKeyPredicate = (event: KeyboardEvent) => boolean;
export type UseKeyPressKeyType = number | string;
export type UseKeyPressKeyFilter = UseKeyPressKeyType | UseKeyPressKeyType[] | ((event: KeyboardEvent) => boolean);
export type UseKeyPressEventHandler = (event: KeyboardEvent) => void;
export type UseKeyPressKeyEvent = 'keydown' | 'keyup';
export type UseKeyPressTarget = BasicTarget<HTMLElement | Document | Window>;
export type UseKeyPressOptions = {
/**
* Trigger Events
*/
events?: UseKeyPressKeyEvent[];
/**
* DOM element or ref
*/
target?: UseKeyPressTarget;
/**
* Exact match. If set true, the event will only be trigger when the keys match exactly. For example, pressing [shif + c] will not trigger [c]
*/
exactMatch?: boolean;
};
declare function useKeyPress(keyFilter: UseKeyPressKeyFilter, eventHandler: UseKeyPressEventHandler, option?: UseKeyPressOptions): void;
export default useKeyPress;