UNPKG

1.44 kBSource Map (JSON)View Raw
1{"version":3,"file":"useClickOutside.js","sources":["../src/hooks/useClickOutside.js"],"sourcesContent":["import { useCallback, useRef, useEffect } from 'react'\n\n/* eslint-disable react-hooks/rules-of-hooks */\nexport function useClickOutside(cb, ref = useRef()) {\n /* eslint-enable react-hooks/rules-of-hooks */\n const handleClick = useCallback(\n e => {\n if (!ref.current.contains(e.target)) {\n cb()\n }\n },\n [cb, ref]\n )\n\n useEffect(() => {\n document.addEventListener('click', handleClick, true)\n return () => {\n document.removeEventListener('click', handleClick, true)\n }\n }, [handleClick])\n\n return { ref }\n}\n"],"names":["useClickOutside","cb","ref","useRef","handleClick","useCallback","e","current","contains","target","useEffect","document","addEventListener","removeEventListener"],"mappings":";;;;;;;;;AAEA;;AACO,SAASA,eAAT,CAAyBC,EAAzB,EAA6C;AAAA,MAAhBC,GAAgB,uEAAVC,YAAM,EAAI;;AAClD;AACA,MAAMC,WAAW,GAAGC,iBAAW,CAC7B,UAAAC,CAAC,EAAI;AACH,QAAI,CAACJ,GAAG,CAACK,OAAJ,CAAYC,QAAZ,CAAqBF,CAAC,CAACG,MAAvB,CAAL,EAAqC;AACnCR,MAAAA,EAAE;AACH;AACF,GAL4B,EAM7B,CAACA,EAAD,EAAKC,GAAL,CAN6B,CAA/B;AASAQ,EAAAA,eAAS,CAAC,YAAM;AACdC,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,OAA1B,EAAmCR,WAAnC,EAAgD,IAAhD;AACA,WAAO,YAAM;AACXO,MAAAA,QAAQ,CAACE,mBAAT,CAA6B,OAA7B,EAAsCT,WAAtC,EAAmD,IAAnD;AACD,KAFD;AAGD,GALQ,EAKN,CAACA,WAAD,CALM,CAAT;AAOA,SAAO;AAAEF,IAAAA,GAAG,EAAHA;AAAF,GAAP;AACD;;;;"}
\No newline at end of file