(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"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.bounceVertical = exports.bounceHorizontal = void 0; const tsparticles_engine_1 = require("tsparticles-engine"); function bounceHorizontal(data) { if (data.outMode !== "bounce" && data.outMode !== "bounce-horizontal" && data.outMode !== "bounceHorizontal" && data.outMode !== "split") { return; } if (data.bounds.right < 0) { data.particle.position.x = data.size + data.offset.x; } else if (data.bounds.left > data.canvasSize.width) { data.particle.position.x = data.canvasSize.width - data.size - data.offset.x; } const velocity = data.particle.velocity.x; let bounced = false; if ((data.direction === "right" && data.bounds.right >= data.canvasSize.width && velocity > 0) || (data.direction === "left" && data.bounds.left <= 0 && velocity < 0)) { const newVelocity = (0, tsparticles_engine_1.getValue)(data.particle.options.bounce.horizontal); data.particle.velocity.x *= -newVelocity; bounced = true; } if (!bounced) { return; } const minPos = data.offset.x + data.size; if (data.bounds.right >= data.canvasSize.width) { data.particle.position.x = data.canvasSize.width - minPos; } else if (data.bounds.left <= 0) { data.particle.position.x = minPos; } if (data.outMode === "split") { data.particle.destroy(); } } exports.bounceHorizontal = bounceHorizontal; function bounceVertical(data) { if (data.outMode !== "bounce" && data.outMode !== "bounce-vertical" && data.outMode !== "bounceVertical" && data.outMode !== "split") { return; } if (data.bounds.bottom < 0) { data.particle.position.y = data.size + data.offset.y; } else if (data.bounds.top > data.canvasSize.height) { data.particle.position.y = data.canvasSize.height - data.size - data.offset.y; } const velocity = data.particle.velocity.y; let bounced = false; if ((data.direction === "bottom" && data.bounds.bottom >= data.canvasSize.height && velocity > 0) || (data.direction === "top" && data.bounds.top <= 0 && velocity < 0)) { const newVelocity = (0, tsparticles_engine_1.getValue)(data.particle.options.bounce.vertical); data.particle.velocity.y *= -newVelocity; bounced = true; } if (!bounced) { return; } const minPos = data.offset.y + data.size; if (data.bounds.bottom >= data.canvasSize.height) { data.particle.position.y = data.canvasSize.height - minPos; } else if (data.bounds.top <= 0) { data.particle.position.y = minPos; } if (data.outMode === "split") { data.particle.destroy(); } } exports.bounceVertical = bounceVertical; });