@code-surfer/standalone
Version:
Code Surfer React component
33 lines (32 loc) • 2.19 kB
TypeScript
import { CSSProperties } from "react";
import { Easing } from "./easing";
import { Tuple } from "./tuple";
import { Step, Dimensions } from "code-surfer-types";
declare type Animation<T> = (t: number) => T;
export declare type StyleAnimation = (t: number) => CSSProperties;
export declare function emptyStyle(): CSSProperties;
export declare function exitLine(fromOpacity: number, toOpacity: number, staggerIndex: number, staggerLength: number, lineHeight?: number): StyleAnimation;
export declare function enterLine(fromOpacity: number, toOpacity: number, staggerIndex: number, staggerLength: number, lineHeight?: number): Animation<CSSProperties>;
export declare function focus(fromOpacity: number, toOpacity: number): (t: number) => {
opacity: number;
};
export declare function unfocus(fromOpacity: number, toOpacity: number): (t: number) => {
opacity: number;
};
export declare function fadeInFocus(fromOpacity: number, toOpacity: number, staggerIndex: number, staggerLength: number): Animation<{
opacity: number;
}>;
export declare function fadeOutFocus(fromOpacity: number, toOpacity: number, staggerIndex: number, staggerLength: number): Animation<{
opacity: number;
}>;
export declare function fadeOutIn(offOpacity?: number): Animation<CSSProperties>;
export declare function halfFadeIn(offOpacity?: number): Animation<CSSProperties>;
export declare function halfFadeOut(offOpacity?: number): Animation<CSSProperties>;
export declare function scrollToFocus(stepPair: Tuple<Step>, dimensions?: Dimensions): Animation<number>;
export declare function scaleToFocus(stepPair: Tuple<Step>, dimensions?: Dimensions): Animation<number>;
export declare function fadeOut(offOpacity?: number): StyleAnimation;
export declare function fadeIn(offOpacity?: number): StyleAnimation;
export declare function tween(from: number, to: number, t: number, ease?: Easing): number;
export declare function chain<T extends object>(steps: [number, undefined | ((t: number) => T)][], start?: T): Animation<T>;
export declare function stagger<T>(animation: Animation<T>, staggerIndex: number, staggerLength: number, interval?: number): Animation<T>;
export {};