tsparticles
Version:
Easily create highly customizable particle, confetti and fireworks animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.
72 lines (71 loc) • 2.35 kB
TypeScript
import type { MoveDirection, MoveDirectionAlt } from "../../../../Enums";
import type { EmitterShapeType } from "../../Enums";
import type { IAnimatableColor } from "../../../../Options/Interfaces/IAnimatableColor";
import type { IEmitterLife } from "./IEmitterLife";
import type { IEmitterRate } from "./IEmitterRate";
import type { IEmitterSize } from "./IEmitterSize";
import type { IParticles } from "../../../../Options/Interfaces/Particles/IParticles";
import type { IRangedCoordinates } from "../../../../Core";
import type { RecursivePartial } from "../../../../Types";
/**
* Particles emitter object options
* [[include:Options/Plugins/Emitters.md]]
* @category Emitters Plugin
*/
export interface IEmitter {
/**
* Starts the emitter automatically
*/
autoPlay: boolean;
/**
* The size of the particles emitter area
*/
size?: IEmitterSize;
/**
* The direction of the emitted particles, [[MoveDirection]] is the enum used for values
*/
direction?: MoveDirection | keyof typeof MoveDirection | MoveDirectionAlt | number;
/**
* Using this id to link the emitter to an HTML element
*/
domId?: string;
/**
* Sets if the particles will spawn at the emitter perimeter or inside the area
*/
fill: boolean;
/**
* The emitter life options
*/
life: IEmitterLife;
/**
* The emitter name
*/
name?: string;
/**
* Particles emitted customization.
* These settings will overrides other particles settings for the particles emitted by this emitter
* Particles number options won't override anything, they will be ignored completely
*/
particles?: RecursivePartial<IParticles>;
/**
* The relative position (in percent) of the emitter, where particles spawns.
* If size is specified the position will be the center of the size options
*/
position?: RecursivePartial<IRangedCoordinates>;
/**
* The particles emitting rate options
*/
rate: IEmitterRate;
/**
* The emitter shape type (circle or square)
*/
shape: EmitterShapeType | keyof typeof EmitterShapeType;
/**
* The particle spawn color
*/
spawnColor?: IAnimatableColor;
/**
* The number of starting particles of the emitter
*/
startCount: number;
}