UNPKG

1.61 kBSource Map (JSON)View Raw
1{"version":3,"file":"useKeyDown.js","sources":["../src/hooks/useKeyDown.js"],"sourcesContent":["import { useCallback, useEffect, useMemo } from 'react'\n\nexport function useKeyDown(key, callback) {\n const keys = useMemo(() => (Array.isArray(key) ? key : [key]), [key])\n\n const handleKeyDown = useCallback(\n event => {\n if (keys.includes(event.keyCode)) {\n callback(event.keyCode, event)\n }\n },\n [callback, keys]\n )\n\n useEffect(() => {\n if (typeof window === 'undefined') {\n return\n }\n window.addEventListener('keydown', handleKeyDown)\n return () => {\n window.removeEventListener('keydown', handleKeyDown)\n }\n }, [handleKeyDown])\n}\n"],"names":["useKeyDown","key","callback","keys","useMemo","Array","isArray","handleKeyDown","useCallback","event","includes","keyCode","useEffect","window","addEventListener","removeEventListener"],"mappings":";;;;;;;;;AAEO,SAASA,UAAT,CAAoBC,GAApB,EAAyBC,QAAzB,EAAmC;AACxC,MAAMC,IAAI,GAAGC,aAAO,CAAC;AAAA,WAAOC,KAAK,CAACC,OAAN,CAAcL,GAAd,IAAqBA,GAArB,GAA2B,CAACA,GAAD,CAAlC;AAAA,GAAD,EAA2C,CAACA,GAAD,CAA3C,CAApB;AAEA,MAAMM,aAAa,GAAGC,iBAAW,CAC/B,UAAAC,KAAK,EAAI;AACP,QAAIN,IAAI,CAACO,QAAL,CAAcD,KAAK,CAACE,OAApB,CAAJ,EAAkC;AAChCT,MAAAA,QAAQ,CAACO,KAAK,CAACE,OAAP,EAAgBF,KAAhB,CAAR;AACD;AACF,GAL8B,EAM/B,CAACP,QAAD,EAAWC,IAAX,CAN+B,CAAjC;AASAS,EAAAA,eAAS,CAAC,YAAM;AACd,QAAI,OAAOC,MAAP,KAAkB,WAAtB,EAAmC;AACjC;AACD;;AACDA,IAAAA,MAAM,CAACC,gBAAP,CAAwB,SAAxB,EAAmCP,aAAnC;AACA,WAAO,YAAM;AACXM,MAAAA,MAAM,CAACE,mBAAP,CAA2B,SAA3B,EAAsCR,aAAtC;AACD,KAFD;AAGD,GARQ,EAQN,CAACA,aAAD,CARM,CAAT;AASD;;;;"}
\No newline at end of file