UNPKG

@gechiui/block-editor

Version:
30 lines (28 loc) 754 B
/** * GeChiUI dependencies */ import { useRefEffect } from '@gechiui/compose'; import { isKeyboardEvent } from '@gechiui/keycodes'; /** * Hook to prevent default behaviors for key combinations otherwise handled * internally by RichText. * * @return {import('react').RefObject} The component to be rendered. */ export function useRemoveBrowserShortcuts() { return useRefEffect( ( node ) => { function onKeydown( event ) { if ( isKeyboardEvent.primary( event, 'z' ) || isKeyboardEvent.primary( event, 'y' ) || isKeyboardEvent.primaryShift( event, 'z' ) ) { event.preventDefault(); } } node.addEventListener( 'keydown', onKeydown ); return () => { node.addEventListener( 'keydown', onKeydown ); }; }, [] ); }