index.d.ts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. type BaseRendererConfig = {
  2. imagePreserveAspectRatio?: string;
  3. className?: string;
  4. };
  5. type CanvasRendererConfig = BaseRendererConfig & {
  6. clearCanvas?: boolean;
  7. context: CanvasRenderingContext2D;
  8. progressiveLoad?: boolean;
  9. preserveAspectRatio?: string;
  10. };
  11. interface LoadAnimationParameter {
  12. renderer?: 'canvas';
  13. loop?: boolean | number;
  14. autoplay?: boolean;
  15. name?: string;
  16. rendererSettings?: CanvasRendererConfig;
  17. animationData?: any;
  18. path?: string;
  19. }
  20. type AnimationDirection = 1 | -1;
  21. type AnimationSegment = [number, number];
  22. type AnimationEventName = 'enterFrame' | 'loopComplete' | 'complete' | 'segmentStart' | 'destroy';
  23. type AnimationEventCallback<T = any> = (args: T) => void;
  24. interface LoadAnimationReturnType {
  25. play(): void;
  26. stop(): void;
  27. pause(): void;
  28. setSpeed(speed: number): void;
  29. goToAndPlay(value: number, isFrame?: boolean): void;
  30. goToAndStop(value: number, isFrame?: boolean): void;
  31. setDirection(direction: AnimationDirection): void;
  32. playSegments(segments: AnimationSegment | AnimationSegment[], forceFlag?: boolean): void;
  33. setSubframe(useSubFrames: boolean): void;
  34. destroy(): void;
  35. getDuration(inFrames?: boolean): number;
  36. triggerEvent<T = any>(name: AnimationEventName, args: T): void;
  37. addEventListener<T = any>(name: AnimationEventName, callback: AnimationEventCallback<T>): void;
  38. removeEventListener<T = any>(name: AnimationEventName, callback: AnimationEventCallback<T>): void;
  39. }
  40. declare module lottie {
  41. var loadAnimation: (options: LoadAnimationParameter) => LoadAnimationReturnType;
  42. var setup: (node: any) => void;
  43. }
  44. export default lottie;