animejs
Version:
JavaScript animation engine
149 lines (148 loc) • 4.41 kB
TypeScript
/**
* Base class used to create Timers, Animations and Timelines
*/
export class Timer extends Clock {
/**
* @param {TimerParams} [parameters]
* @param {Timeline} [parent]
* @param {Number} [parentPosition]
*/
constructor(parameters?: TimerParams, parent?: Timeline, parentPosition?: number);
/** @type {String|Number} */
id: string | number;
/** @type {Timeline} */
parent: Timeline;
duration: number;
/** @type {Boolean} */
backwards: boolean;
/** @type {Boolean} */
paused: boolean;
/** @type {Boolean} */
began: boolean;
/** @type {Boolean} */
completed: boolean;
/** @type {Callback<this>} */
onBegin: Callback<this>;
/** @type {Callback<this>} */
onBeforeUpdate: Callback<this>;
/** @type {Callback<this>} */
onUpdate: Callback<this>;
/** @type {Callback<this>} */
onLoop: Callback<this>;
/** @type {Callback<this>} */
onPause: Callback<this>;
/** @type {Callback<this>} */
onComplete: Callback<this>;
/** @type {Number} */
iterationDuration: number;
/** @type {Number} */
iterationCount: number;
/** @type {Boolean|ScrollObserver} */
_autoplay: boolean | ScrollObserver;
/** @type {Number} */
_offset: number;
/** @type {Number} */
_delay: number;
/** @type {Number} */
_loopDelay: number;
/** @type {Number} */
_iterationTime: number;
/** @type {Number} */
_currentIteration: number;
/** @type {Function} */
_resolve: Function;
/** @type {Boolean} */
_running: boolean;
/** @type {Number} */
_reversed: number;
/** @type {Number} */
_reverse: number;
/** @type {Number} */
_cancelled: number;
/** @type {Boolean} */
_alternate: boolean;
/** @type {Renderable} */
_prev: Renderable;
/** @type {Renderable} */
_next: Renderable;
set cancelled(cancelled: boolean);
get cancelled(): boolean;
set currentTime(time: number);
get currentTime(): number;
set iterationCurrentTime(time: number);
get iterationCurrentTime(): number;
set progress(progress: number);
get progress(): number;
set iterationProgress(progress: number);
get iterationProgress(): number;
set currentIteration(iterationCount: number);
get currentIteration(): number;
set reversed(reverse: boolean);
get reversed(): boolean;
/**
* @param {Boolean} [softReset]
* @return {this}
*/
reset(softReset?: boolean): this;
/**
* @param {Boolean} internalRender
* @return {this}
*/
init(internalRender?: boolean): this;
/** @return {this} */
resetTime(): this;
/** @return {this} */
pause(): this;
/** @return {this} */
resume(): this;
/** @return {this} */
restart(): this;
/**
* @param {Number} time
* @param {Boolean|Number} [muteCallbacks]
* @param {Boolean|Number} [internalRender]
* @return {this}
*/
seek(time: number, muteCallbacks?: boolean | number, internalRender?: boolean | number): this;
/** @return {this} */
alternate(): this;
/** @return {this} */
play(): this;
/** @return {this} */
reverse(): this;
/** @return {this} */
cancel(): this;
/**
* @param {Number} newDuration
* @return {this}
*/
stretch(newDuration: number): this;
/**
* Cancels the timer by seeking it back to 0 and reverting the attached scroller if necessary
* @return {this}
*/
revert(): this;
/**
* Imediatly completes the timer, cancels it and triggers the onComplete callback
* @param {Boolean|Number} [muteCallbacks]
* @return {this}
*/
complete(muteCallbacks?: boolean | number): this;
/**
* @typedef {this & {then: null}} ResolvedTimer
*/
/**
* @param {Callback<ResolvedTimer>} [callback]
* @return Promise<this>
*/
then(callback?: Callback<this & {
then: null;
}>): Promise<any>;
}
export function createTimer(parameters?: TimerParams): Timer;
import { Clock } from '../core/clock.js';
import type { Timeline } from '../timeline/timeline.js';
import type { Callback } from '../types/index.js';
import type { ScrollObserver } from '../events/scroll.js';
import type { Renderable } from '../types/index.js';
import type { TimerParams } from '../types/index.js';