cursor-blob
Version:
Lightweight library for animated, interactive cursors using GSAP
38 lines (37 loc) • 991 B
TypeScript
import { default as gsap } from 'gsap';
export interface CursorBlobOptions {
cursorEl: HTMLElement;
cursorRimEl: HTMLElement;
cursorDotEl: HTMLElement;
duration?: number;
ease?: string;
}
export default class CursorBlob {
private static gsap;
private cursor;
private readonly cursorRim;
private readonly cursorDot;
private readonly duration;
private readonly ease;
private pos;
private vel;
private animFrame;
private readonly boundMove;
private rimX;
private rimY;
private rimRotate;
private rimScaleX;
private rimScaleY;
private dotX;
private dotY;
static registerGSAP(gsapInstance: typeof gsap): void;
private static getScale;
private static getAngle;
constructor({ cursorEl, cursorRimEl, cursorDotEl, duration, ease, }: CursorBlobOptions);
private setupQuickSetters;
private loop;
private animate;
private setFromEvent;
private applyStyle;
destroy(): void;
}