UNPKG

@loke/ui

Version:
2 lines (1 loc) 524 B
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};