countUp.d.ts 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. export interface CountUpOptions {
  2. startVal?: number;
  3. decimalPlaces?: number;
  4. duration?: number;
  5. useGrouping?: boolean;
  6. useIndianSeparators?: boolean;
  7. useEasing?: boolean;
  8. smartEasingThreshold?: number;
  9. smartEasingAmount?: number;
  10. separator?: string;
  11. decimal?: string;
  12. easingFn?: (t: number, b: number, c: number, d: number) => number;
  13. formattingFn?: (n: number) => string;
  14. prefix?: string;
  15. suffix?: string;
  16. numerals?: string[];
  17. enableScrollSpy?: boolean;
  18. scrollSpyDelay?: number;
  19. scrollSpyOnce?: boolean;
  20. onCompleteCallback?: () => any;
  21. plugin?: CountUpPlugin;
  22. }
  23. export declare interface CountUpPlugin {
  24. render(elem: HTMLElement, formatted: string): void;
  25. }
  26. export declare class CountUp {
  27. private endVal;
  28. options?: CountUpOptions;
  29. version: string;
  30. private defaults;
  31. private rAF;
  32. private startTime;
  33. private remaining;
  34. private finalEndVal;
  35. private useEasing;
  36. private countDown;
  37. el: HTMLElement | HTMLInputElement;
  38. formattingFn: (num: number) => string;
  39. easingFn?: (t: number, b: number, c: number, d: number) => number;
  40. error: string;
  41. startVal: number;
  42. duration: number;
  43. paused: boolean;
  44. frameVal: number;
  45. once: boolean;
  46. constructor(target: string | HTMLElement | HTMLInputElement, endVal: number, options?: CountUpOptions);
  47. handleScroll(self: CountUp): void;
  48. /**
  49. * Smart easing works by breaking the animation into 2 parts, the second part being the
  50. * smartEasingAmount and first part being the total amount minus the smartEasingAmount. It works
  51. * by disabling easing for the first part and enabling it on the second part. It is used if
  52. * useEasing is true and the total animation amount exceeds the smartEasingThreshold.
  53. */
  54. private determineDirectionAndSmartEasing;
  55. start(callback?: (args?: any) => any): void;
  56. pauseResume(): void;
  57. reset(): void;
  58. update(newEndVal: string | number): void;
  59. count: (timestamp: number) => void;
  60. printValue(val: number): void;
  61. ensureNumber(n: any): boolean;
  62. validateValue(value: string | number): number;
  63. private resetDuration;
  64. formatNumber: (num: number) => string;
  65. easeOutExpo: (t: number, b: number, c: number, d: number) => number;
  66. }