@wordpress/block-editor
Version:
40 lines (37 loc) • 926 B
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.RichTextShortcut = RichTextShortcut;
var _keycodes = require("@wordpress/keycodes");
var _element = require("@wordpress/element");
var _ = require("./");
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function RichTextShortcut({
character,
type,
onUse
}) {
const keyboardShortcuts = (0, _element.useContext)(_.keyboardShortcutContext);
const onUseRef = (0, _element.useRef)();
onUseRef.current = onUse;
(0, _element.useEffect)(() => {
function callback(event) {
if (_keycodes.isKeyboardEvent[type](event, character)) {
onUseRef.current();
event.preventDefault();
}
}
keyboardShortcuts.current.add(callback);
return () => {
keyboardShortcuts.current.delete(callback);
};
}, [character, type]);
return null;
}
//# sourceMappingURL=shortcut.js.map
;