blob: a8b1bf70a014b1560924e98ad9e264c47352776d [file] [log] [blame]
/** PURE_IMPORTS_START ._AnimationFrameAction,._AnimationFrameScheduler PURE_IMPORTS_END */
import { AnimationFrameAction } from './AnimationFrameAction';
import { AnimationFrameScheduler } from './AnimationFrameScheduler';
/**
*
* Animation Frame Scheduler
*
* <span class="informal">Perform task when `window.requestAnimationFrame` would fire</span>
*
* When `animationFrame` scheduler is used with delay, it will fall back to {@link async} scheduler
* behaviour.
*
* Without delay, `animationFrame` scheduler can be used to create smooth browser animations.
* It makes sure scheduled task will happen just before next browser content repaint,
* thus performing animations as efficiently as possible.
*
* @example <caption>Schedule div height animation</caption>
* const div = document.querySelector('.some-div');
*
* Rx.Scheduler.schedule(function(height) {
* div.style.height = height + "px";
*
* this.schedule(height + 1); // `this` references currently executing Action,
* // which we reschedule with new state
* }, 0, 0);
*
* // You will see .some-div element growing in height
*
*
* @static true
* @name animationFrame
* @owner Scheduler
*/
export var animationFrame = /*@__PURE__*/ new AnimationFrameScheduler(AnimationFrameAction);
//# sourceMappingURL=animationFrame.js.map