frontend/.pnpm-store/v3/files/83/1a7e0495d2c61c8d394e607b3c7ce474000bd636a658f91c78edc7ae87c19b8b3492fa1c87a4dd6f245103a1b9ec4fe1312f8b8eef665c95548b4636c7f86a

41 lines
1.4 KiB
Plaintext

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 asyncScheduler} 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
* Schedule div height animation
* ```ts
* // html: <div style="background: #0ff;"></div>
* import { animationFrameScheduler } from 'rxjs';
*
* const div = document.querySelector('div');
*
* animationFrameScheduler.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 a div element growing in height
* ```
*/
export const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);
/**
* @deprecated renamed. Use {@link animationFrameScheduler}
*/
export const animationFrame = animationFrameScheduler;