UNPKG

@atlaskit/popup

Version:

A popup displays brief content in an overlay.

22 lines 675 B
import { useCallback, useRef } from 'react'; export const useAnimationFrame = () => { const animationsRef = useRef([]); const requestFrame = useCallback(callback => { const id = requestAnimationFrame(callback); animationsRef.current.push(id); return id; }, []); const cancelFrame = useCallback(id => { cancelAnimationFrame(id); animationsRef.current = animationsRef.current.filter(frameId => frameId !== id); }, []); const cancelAllFrames = useCallback(() => { animationsRef.current.forEach(id => cancelAnimationFrame(id)); animationsRef.current = []; }, []); return { requestFrame, cancelFrame, cancelAllFrames }; };