@tsparticles/interaction-external-pause
Version:
tsParticles pause external interaction
35 lines (34 loc) • 998 B
JavaScript
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() {
}
}