UNPKG

framer-motion

Version:

A simple and powerful JavaScript animation library

24 lines (21 loc) 654 B
import { time, frame, cancelFrame } from 'motion-dom'; import { secondsToMilliseconds } from 'motion-utils'; /** * Timeout defined in ms */ function delay(callback, timeout) { const start = time.now(); const checkElapsed = ({ timestamp }) => { const elapsed = timestamp - start; if (elapsed >= timeout) { cancelFrame(checkElapsed); callback(elapsed - timeout); } }; frame.setup(checkElapsed, true); return () => cancelFrame(checkElapsed); } function delayInSeconds(callback, timeout) { return delay(callback, secondsToMilliseconds(timeout)); } export { delay, delayInSeconds };