@guruhotel/aura-hooks
Version:
🪝 Hooks library designed by the Guruhotel team for Aura UI
1 lines • 523 B
JavaScript
import{useEffect as e}from"react";import{getHotkeyMatcher as t,getHotkeyHandler as n}from"./parse-hotkey";export{n as getHotkeyHandler};export function useHotkeys(n){e((()=>{const e=e=>{n.forEach((([n,o])=>{t(n)(e)&&function(e){return!(e.target instanceof HTMLElement&&(e.target.isContentEditable||["INPUT","TEXTAREA","SELECT"].includes(e.target.tagName)))}(e)&&(e.preventDefault(),o(e))}))};return document.documentElement.addEventListener("keydown",e),()=>document.documentElement.removeEventListener("keydown",e)}),[n])}