UNPKG

@wordpress/block-editor

Version:
65 lines (50 loc) 1.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useUndoAutomaticChange = useUndoAutomaticChange; var _data = require("@wordpress/data"); var _compose = require("@wordpress/compose"); var _keycodes = require("@wordpress/keycodes"); var _store = require("../../store"); /** * WordPress dependencies */ /** * Internal dependencies */ function useUndoAutomaticChange() { const { didAutomaticChange, getSettings } = (0, _data.useSelect)(_store.store); return (0, _compose.useRefEffect)(element => { function onKeyDown(event) { const { keyCode } = event; if (event.defaultPrevented) { return; } if (keyCode !== _keycodes.DELETE && keyCode !== _keycodes.BACKSPACE && keyCode !== _keycodes.ESCAPE) { return; } const { __experimentalUndo } = getSettings(); if (!__experimentalUndo) { return; } if (!didAutomaticChange()) { return; } event.preventDefault(); __experimentalUndo(); } element.addEventListener('keydown', onKeyDown); return () => { element.removeEventListener('keydown', onKeyDown); }; }, []); } //# sourceMappingURL=use-undo-automatic-change.js.map