aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
86 lines • 4.11 kB
TypeScript
import { ChartDataPoint, ChartSeries } from '../types';
export interface AnimationKeyframe {
progress: number;
value: number;
easing?: (t: number) => number;
}
export interface AnimationSequence {
keyframes: AnimationKeyframe[];
duration: number;
delay: number;
repeat: boolean;
yoyo: boolean;
}
export declare const easingFunctions: {
linear: (t: number) => number;
easeInQuad: (t: number) => number;
easeOutQuad: (t: number) => number;
easeInOutQuad: (t: number) => number;
easeInCubic: (t: number) => number;
easeOutCubic: (t: number) => number;
easeInOutCubic: (t: number) => number;
easeInQuart: (t: number) => number;
easeOutQuart: (t: number) => number;
easeInOutQuart: (t: number) => number;
easeInSine: (t: number) => number;
easeOutSine: (t: number) => number;
easeInOutSine: (t: number) => number;
easeInExpo: (t: number) => number;
easeOutExpo: (t: number) => number;
easeInOutExpo: (t: number) => number;
easeInCirc: (t: number) => number;
easeOutCirc: (t: number) => number;
easeInOutCirc: (t: number) => number;
easeInBack: (t: number) => number;
easeOutBack: (t: number) => number;
easeInOutBack: (t: number) => number;
easeOutBounce: (t: number) => number;
easeInBounce: (t: number) => number;
easeInOutBounce: (t: number) => number;
};
export declare class ChartAnimationUtils {
static createKeyframeSequence(from: number, to: number, steps?: number, easing?: keyof typeof easingFunctions): AnimationKeyframe[];
static interpolateValue(from: number, to: number, progress: number, easing?: keyof typeof easingFunctions): number;
static animateDataPoints(dataPoints: ChartDataPoint[], targetValues: number[], progress: number, easing?: keyof typeof easingFunctions): ChartDataPoint[];
static animateSeries(series: ChartSeries[], targetSeries: ChartSeries[], progress: number, easing?: keyof typeof easingFunctions, staggerDelay?: number): ChartSeries[];
static createSequence(keyframes: AnimationKeyframe[], duration: number, delay?: number, repeat?: boolean, yoyo?: boolean): AnimationSequence;
static getValueAtProgress(sequence: AnimationSequence, progress: number): number;
static createSpringAnimation(from: number, to: number, config?: {
stiffness?: number;
damping?: number;
mass?: number;
}): AnimationSequence;
static createMorphingAnimation(fromShape: ChartDataPoint[], toShape: ChartDataPoint[], config?: {
steps?: number;
easing?: keyof typeof easingFunctions;
}): AnimationSequence;
}
export declare const createFadeInAnimation: (duration?: number, delay?: number) => AnimationSequence;
export declare const createSlideInAnimation: (direction?: "left" | "right" | "up" | "down", distance?: number, duration?: number, delay?: number) => AnimationSequence;
export declare const createScaleInAnimation: (from?: number, to?: number, duration?: number, delay?: number) => AnimationSequence;
export declare const createBounceAnimation: (amplitude?: number, duration?: number, delay?: number) => AnimationSequence;
export declare const calculateDamping: (dampingRatio: number, stiffness: number, mass: number) => number;
export declare const createAnimationOptions: (config?: {
duration?: number;
easing?: string;
delay?: number;
}) => any;
export declare const pathAnimationPlugin: {
id: string;
beforeInit: (chart: any) => void;
beforeDraw: (chart: any, args: any, options: any) => void;
startAnimation: (chart: any, duration?: number) => void;
};
export declare const createEntranceAnimation: (series: any[], type?: "fadeIn" | "slideIn" | "scaleIn" | "bounceIn", config?: {
duration?: number;
delay?: number;
stagger?: number;
}, onUpdate?: (progress: number) => void, onComplete?: () => void) => {
duration: number;
delay: number;
stagger: number;
easing: string;
onUpdate: ((progress: number) => void) | undefined;
onComplete: (() => void) | undefined;
};
//# sourceMappingURL=ChartAnimationUtils.d.ts.map