@tsparticles/interaction-external-trail 3.0.2 → 3.1.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.
@@ -1,4 +1,4 @@
1
- import { ExternalInteractorBase, isInArray, } from "@tsparticles/engine";
1
+ import { ExternalInteractorBase, isInArray, millisecondsToSeconds, } from "@tsparticles/engine";
2
2
  import { Trail } from "./Options/Classes/Trail.js";
3
3
  const trailMode = "trail";
4
4
  export class TrailMaker extends ExternalInteractorBase {
@@ -19,7 +19,7 @@ export class TrailMaker extends ExternalInteractorBase {
19
19
  if (!trailOptions) {
20
20
  return;
21
21
  }
22
- const optDelay = (trailOptions.delay * 1000) / this.container.retina.reduceFactor;
22
+ const optDelay = (trailOptions.delay * millisecondsToSeconds) / this.container.retina.reduceFactor;
23
23
  if (this._delay < optDelay) {
24
24
  this._delay += delta.value;
25
25
  }
@@ -41,6 +41,7 @@ export class TrailMaker extends ExternalInteractorBase {
41
41
  container.particles.push(trailOptions.quantity, container.interactivity.mouse, trailOptions.particles);
42
42
  }
43
43
  this._delay -= optDelay;
44
+ await Promise.resolve();
44
45
  }
45
46
  isEnabled(particle) {
46
47
  const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = (particle?.interactivity ?? options.interactivity).events;
package/cjs/TrailMaker.js CHANGED
@@ -22,7 +22,7 @@ class TrailMaker extends engine_1.ExternalInteractorBase {
22
22
  if (!trailOptions) {
23
23
  return;
24
24
  }
25
- const optDelay = (trailOptions.delay * 1000) / this.container.retina.reduceFactor;
25
+ const optDelay = (trailOptions.delay * engine_1.millisecondsToSeconds) / this.container.retina.reduceFactor;
26
26
  if (this._delay < optDelay) {
27
27
  this._delay += delta.value;
28
28
  }
@@ -44,6 +44,7 @@ class TrailMaker extends engine_1.ExternalInteractorBase {
44
44
  container.particles.push(trailOptions.quantity, container.interactivity.mouse, trailOptions.particles);
45
45
  }
46
46
  this._delay -= optDelay;
47
+ await Promise.resolve();
47
48
  }
48
49
  isEnabled(particle) {
49
50
  const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = (particle?.interactivity ?? options.interactivity).events;
package/esm/TrailMaker.js CHANGED
@@ -1,4 +1,4 @@
1
- import { ExternalInteractorBase, isInArray, } from "@tsparticles/engine";
1
+ import { ExternalInteractorBase, isInArray, millisecondsToSeconds, } from "@tsparticles/engine";
2
2
  import { Trail } from "./Options/Classes/Trail.js";
3
3
  const trailMode = "trail";
4
4
  export class TrailMaker extends ExternalInteractorBase {
@@ -19,7 +19,7 @@ export class TrailMaker extends ExternalInteractorBase {
19
19
  if (!trailOptions) {
20
20
  return;
21
21
  }
22
- const optDelay = (trailOptions.delay * 1000) / this.container.retina.reduceFactor;
22
+ const optDelay = (trailOptions.delay * millisecondsToSeconds) / this.container.retina.reduceFactor;
23
23
  if (this._delay < optDelay) {
24
24
  this._delay += delta.value;
25
25
  }
@@ -41,6 +41,7 @@ export class TrailMaker extends ExternalInteractorBase {
41
41
  container.particles.push(trailOptions.quantity, container.interactivity.mouse, trailOptions.particles);
42
42
  }
43
43
  this._delay -= optDelay;
44
+ await Promise.resolve();
44
45
  }
45
46
  isEnabled(particle) {
46
47
  const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = (particle?.interactivity ?? options.interactivity).events;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/interaction-external-trail",
3
- "version": "3.0.2",
3
+ "version": "3.1.0",
4
4
  "description": "tsParticles trail external interaction",
5
5
  "homepage": "https://particles.js.org",
6
6
  "repository": {
@@ -87,7 +87,7 @@
87
87
  "./package.json": "./package.json"
88
88
  },
89
89
  "dependencies": {
90
- "@tsparticles/engine": "^3.0.2"
90
+ "@tsparticles/engine": "^3.1.0"
91
91
  },
92
92
  "publishConfig": {
93
93
  "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/interaction-external-trail [6 Dec 2023 at 17:40]</title>
6
+ <title>@tsparticles/interaction-external-trail [13 Jan 2024 at 23:00]</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>
@@ -31,7 +31,7 @@
31
31
  <body>
32
32
  <div id="app"></div>
33
33
  <script>
34
- window.chartData = [{"label":"tsparticles.interaction.external.trail.js","isAsset":true,"statSize":2979,"parsedSize":6760,"gzipSize":2086,"groups":[{"label":"dist/browser","path":"./dist/browser","statSize":2937,"groups":[{"id":928,"label":"index.js + 2 modules (concatenated)","path":"./dist/browser/index.js + 2 modules (concatenated)","statSize":2937,"parsedSize":6760,"gzipSize":2086,"concatenated":true,"groups":[{"label":"dist/browser","path":"./dist/browser/index.js + 2 modules (concatenated)/dist/browser","statSize":2937,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/index.js + 2 modules (concatenated)/dist/browser/index.js","statSize":312,"parsedSize":718,"gzipSize":221,"inaccurateSizes":true},{"id":null,"label":"TrailMaker.js","path":"./dist/browser/index.js + 2 modules (concatenated)/dist/browser/TrailMaker.js","statSize":2055,"parsedSize":4729,"gzipSize":1459,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/index.js + 2 modules (concatenated)/dist/browser/Options/Classes","statSize":570,"groups":[{"id":null,"label":"Trail.js","path":"./dist/browser/index.js + 2 modules (concatenated)/dist/browser/Options/Classes/Trail.js","statSize":570,"parsedSize":1311,"gzipSize":404,"inaccurateSizes":true}],"parsedSize":1311,"gzipSize":404,"inaccurateSizes":true}],"parsedSize":6760,"gzipSize":2086,"inaccurateSizes":true}]}],"parsedSize":6760,"gzipSize":2086},{"label":"engine\",\"commonjs2\":\"@tsparticles/engine\",\"amd\":\"@tsparticles","path":"./engine\",\"commonjs2\":\"@tsparticles/engine\",\"amd\":\"@tsparticles","statSize":42,"groups":[{"id":533,"label":"engine\",\"root\":\"window\"}","path":"./engine\",\"commonjs2\":\"@tsparticles/engine\",\"amd\":\"@tsparticles/engine\",\"root\":\"window\"}","statSize":42}],"parsedSize":0,"gzipSize":0}],"isInitialByEntrypoint":{"tsparticles.interaction.external.trail":true}}];
34
+ window.chartData = [{"label":"tsparticles.interaction.external.trail.js","isAsset":true,"statSize":3048,"parsedSize":6826,"gzipSize":2114,"groups":[{"label":"dist/browser","path":"./dist/browser","statSize":3006,"groups":[{"id":604,"label":"index.js + 2 modules (concatenated)","path":"./dist/browser/index.js + 2 modules (concatenated)","statSize":3006,"parsedSize":6826,"gzipSize":2114,"concatenated":true,"groups":[{"label":"dist/browser","path":"./dist/browser/index.js + 2 modules (concatenated)/dist/browser","statSize":3006,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/index.js + 2 modules (concatenated)/dist/browser/index.js","statSize":312,"parsedSize":708,"gzipSize":219,"inaccurateSizes":true},{"id":null,"label":"TrailMaker.js","path":"./dist/browser/index.js + 2 modules (concatenated)/dist/browser/TrailMaker.js","statSize":2124,"parsedSize":4823,"gzipSize":1493,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/index.js + 2 modules (concatenated)/dist/browser/Options/Classes","statSize":570,"groups":[{"id":null,"label":"Trail.js","path":"./dist/browser/index.js + 2 modules (concatenated)/dist/browser/Options/Classes/Trail.js","statSize":570,"parsedSize":1294,"gzipSize":400,"inaccurateSizes":true}],"parsedSize":1294,"gzipSize":400,"inaccurateSizes":true}],"parsedSize":6826,"gzipSize":2114,"inaccurateSizes":true}]}],"parsedSize":6826,"gzipSize":2114},{"label":"engine\",\"commonjs2\":\"@tsparticles/engine\",\"amd\":\"@tsparticles","path":"./engine\",\"commonjs2\":\"@tsparticles/engine\",\"amd\":\"@tsparticles","statSize":42,"groups":[{"id":533,"label":"engine\",\"root\":\"window\"}","path":"./engine\",\"commonjs2\":\"@tsparticles/engine\",\"amd\":\"@tsparticles/engine\",\"root\":\"window\"}","statSize":42}],"parsedSize":0,"gzipSize":0}],"isInitialByEntrypoint":{"tsparticles.interaction.external.trail":true}}];
35
35
  window.entrypoints = ["tsparticles.interaction.external.trail","tsparticles.interaction.external.trail.min"];
36
36
  window.defaultSizes = "parsed";
37
37
  </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.0.2
7
+ * v3.1.0
8
8
  */
9
9
  (function webpackUniversalModuleDefinition(root, factory) {
10
10
  if(typeof exports === 'object' && typeof module === 'object')
@@ -147,7 +147,7 @@ class TrailMaker extends engine_root_window_.ExternalInteractorBase {
147
147
  if (!trailOptions) {
148
148
  return;
149
149
  }
150
- const optDelay = trailOptions.delay * 1000 / this.container.retina.reduceFactor;
150
+ const optDelay = trailOptions.delay * engine_root_window_.millisecondsToSeconds / this.container.retina.reduceFactor;
151
151
  if (this._delay < optDelay) {
152
152
  this._delay += delta.value;
153
153
  }
@@ -167,6 +167,7 @@ class TrailMaker extends engine_root_window_.ExternalInteractorBase {
167
167
  container.particles.push(trailOptions.quantity, container.interactivity.mouse, trailOptions.particles);
168
168
  }
169
169
  this._delay -= optDelay;
170
+ await Promise.resolve();
170
171
  }
171
172
  isEnabled(particle) {
172
173
  const container = this.container,
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see tsparticles.interaction.external.trail.min.js.LICENSE.txt */
2
- !function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],e);else{var i="object"==typeof exports?e(require("@tsparticles/engine")):e(t.window);for(var o in i)("object"==typeof exports?exports:t)[o]=i[o]}}(this,(t=>(()=>{"use strict";var e={533:e=>{e.exports=t}},i={};function o(t){var n=i[t];if(void 0!==n)return n.exports;var r=i[t]={exports:{}};return e[t](r,r.exports,o),r.exports}o.d=(t,e)=>{for(var i in e)o.o(e,i)&&!o.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};return(()=>{o.r(n),o.d(n,{Trail:()=>e,loadExternalTrailInteraction:()=>s});var t=o(533);class e{constructor(){this.delay=1,this.pauseOnStop=!1,this.quantity=1}load(e){e&&(void 0!==e.delay&&(this.delay=e.delay),void 0!==e.quantity&&(this.quantity=e.quantity),void 0!==e.particles&&(this.particles=(0,t.deepExtend)({},e.particles)),void 0!==e.pauseOnStop&&(this.pauseOnStop=e.pauseOnStop))}}const i="trail";class r extends t.ExternalInteractorBase{constructor(t){super(t),this._delay=0}clear(){}init(){}async interact(t){const e=this.container,{interactivity:i}=e;if(!e.retina.reduceFactor)return;const o=e.actualOptions.interactivity.modes.trail;if(!o)return;const n=1e3*o.delay/this.container.retina.reduceFactor;if(this._delay<n&&(this._delay+=t.value),this._delay<n)return;const r=!(o.pauseOnStop&&(i.mouse.position===this._lastPosition||i.mouse.position?.x===this._lastPosition?.x&&i.mouse.position?.y===this._lastPosition?.y)),s=e.interactivity.mouse.position;s?this._lastPosition={...s}:delete this._lastPosition,r&&e.particles.push(o.quantity,e.interactivity.mouse,o.particles),this._delay-=n}isEnabled(e){const o=this.container,n=o.actualOptions,r=o.interactivity.mouse,s=(e?.interactivity??n.interactivity).events;return r.clicking&&r.inside&&!!r.position&&(0,t.isInArray)(i,s.onClick.mode)||r.inside&&!!r.position&&(0,t.isInArray)(i,s.onHover.mode)}loadModeOptions(t,...i){t.trail||(t.trail=new e);for(const e of i)t.trail.load(e?.trail)}reset(){}}async function s(t,e=!0){await t.addInteractor("externalTrail",(t=>new r(t)),e)}})(),n})()));
2
+ !function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],e);else{var i="object"==typeof exports?e(require("@tsparticles/engine")):e(t.window);for(var o in i)("object"==typeof exports?exports:t)[o]=i[o]}}(this,(t=>(()=>{"use strict";var e={533:e=>{e.exports=t}},i={};function o(t){var n=i[t];if(void 0!==n)return n.exports;var r=i[t]={exports:{}};return e[t](r,r.exports,o),r.exports}o.d=(t,e)=>{for(var i in e)o.o(e,i)&&!o.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};return(()=>{o.r(n),o.d(n,{Trail:()=>e,loadExternalTrailInteraction:()=>s});var t=o(533);class e{constructor(){this.delay=1,this.pauseOnStop=!1,this.quantity=1}load(e){e&&(void 0!==e.delay&&(this.delay=e.delay),void 0!==e.quantity&&(this.quantity=e.quantity),void 0!==e.particles&&(this.particles=(0,t.deepExtend)({},e.particles)),void 0!==e.pauseOnStop&&(this.pauseOnStop=e.pauseOnStop))}}const i="trail";class r extends t.ExternalInteractorBase{constructor(t){super(t),this._delay=0}clear(){}init(){}async interact(e){const i=this.container,{interactivity:o}=i;if(!i.retina.reduceFactor)return;const n=i.actualOptions.interactivity.modes.trail;if(!n)return;const r=n.delay*t.millisecondsToSeconds/this.container.retina.reduceFactor;if(this._delay<r&&(this._delay+=e.value),this._delay<r)return;const s=!(n.pauseOnStop&&(o.mouse.position===this._lastPosition||o.mouse.position?.x===this._lastPosition?.x&&o.mouse.position?.y===this._lastPosition?.y)),a=i.interactivity.mouse.position;a?this._lastPosition={...a}:delete this._lastPosition,s&&i.particles.push(n.quantity,i.interactivity.mouse,n.particles),this._delay-=r,await Promise.resolve()}isEnabled(e){const o=this.container,n=o.actualOptions,r=o.interactivity.mouse,s=(e?.interactivity??n.interactivity).events;return r.clicking&&r.inside&&!!r.position&&(0,t.isInArray)(i,s.onClick.mode)||r.inside&&!!r.position&&(0,t.isInArray)(i,s.onHover.mode)}loadModeOptions(t,...i){t.trail||(t.trail=new e);for(const e of i)t.trail.load(e?.trail)}reset(){}}async function s(t,e=!0){await t.addInteractor("externalTrail",(t=>new r(t)),e)}})(),n})()));
@@ -1 +1 @@
1
- /*! tsParticles Trail External Interaction v3.0.2 by Matteo Bruni */
1
+ /*! tsParticles Trail External Interaction v3.1.0 by Matteo Bruni */
package/types/Types.d.ts CHANGED
@@ -2,12 +2,12 @@ import type { Container } from "@tsparticles/engine";
2
2
  import type { ITrail } from "./Options/Interfaces/ITrail.js";
3
3
  import type { Trail } from "./Options/Classes/Trail.js";
4
4
  import type { TrailOptions } from "./Options/Classes/TrailOptions.js";
5
- export type ITrailMode = {
5
+ export interface ITrailMode {
6
6
  trail: ITrail;
7
- };
8
- export type TrailMode = {
7
+ }
8
+ export interface TrailMode {
9
9
  trail?: Trail;
10
- };
10
+ }
11
11
  export type TrailContainer = Container & {
12
12
  actualOptions: TrailOptions;
13
13
  };
package/umd/TrailMaker.js CHANGED
@@ -31,7 +31,7 @@
31
31
  if (!trailOptions) {
32
32
  return;
33
33
  }
34
- const optDelay = (trailOptions.delay * 1000) / this.container.retina.reduceFactor;
34
+ const optDelay = (trailOptions.delay * engine_1.millisecondsToSeconds) / this.container.retina.reduceFactor;
35
35
  if (this._delay < optDelay) {
36
36
  this._delay += delta.value;
37
37
  }
@@ -53,6 +53,7 @@
53
53
  container.particles.push(trailOptions.quantity, container.interactivity.mouse, trailOptions.particles);
54
54
  }
55
55
  this._delay -= optDelay;
56
+ await Promise.resolve();
56
57
  }
57
58
  isEnabled(particle) {
58
59
  const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = (particle?.interactivity ?? options.interactivity).events;