Skip to content

Sparklers API

Sparklers

Extends Effect.

Factory Function

typescript
createSparklers(config?: SparklersConfig)

Methods

See Effect for the full method reference: mount(), start(), pause(), resume(), configure(), withFade(), and destroy().

moveTo(x: number, y: number): void

Manually sets the emission point. Coordinates are normalized (0-1).

ParameterTypeDescription
xnumberNormalized X position (0 = left, 1 = right)
ynumberNormalized Y position (0 = top, 1 = bottom)

SparklersConfig

typescript
interface SparklersConfig {
    emitRate?: number;
    maxSparks?: number;
    colors?: string[];
    speed?: [number, number];
    friction?: number;
    gravity?: number;
    decay?: [number, number];
    trailLength?: number;
    hoverMode?: boolean;
    scale?: number;
}
PropertyTypeDefaultDescription
emitRatenumber8Number of sparks emitted per frame.
maxSparksnumber300Maximum number of alive sparks.
colorsstring[]['#ffcc33', '#ff9900', '#ffffff', '#ffee88']Spark colors (hex strings).
speed[number, number][2, 8]Min/max initial spark speed.
frictionnumber0.96Speed decay per frame (0-1).
gravitynumber0.8Downward acceleration per frame.
decay[number, number][0.02, 0.05]Min/max alpha decay per frame.
trailLengthnumber3Number of trail points per spark.
hoverModebooleanfalseWhen true, emission follows the mouse cursor.
scalenumber1Global scale factor.

Spark

Internal representation of a spark particle.

typescript
type Spark = {
    x: number;    // X position in pixels
    y: number;    // Y position in pixels
    vx: number;   // Horizontal velocity
    vy: number;   // Vertical velocity
    alpha: number; // Current opacity (0-1)
    color: [number, number, number]; // RGB color
    size: number;  // Radius in pixels
    decay: number; // Alpha decay per frame
    trail: Point[]; // Trail positions
};