UNPKG

@wordpress/block-editor

Version:
33 lines (32 loc) 805 B
/** * WordPress dependencies */ import { isKeyboardEvent } from '@wordpress/keycodes'; import { useEffect, useContext, useRef } from '@wordpress/element'; /** * Internal dependencies */ import { keyboardShortcutContext } from './'; export function RichTextShortcut({ character, type, onUse }) { const keyboardShortcuts = useContext(keyboardShortcutContext); const onUseRef = useRef(); onUseRef.current = onUse; useEffect(() => { function callback(event) { if (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