vevet
Version:
Vevet is a JavaScript library for creative development that simplifies crafting rich interactions like split text animations, carousels, marquees, preloading, and more.
81 lines • 2.77 kB
TypeScript
import { Snap } from '..';
import { ISnapTransitionArg, SnapSlide } from '../..';
import { IProps } from './types';
export declare class SnapTrack {
private props;
private _slides;
private ctx;
/** The animation frame */
private _raf;
/** The animationtimeline */
private _tm?;
/** Interpolation impulse */
private _impulse;
/** The current track value */
private _current;
/** The target track value */
private _target;
/** Target slide index */
private _targetIndex?;
/** Whether the track is destroyed */
private _isDestroyed;
constructor(props: typeof Snap.prototype.props, _slides: () => SnapSlide[], ctx: IProps);
private get slides();
/** Gets the target slide index */
get targetIndex(): number | undefined;
/** Gets the interpolation impulse */
get impulse(): number;
/** Gets the current track value. */
get current(): number;
/** Sets the current track value */
set current(value: number);
/** Gets the target track value. */
get target(): number;
/** Sets the target track value */
set target(value: number);
/** Detect if can loop */
get canLoop(): boolean;
/** Get looped current value */
get loopedCurrent(): number;
/** Get track offset */
get offset(): number;
/** Get loop count */
get loopCount(): number;
/** If transition in progress */
get isTransitioning(): boolean;
/** Get minimum track value */
get min(): number;
/** Get maximum track value */
get max(): number;
/** Get track progress. From 0 to 1 if not loop. From -Infinity to Infinity if loop */
get progress(): number;
/** If the start has been reached */
get isStart(): boolean;
/** If the end has been reached */
get isEnd(): boolean;
/** Whether the track is interpolated */
private get isInterpolated();
/** Handle RAF update, interpolate track values */
private _handleRaf;
/** Awake requestAnimationFrame */
awake(): void;
/** Set track target value */
updateTarget(value: number): void;
/** Clamp target value between min and max values */
clampTarget(): void;
/** Set a value to current & target value instantly */
set(value: number): void;
/** Loop a coordinate if can loop */
loopCoord(coord: number): number;
/** Interpolate the current track value */
private _lerp;
/** Go to a definite coordinate */
toCoord(coordinate: number, options?: ISnapTransitionArg): boolean;
/** Set target index */
setTargetIndex(value: number | undefined): void;
/** Cancel sticky behavior */
cancelTransition(): void;
/** Destroy the instance */
destroy(): void;
}
//# sourceMappingURL=index.d.ts.map