export function useEscapeShortcut()

in src/components/BannerCloseButton.tsx [10:27]


export function useEscapeShortcut(
    eventHandler: (event: KeyboardEvent) => void,
    deps: React.DependencyList = [],
): void {
    function handleEscapeKeydown(event: KeyboardEvent) {
        // IE key name is 'Esc', because IE
        const isEscapeKey = event.key === 'Escape' || event.key === 'Esc';
        if (isEscapeKey) {
            eventHandler(event);
        }
    }

    useEffect(() => {
        window.addEventListener('keydown', handleEscapeKeydown);

        return () => window.removeEventListener('keydown', handleEscapeKeydown);
    }, deps);
}