UNPKG

blobs

Version:

Random blob generation and animation

41 lines (40 loc) 1.3 kB
import { Point } from "../internal/types"; import { BlobOptions, CanvasOptions } from "./blobs"; interface Keyframe { duration: number; delay?: number; timingFunction?: "linear" | "easeEnd" | "easeStart" | "ease" | "elasticEnd0" | "elasticEnd1" | "elasticEnd2" | "elasticEnd3"; callback?: () => void; canvasOptions?: { offsetX?: number; offsetY?: number; }; } export interface CanvasKeyframe extends Keyframe { blobOptions: { seed: number | string; randomness: number; extraPoints: number; size: number; }; } export interface CanvasCustomKeyframe extends Keyframe { points: Point[]; } export interface Animation { renderFrame: () => Path2D; transition: (...keyframes: (CanvasKeyframe | CanvasCustomKeyframe)[]) => void; play: () => void; pause: () => void; playPause: () => void; } export interface TimestampProvider { (): number; } export interface WiggleOptions { speed: number; delay?: number; } export declare const canvasPath: (timestampProvider?: () => number) => Animation; export declare const wigglePreset: (animation: Animation, blobOptions: BlobOptions, canvasOptions: CanvasOptions, wiggleOptions: WiggleOptions) => void; export {};