UNPKG

@gechiui/block-editor

Version:
57 lines (44 loc) 1.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useUndoAutomaticChange = useUndoAutomaticChange; var _data = require("@gechiui/data"); var _compose = require("@gechiui/compose"); var _keycodes = require("@gechiui/keycodes"); var _store = require("../../store"); /** * GeChiUI 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; } if (!didAutomaticChange()) { return; } event.preventDefault(); getSettings().__experimentalUndo(); } element.addEventListener('keydown', onKeyDown); return () => { element.removeEventListener('keydown', onKeyDown); }; }, []); } //# sourceMappingURL=use-undo-automatic-change.js.map