@tsparticles/plugin-infection 3.6.0-beta.1 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/Options/Classes/Infection.js +2 -1
- package/browser/Options/Classes/InfectionStage.js +2 -2
- package/browser/index.js +2 -0
- package/cjs/Options/Classes/Infection.js +2 -1
- package/cjs/Options/Classes/InfectionStage.js +1 -1
- package/cjs/index.js +2 -0
- package/esm/Options/Classes/Infection.js +2 -1
- package/esm/Options/Classes/InfectionStage.js +2 -2
- package/esm/index.js +2 -0
- package/package.json +2 -2
- package/report.html +1 -1
- package/tsparticles.plugin.infection.js +4 -4
- package/tsparticles.plugin.infection.min.js +1 -1
- package/tsparticles.plugin.infection.min.js.LICENSE.txt +1 -1
- package/types/Options/Classes/Infection.d.ts +1 -1
- package/types/index.d.ts +1 -1
- package/umd/Options/Classes/Infection.js +3 -2
- package/umd/Options/Classes/InfectionStage.js +1 -1
- package/umd/index.js +3 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isNull } from "@tsparticles/engine";
|
|
1
2
|
import { InfectionStage } from "./InfectionStage.js";
|
|
2
3
|
export class Infection {
|
|
3
4
|
constructor() {
|
|
@@ -8,7 +9,7 @@ export class Infection {
|
|
|
8
9
|
this.stages = [];
|
|
9
10
|
}
|
|
10
11
|
load(data) {
|
|
11
|
-
if (data
|
|
12
|
+
if (isNull(data)) {
|
|
12
13
|
return;
|
|
13
14
|
}
|
|
14
15
|
if (data.cure !== undefined) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OptionsColor } from "@tsparticles/engine";
|
|
1
|
+
import { OptionsColor, isNull } from "@tsparticles/engine";
|
|
2
2
|
export class InfectionStage {
|
|
3
3
|
constructor() {
|
|
4
4
|
this.color = new OptionsColor();
|
|
@@ -7,7 +7,7 @@ export class InfectionStage {
|
|
|
7
7
|
this.rate = 1;
|
|
8
8
|
}
|
|
9
9
|
load(data) {
|
|
10
|
-
if (data
|
|
10
|
+
if (isNull(data)) {
|
|
11
11
|
return;
|
|
12
12
|
}
|
|
13
13
|
if (data.color !== undefined) {
|
package/browser/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { assertValidVersion } from "@tsparticles/engine";
|
|
1
2
|
import { InfectionPlugin } from "./InfectionPlugin.js";
|
|
2
3
|
import { ParticlesInfecter } from "./ParticlesInfecter.js";
|
|
3
4
|
export async function loadInfectionPlugin(engine, refresh = true) {
|
|
5
|
+
assertValidVersion(engine, "3.7.0");
|
|
4
6
|
const plugin = new InfectionPlugin();
|
|
5
7
|
await engine.addPlugin(plugin, refresh);
|
|
6
8
|
await engine.addInteractor("particlesInfection", container => {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Infection = void 0;
|
|
4
|
+
const engine_1 = require("@tsparticles/engine");
|
|
4
5
|
const InfectionStage_js_1 = require("./InfectionStage.js");
|
|
5
6
|
class Infection {
|
|
6
7
|
constructor() {
|
|
@@ -11,7 +12,7 @@ class Infection {
|
|
|
11
12
|
this.stages = [];
|
|
12
13
|
}
|
|
13
14
|
load(data) {
|
|
14
|
-
if (
|
|
15
|
+
if ((0, engine_1.isNull)(data)) {
|
|
15
16
|
return;
|
|
16
17
|
}
|
|
17
18
|
if (data.cure !== undefined) {
|
package/cjs/index.js
CHANGED
|
@@ -15,9 +15,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.loadInfectionPlugin = loadInfectionPlugin;
|
|
18
|
+
const engine_1 = require("@tsparticles/engine");
|
|
18
19
|
const InfectionPlugin_js_1 = require("./InfectionPlugin.js");
|
|
19
20
|
const ParticlesInfecter_js_1 = require("./ParticlesInfecter.js");
|
|
20
21
|
async function loadInfectionPlugin(engine, refresh = true) {
|
|
22
|
+
(0, engine_1.assertValidVersion)(engine, "3.7.0");
|
|
21
23
|
const plugin = new InfectionPlugin_js_1.InfectionPlugin();
|
|
22
24
|
await engine.addPlugin(plugin, refresh);
|
|
23
25
|
await engine.addInteractor("particlesInfection", container => {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isNull } from "@tsparticles/engine";
|
|
1
2
|
import { InfectionStage } from "./InfectionStage.js";
|
|
2
3
|
export class Infection {
|
|
3
4
|
constructor() {
|
|
@@ -8,7 +9,7 @@ export class Infection {
|
|
|
8
9
|
this.stages = [];
|
|
9
10
|
}
|
|
10
11
|
load(data) {
|
|
11
|
-
if (data
|
|
12
|
+
if (isNull(data)) {
|
|
12
13
|
return;
|
|
13
14
|
}
|
|
14
15
|
if (data.cure !== undefined) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OptionsColor } from "@tsparticles/engine";
|
|
1
|
+
import { OptionsColor, isNull } from "@tsparticles/engine";
|
|
2
2
|
export class InfectionStage {
|
|
3
3
|
constructor() {
|
|
4
4
|
this.color = new OptionsColor();
|
|
@@ -7,7 +7,7 @@ export class InfectionStage {
|
|
|
7
7
|
this.rate = 1;
|
|
8
8
|
}
|
|
9
9
|
load(data) {
|
|
10
|
-
if (data
|
|
10
|
+
if (isNull(data)) {
|
|
11
11
|
return;
|
|
12
12
|
}
|
|
13
13
|
if (data.color !== undefined) {
|
package/esm/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { assertValidVersion } from "@tsparticles/engine";
|
|
1
2
|
import { InfectionPlugin } from "./InfectionPlugin.js";
|
|
2
3
|
import { ParticlesInfecter } from "./ParticlesInfecter.js";
|
|
3
4
|
export async function loadInfectionPlugin(engine, refresh = true) {
|
|
5
|
+
assertValidVersion(engine, "3.7.0");
|
|
4
6
|
const plugin = new InfectionPlugin();
|
|
5
7
|
await engine.addPlugin(plugin, refresh);
|
|
6
8
|
await engine.addInteractor("particlesInfection", container => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsparticles/plugin-infection",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.7.0",
|
|
4
4
|
"description": "tsParticles infection plugin",
|
|
5
5
|
"homepage": "https://particles.js.org",
|
|
6
6
|
"repository": {
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
"./package.json": "./package.json"
|
|
101
101
|
},
|
|
102
102
|
"dependencies": {
|
|
103
|
-
"@tsparticles/engine": "
|
|
103
|
+
"@tsparticles/engine": "3.7.0"
|
|
104
104
|
},
|
|
105
105
|
"publishConfig": {
|
|
106
106
|
"access": "public"
|
package/report.html
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8"/>
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
6
|
-
<title>@tsparticles/plugin-infection [
|
|
6
|
+
<title>@tsparticles/plugin-infection [24 Nov 2024 at 19:24]</title>
|
|
7
7
|
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
|
|
8
8
|
|
|
9
9
|
<script>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v3.
|
|
7
|
+
* v3.7.0
|
|
8
8
|
*/
|
|
9
9
|
/*
|
|
10
10
|
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
@@ -64,7 +64,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
64
64
|
\***************************************************/
|
|
65
65
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
66
66
|
|
|
67
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Infection: () => (/* binding */ Infection)\n/* harmony export */ });\n/* harmony import */ var
|
|
67
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Infection: () => (/* binding */ Infection)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _InfectionStage_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./InfectionStage.js */ \"./dist/browser/Options/Classes/InfectionStage.js\");\n\n\nclass Infection {\n constructor() {\n this.cure = false;\n this.delay = 0;\n this.enable = false;\n this.infections = 0;\n this.stages = [];\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.cure !== undefined) {\n this.cure = data.cure;\n }\n if (data.delay !== undefined) {\n this.delay = data.delay;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.infections !== undefined) {\n this.infections = data.infections;\n }\n if (data.stages === undefined) {\n return;\n }\n this.stages = data.stages.map(t => {\n const s = new _InfectionStage_js__WEBPACK_IMPORTED_MODULE_1__.InfectionStage();\n s.load(t);\n return s;\n });\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-infection/./dist/browser/Options/Classes/Infection.js?");
|
|
68
68
|
|
|
69
69
|
/***/ }),
|
|
70
70
|
|
|
@@ -74,7 +74,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
74
74
|
\********************************************************/
|
|
75
75
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
76
76
|
|
|
77
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InfectionStage: () => (/* binding */ InfectionStage)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n\nclass InfectionStage {\n constructor() {\n this.color = new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor();\n this.color.value = \"#ff0000\";\n this.radius = 0;\n this.rate = 1;\n }\n load(data) {\n if (data
|
|
77
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InfectionStage: () => (/* binding */ InfectionStage)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n\nclass InfectionStage {\n constructor() {\n this.color = new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor();\n this.color.value = \"#ff0000\";\n this.radius = 0;\n this.rate = 1;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n }\n this.duration = data.duration;\n this.infectedStage = data.infectedStage;\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n if (data.rate !== undefined) {\n this.rate = data.rate;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-infection/./dist/browser/Options/Classes/InfectionStage.js?");
|
|
78
78
|
|
|
79
79
|
/***/ }),
|
|
80
80
|
|
|
@@ -94,7 +94,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
94
94
|
\*******************************/
|
|
95
95
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
96
96
|
|
|
97
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadInfectionPlugin: () => (/* binding */ loadInfectionPlugin)\n/* harmony export */ });\n/* harmony import */ var
|
|
97
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadInfectionPlugin: () => (/* binding */ loadInfectionPlugin)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _InfectionPlugin_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./InfectionPlugin.js */ \"./dist/browser/InfectionPlugin.js\");\n/* harmony import */ var _ParticlesInfecter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ParticlesInfecter.js */ \"./dist/browser/ParticlesInfecter.js\");\n\n\n\nasync function loadInfectionPlugin(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n const plugin = new _InfectionPlugin_js__WEBPACK_IMPORTED_MODULE_1__.InfectionPlugin();\n await engine.addPlugin(plugin, refresh);\n await engine.addInteractor(\"particlesInfection\", container => {\n return Promise.resolve(new _ParticlesInfecter_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesInfecter(container));\n }, refresh);\n}\n\n\n\n//# sourceURL=webpack://@tsparticles/plugin-infection/./dist/browser/index.js?");
|
|
98
98
|
|
|
99
99
|
/***/ }),
|
|
100
100
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see tsparticles.plugin.infection.min.js.LICENSE.txt */
|
|
2
|
-
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],t);else{var i="object"==typeof exports?t(require("@tsparticles/engine")):t(e.window);for(var n in i)("object"==typeof exports?exports:e)[n]=i[n]}}(this,(e=>(()=>{var t={303:t=>{t.exports=e}},i={};function n(e){var o=i[e];if(void 0!==o)return o.exports;var s=i[e]={exports:{}};return t[e](s,s.exports,n),s.exports}n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};n.r(o),n.d(o,{loadInfectionPlugin:()=>u});var s=n(303);class a{constructor(){this.color=new s.OptionsColor,this.color.value="#ff0000",this.radius=0,this.rate=1}load(e){
|
|
2
|
+
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],t);else{var i="object"==typeof exports?t(require("@tsparticles/engine")):t(e.window);for(var n in i)("object"==typeof exports?exports:e)[n]=i[n]}}(this,(e=>(()=>{var t={303:t=>{t.exports=e}},i={};function n(e){var o=i[e];if(void 0!==o)return o.exports;var s=i[e]={exports:{}};return t[e](s,s.exports,n),s.exports}n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};n.r(o),n.d(o,{loadInfectionPlugin:()=>u});var s=n(303);class a{constructor(){this.color=new s.OptionsColor,this.color.value="#ff0000",this.radius=0,this.rate=1}load(e){(0,s.isNull)(e)||(void 0!==e.color&&(this.color=s.OptionsColor.create(this.color,e.color)),this.duration=e.duration,this.infectedStage=e.infectedStage,void 0!==e.radius&&(this.radius=e.radius),void 0!==e.rate&&(this.rate=e.rate))}}class r{constructor(){this.cure=!1,this.delay=0,this.enable=!1,this.infections=0,this.stages=[]}load(e){(0,s.isNull)(e)||(void 0!==e.cure&&(this.cure=e.cure),void 0!==e.delay&&(this.delay=e.delay),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.infections&&(this.infections=e.infections),void 0!==e.stages&&(this.stages=e.stages.map((e=>{const t=new a;return t.load(e),t}))))}}class c{constructor(e){this._nextInfectionStage=e=>{const t=this._container.actualOptions.infection,{infection:i}=e;if(!t||!i)return;const n=t.stages.length;n<=0||void 0===i.stage||(i.time=0,n<=++i.stage&&(t.cure?(delete i.stage,delete i.time):(i.stage=0,i.time=0)))},this._container=e}startInfection(e,t){const i=this._container.actualOptions.infection,{infection:n}=e;if(!i||!n)return;t>i.stages.length||t<0||(n.delay=0,n.delayStage=t)}updateInfection(e,t){const i=this._container.actualOptions.infection,{infection:n}=e;if(!i||!n)return;const o=i.stages,a=o.length;if(void 0!==n.delay&&void 0!==n.delayStage){const e=n.delayStage;if(e>a||e<0)return;n.delay>=i.delay*s.millisecondsToSeconds?(n.stage=e,n.time=0,delete n.delay,delete n.delayStage):n.delay+=t}else delete n.delay,delete n.delayStage;if(void 0!==n.stage&&void 0!==n.time){const i=o[n.stage];void 0!==i.duration&&i.duration>=0&&n.time>i.duration*s.millisecondsToSeconds?this._nextInfectionStage(e):n.time+=t}else delete n.stage,delete n.time}updateInfectionStage(e,t){const i=this._container.actualOptions,{infection:n}=e;if(!i.infection||!n)return;t>i.infection.stages.length||t<0||void 0!==n.stage&&n.stage>t||(n.stage=t,n.time=0)}}class l{constructor(e){this._container=e,this._container.infecter=new c(this._container)}particleFillColor(e){const t=this._container.actualOptions;if(!e.infection||!t.infection)return;const i=e.infection.stage,n=t.infection.stages;return void 0!==i?n[i].color:void 0}particleStrokeColor(e){return this.particleFillColor(e)}particlesSetup(){const e=this._container.actualOptions;if(e.infection)for(let t=0;t<e.infection.infections;t++){const e=this._container.particles.filter((e=>{const t=e;return t.infection||(t.infection={}),void 0===t.infection.stage})),t=(0,s.itemFromArray)(e);this._container.infecter?.startInfection(t,0)}}}class d{constructor(){this.id="infection"}getPlugin(e){return Promise.resolve(new l(e))}loadOptions(e,t){if(!this.needsPlugin(e)&&!this.needsPlugin(t))return;let i=e.infection;void 0===i?.load&&(e.infection=i=new r),i.load(t?.infection)}needsPlugin(e){return e?.infection?.enable??!1}}class f extends s.ParticlesInteractorBase{constructor(e){super(e)}clear(){}init(){}interact(e,t){const i=this.container.infecter;if(!i)return;if(i.updateInfection(e,t.value),void 0===e.infection?.stage)return;const n=this.container,o=n.actualOptions.infection;if(!o?.enable||o.stages.length<1)return;const a=o.stages[e.infection.stage],r=n.retina.pixelRatio,c=2*e.getRadius()+a.radius*r,l=e.getPosition(),d=a.infectedStage??e.infection.stage,f=n.particles.quadTree.queryCircle(l,c),u=a.rate,g=f.length;for(const t of f){const n=t;if(!(n===e||n.destroyed||n.spawning||void 0!==n.infection?.stage&&n.infection.stage===e.infection.stage||(0,s.getRandom)()>=u/g))if(void 0===n.infection?.stage)i.startInfection(n,d);else if(n.infection.stage<e.infection.stage)i.updateInfectionStage(n,d);else if(n.infection.stage>e.infection.stage){const t=o.stages[n.infection.stage],s=t?.infectedStage??n.infection.stage;i.updateInfectionStage(e,s)}}}isEnabled(){return this.container.actualOptions?.infection?.enable??!1}reset(){}}async function u(e,t=!0){(0,s.assertValidVersion)(e,"3.7.0");const i=new d;await e.addPlugin(i,t),await e.addInteractor("particlesInfection",(e=>Promise.resolve(new f(e))),t)}return o})()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tsParticles Infection Plugin v3.
|
|
1
|
+
/*! tsParticles Infection Plugin v3.7.0 by Matteo Bruni */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type IOptionLoader, type RecursivePartial } from "@tsparticles/engine";
|
|
2
2
|
import type { IInfection } from "../Interfaces/IInfection.js";
|
|
3
3
|
import { InfectionStage } from "./InfectionStage.js";
|
|
4
4
|
export declare class Infection implements IInfection, IOptionLoader<IInfection> {
|
package/types/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Engine } from "@tsparticles/engine";
|
|
2
2
|
export declare function loadInfectionPlugin(engine: Engine, refresh?: boolean): Promise<void>;
|
|
3
3
|
export * from "./Options/Interfaces/IInfection.js";
|
|
4
4
|
export * from "./Options/Interfaces/IInfectionStage.js";
|
|
@@ -4,12 +4,13 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "./InfectionStage.js"], factory);
|
|
7
|
+
define(["require", "exports", "@tsparticles/engine", "./InfectionStage.js"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.Infection = void 0;
|
|
13
|
+
const engine_1 = require("@tsparticles/engine");
|
|
13
14
|
const InfectionStage_js_1 = require("./InfectionStage.js");
|
|
14
15
|
class Infection {
|
|
15
16
|
constructor() {
|
|
@@ -20,7 +21,7 @@
|
|
|
20
21
|
this.stages = [];
|
|
21
22
|
}
|
|
22
23
|
load(data) {
|
|
23
|
-
if (
|
|
24
|
+
if ((0, engine_1.isNull)(data)) {
|
|
24
25
|
return;
|
|
25
26
|
}
|
|
26
27
|
if (data.cure !== undefined) {
|
package/umd/index.js
CHANGED
|
@@ -18,15 +18,17 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
18
18
|
if (v !== undefined) module.exports = v;
|
|
19
19
|
}
|
|
20
20
|
else if (typeof define === "function" && define.amd) {
|
|
21
|
-
define(["require", "exports", "./InfectionPlugin.js", "./ParticlesInfecter.js", "./Options/Interfaces/IInfection.js", "./Options/Interfaces/IInfectionStage.js"], factory);
|
|
21
|
+
define(["require", "exports", "@tsparticles/engine", "./InfectionPlugin.js", "./ParticlesInfecter.js", "./Options/Interfaces/IInfection.js", "./Options/Interfaces/IInfectionStage.js"], factory);
|
|
22
22
|
}
|
|
23
23
|
})(function (require, exports) {
|
|
24
24
|
"use strict";
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.loadInfectionPlugin = loadInfectionPlugin;
|
|
27
|
+
const engine_1 = require("@tsparticles/engine");
|
|
27
28
|
const InfectionPlugin_js_1 = require("./InfectionPlugin.js");
|
|
28
29
|
const ParticlesInfecter_js_1 = require("./ParticlesInfecter.js");
|
|
29
30
|
async function loadInfectionPlugin(engine, refresh = true) {
|
|
31
|
+
(0, engine_1.assertValidVersion)(engine, "3.7.0");
|
|
30
32
|
const plugin = new InfectionPlugin_js_1.InfectionPlugin();
|
|
31
33
|
await engine.addPlugin(plugin, refresh);
|
|
32
34
|
await engine.addInteractor("particlesInfection", container => {
|