aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
120 lines • 3.19 kB
TypeScript
import React from 'react';
export interface OrchestratedAnimationStep {
id: string;
duration: number;
delay?: number;
easing?: string;
transform?: {
x?: number;
y?: number;
scale?: number;
rotation?: number;
opacity?: number;
};
style?: Record<string, any>;
onStart?: () => void;
onComplete?: () => void;
onUpdate?: (progress: number) => void;
}
export interface OrchestrationConfig {
autoPlay?: boolean;
loop?: boolean;
reverse?: boolean;
speed?: number;
paused?: boolean;
parallel?: boolean;
}
export interface OrchestrationState {
isPlaying: boolean;
isPaused: boolean;
currentStep: number;
totalSteps: number;
progress: number;
elapsed: number;
totalDuration: number;
}
export declare function useAnimationSequence(steps: OrchestratedAnimationStep[], config?: OrchestrationConfig): {
ref: React.RefObject<HTMLElement>;
state: OrchestrationState;
play: () => void;
pause: () => void;
stop: () => void;
seek: (progress: number) => void;
totalDuration: number;
};
export declare const orchestrationPresets: {
staggeredFadeIn: {
id: string;
duration: number;
delay: number;
transform: {
opacity: number;
};
}[];
cascadingSlideIn: {
id: string;
duration: number;
delay: number;
transform: {
x: number;
};
easing: string;
}[];
parallelScaleIn: {
id: string;
duration: number;
delay: number;
transform: {
scale: number;
};
easing: string;
}[];
complexOrchestration: ({
id: string;
duration: number;
transform: {
opacity: number;
scale: number;
x?: undefined;
};
delay?: undefined;
easing?: undefined;
} | {
id: string;
duration: number;
delay: number;
transform: {
scale: number;
opacity?: undefined;
x?: undefined;
};
easing: string;
} | {
id: string;
duration: number;
delay: number;
transform: {
x: number;
opacity?: undefined;
scale?: undefined;
};
easing: string;
})[];
};
export declare const createOrchestration: {
fromSteps: (steps: OrchestratedAnimationStep[], config?: OrchestrationConfig) => {
steps: OrchestratedAnimationStep[];
config: {
autoPlay?: boolean;
loop?: boolean;
reverse?: boolean;
speed?: number;
paused?: boolean;
parallel?: boolean;
};
};
staggered: (baseStep: Omit<OrchestratedAnimationStep, "id" | "delay">, count: number, staggerDelay: number) => OrchestratedAnimationStep[];
parallel: (steps: Omit<OrchestratedAnimationStep, "id">[]) => OrchestratedAnimationStep[];
sequence: (steps: Omit<OrchestratedAnimationStep, "id">[]) => OrchestratedAnimationStep[];
};
//# sourceMappingURL=useAnimationSequenceOrchestrator.d.ts.map