@loke/ui
Version:
2 lines (1 loc) • 524 B
JavaScript
import{useCallbackRef}from"@loke/ui/use-callback-ref";import{useEffect}from"react";function useEscapeKeydown(onEscapeKeyDownProp,ownerDocument=globalThis?.document){let onEscapeKeyDown=useCallbackRef(onEscapeKeyDownProp);useEffect(()=>{let handleKeyDown=(event)=>{if(event.key==="Escape")onEscapeKeyDown(event)};return ownerDocument.addEventListener("keydown",handleKeyDown,{capture:!0}),()=>ownerDocument.removeEventListener("keydown",handleKeyDown,{capture:!0})},[onEscapeKeyDown,ownerDocument])}export{useEscapeKeydown};