UNPKG

@tsparticles/interaction-external-pause

Version:

tsParticles pause external interaction

35 lines (34 loc) 998 B
import { ExternalInteractorBase, } from "@tsparticles/plugin-interactivity"; import { isInArray } from "@tsparticles/engine"; const pauseMode = "pause"; export class Pauser extends ExternalInteractorBase { handleClickMode; maxDistance = 0; constructor(container) { super(container); this.handleClickMode = (mode) => { if (mode !== pauseMode) { return; } const container = this.container; if (container.animationStatus) { container.pause(); } else { container.play(); } }; } clear() { } init() { } interact() { } isEnabled(_interactivityData, particle) { const container = this.container, options = container.actualOptions, events = (particle?.interactivity ?? options.interactivity)?.events; return !!events && isInArray(pauseMode, events.onClick.mode); } reset() { } }