@tsparticles/plugin-infection 3.4.0 → 3.5.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/cjs/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.loadInfectionPlugin = void 0;
17
+ exports.loadInfectionPlugin = loadInfectionPlugin;
18
18
  const InfectionPlugin_js_1 = require("./InfectionPlugin.js");
19
19
  const ParticlesInfecter_js_1 = require("./ParticlesInfecter.js");
20
20
  async function loadInfectionPlugin(engine, refresh = true) {
@@ -24,6 +24,5 @@ async function loadInfectionPlugin(engine, refresh = true) {
24
24
  return Promise.resolve(new ParticlesInfecter_js_1.ParticlesInfecter(container));
25
25
  }, refresh);
26
26
  }
27
- exports.loadInfectionPlugin = loadInfectionPlugin;
28
27
  __exportStar(require("./Options/Interfaces/IInfection.js"), exports);
29
28
  __exportStar(require("./Options/Interfaces/IInfectionStage.js"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/plugin-infection",
3
- "version": "3.4.0",
3
+ "version": "3.5.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": "^3.4.0"
103
+ "@tsparticles/engine": "^3.5.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 [13 May 2024 at 00:11]</title>
6
+ <title>@tsparticles/plugin-infection [1 Jul 2024 at 09:20]</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.4.0
7
+ * v3.5.0
8
8
  */
9
9
  /*
10
10
  * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
@@ -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={};return(()=>{n.r(o),n.d(o,{loadInfectionPlugin:()=>l});var e=n(303);class t{constructor(){this.color=new e.OptionsColor,this.color.value="#ff0000",this.radius=0,this.rate=1}load(t){void 0!==t&&(void 0!==t.color&&(this.color=e.OptionsColor.create(this.color,t.color)),this.duration=t.duration,this.infectedStage=t.infectedStage,void 0!==t.radius&&(this.radius=t.radius),void 0!==t.rate&&(this.rate=t.rate))}}class i{constructor(){this.cure=!1,this.delay=0,this.enable=!1,this.infections=0,this.stages=[]}load(e){void 0!==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 i=new t;return i.load(e),i}))))}}class s{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(t,i){const n=this._container.actualOptions.infection,{infection:o}=t;if(!n||!o)return;const s=n.stages,a=s.length;if(void 0!==o.delay&&void 0!==o.delayStage){const t=o.delayStage;if(t>a||t<0)return;o.delay>=n.delay*e.millisecondsToSeconds?(o.stage=t,o.time=0,delete o.delay,delete o.delayStage):o.delay+=i}else delete o.delay,delete o.delayStage;if(void 0!==o.stage&&void 0!==o.time){const n=s[o.stage];void 0!==n.duration&&n.duration>=0&&o.time>n.duration*e.millisecondsToSeconds?this._nextInfectionStage(t):o.time+=i}else delete o.stage,delete o.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 a{constructor(e){this._container=e,this._container.infecter=new s(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 t=this._container.actualOptions;if(t.infection)for(let i=0;i<t.infection.infections;i++){const t=this._container.particles.filter((e=>{const t=e;return t.infection||(t.infection={}),void 0===t.infection.stage})),i=(0,e.itemFromArray)(t);this._container.infecter?.startInfection(i,0)}}}class r{constructor(){this.id="infection"}getPlugin(e){return Promise.resolve(new a(e))}loadOptions(e,t){if(!this.needsPlugin(e)&&!this.needsPlugin(t))return;let n=e.infection;void 0===n?.load&&(e.infection=n=new i),n.load(t?.infection)}needsPlugin(e){return e?.infection?.enable??!1}}class c extends e.ParticlesInteractorBase{constructor(e){super(e)}clear(){}init(){}interact(t,i){const n=this.container.infecter;if(!n)return;if(n.updateInfection(t,i.value),void 0===t.infection?.stage)return;const o=this.container,s=o.actualOptions.infection;if(!s?.enable||s.stages.length<1)return;const a=s.stages[t.infection.stage],r=o.retina.pixelRatio,c=2*t.getRadius()+a.radius*r,l=t.getPosition(),d=a.infectedStage??t.infection.stage,f=o.particles.quadTree.queryCircle(l,c),u=a.rate,g=f.length;for(const i of f){const o=i;if(!(o===t||o.destroyed||o.spawning||void 0!==o.infection?.stage&&o.infection.stage===t.infection.stage||(0,e.getRandom)()>=u/g))if(void 0===o.infection?.stage)n.startInfection(o,d);else if(o.infection.stage<t.infection.stage)n.updateInfectionStage(o,d);else if(o.infection.stage>t.infection.stage){const e=s.stages[o.infection.stage],i=e?.infectedStage??o.infection.stage;n.updateInfectionStage(t,i)}}}isEnabled(){return this.container.actualOptions?.infection?.enable??!1}reset(){}}async function l(e,t=!0){const i=new r;await e.addPlugin(i,t),await e.addInteractor("particlesInfection",(e=>Promise.resolve(new c(e))),t)}})(),o})()));
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){void 0!==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){void 0!==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){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.4.0 by Matteo Bruni */
1
+ /*! tsParticles Infection Plugin v3.5.0 by Matteo Bruni */
package/umd/index.js CHANGED
@@ -23,7 +23,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
23
23
  })(function (require, exports) {
24
24
  "use strict";
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.loadInfectionPlugin = void 0;
26
+ exports.loadInfectionPlugin = loadInfectionPlugin;
27
27
  const InfectionPlugin_js_1 = require("./InfectionPlugin.js");
28
28
  const ParticlesInfecter_js_1 = require("./ParticlesInfecter.js");
29
29
  async function loadInfectionPlugin(engine, refresh = true) {
@@ -33,7 +33,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
33
33
  return Promise.resolve(new ParticlesInfecter_js_1.ParticlesInfecter(container));
34
34
  }, refresh);
35
35
  }
36
- exports.loadInfectionPlugin = loadInfectionPlugin;
37
36
  __exportStar(require("./Options/Interfaces/IInfection.js"), exports);
38
37
  __exportStar(require("./Options/Interfaces/IInfectionStage.js"), exports);
39
38
  });