@navikt/ds-react
Version:
React components from the Norwegian Labour and Welfare Administration.
23 lines • 939 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useEscapeKeydown = useEscapeKeydown;
const react_1 = require("react");
const hooks_1 = require("../../../util/hooks");
function useEscapeKeydown(callback, ownerDocument = globalThis === null || globalThis === void 0 ? void 0 : globalThis.document, enabled = true) {
const onEscapeKeyDown = (0, hooks_1.useCallbackRef)(callback);
(0, react_1.useEffect)(() => {
if (!enabled) {
return;
}
const handleKeyDown = (event) => {
if (event.key === "Escape") {
onEscapeKeyDown(event);
}
};
ownerDocument.addEventListener("keydown", handleKeyDown, true);
return () => {
ownerDocument.removeEventListener("keydown", handleKeyDown, true);
};
}, [onEscapeKeyDown, ownerDocument, enabled]);
}
//# sourceMappingURL=useEscapeKeydown.js.map