(function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define(["require", "exports", "tsparticles-engine", "./Options/Classes/Push", "tsparticles-engine"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Pusher = void 0; const tsparticles_engine_1 = require("tsparticles-engine"); const Push_1 = require("./Options/Classes/Push"); const tsparticles_engine_2 = require("tsparticles-engine"); class Pusher extends tsparticles_engine_1.ExternalInteractorBase { constructor(container) { super(container); this.handleClickMode = (mode) => { if (mode !== "push") { return; } const container = this.container, options = container.actualOptions, pushOptions = options.interactivity.modes.push; if (!pushOptions) { return; } const pushNb = pushOptions.quantity; if (pushNb <= 0) { return; } const group = (0, tsparticles_engine_2.itemFromArray)([undefined, ...pushOptions.groups]), groupOptions = group !== undefined ? container.actualOptions.particles.groups[group] : undefined; container.particles.push(pushNb, container.interactivity.mouse, groupOptions, group); }; } clear() { } init() { } async interact() { } isEnabled() { return true; } loadModeOptions(options, ...sources) { if (!options.push) { options.push = new Push_1.Push(); } for (const source of sources) { options.push.load(source === null || source === void 0 ? void 0 : source.push); } } reset() { } } exports.Pusher = Pusher; });