UNPKG

@navikt/ds-react

Version:

React components from the Norwegian Labour and Welfare Administration.

22 lines (18 loc) 634 B
import { useEffect } from "react"; import { useCallbackRef } from "../../../util/hooks"; export function useEscapeKeydown( callback?: (event: KeyboardEvent) => void, ownerDocument: Document = globalThis?.document, ) { const onEscapeKeyDown = useCallbackRef(callback); useEffect(() => { const handleKeyDown = (event: KeyboardEvent) => { if (event.key === "Escape") { onEscapeKeyDown(event); } }; ownerDocument.addEventListener("keydown", handleKeyDown, true); return () => ownerDocument.removeEventListener("keydown", handleKeyDown, true); }, [onEscapeKeyDown, ownerDocument]); }