@atlaskit/popup
Version:
A popup displays brief content in an overlay.
32 lines (31 loc) • 983 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useAnimationFrame = void 0;
var _react = require("react");
var useAnimationFrame = exports.useAnimationFrame = function useAnimationFrame() {
var animationsRef = (0, _react.useRef)([]);
var requestFrame = (0, _react.useCallback)(function (callback) {
var id = requestAnimationFrame(callback);
animationsRef.current.push(id);
return id;
}, []);
var cancelFrame = (0, _react.useCallback)(function (id) {
cancelAnimationFrame(id);
animationsRef.current = animationsRef.current.filter(function (frameId) {
return frameId !== id;
});
}, []);
var cancelAllFrames = (0, _react.useCallback)(function () {
animationsRef.current.forEach(function (id) {
return cancelAnimationFrame(id);
});
animationsRef.current = [];
}, []);
return {
requestFrame: requestFrame,
cancelFrame: cancelFrame,
cancelAllFrames: cancelAllFrames
};
};