tsparticles 1.41.0 → 1.41.4

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.
Files changed (205) hide show
  1. package/Core/Container.js +2 -2
  2. package/Core/Interfaces/IExternalInteractor.d.ts +1 -1
  3. package/Core/Interfaces/IParticlesInteractor.d.ts +1 -1
  4. package/Core/Particle.js +2 -2
  5. package/Core/Particles.d.ts +3 -3
  6. package/Core/Particles.js +7 -7
  7. package/Core/Utils/ExternalInteractorBase.d.ts +1 -1
  8. package/Core/Utils/FrameManager.d.ts +1 -1
  9. package/Core/Utils/FrameManager.js +2 -2
  10. package/Core/Utils/InteractionManager.d.ts +2 -2
  11. package/Core/Utils/InteractionManager.js +4 -4
  12. package/Core/Utils/ParticlesInteractorBase.d.ts +1 -1
  13. package/Interactions/External/Attract/Attractor.d.ts +1 -1
  14. package/Interactions/External/Attract/Attractor.js +1 -1
  15. package/Interactions/External/Bounce/Bouncer.d.ts +1 -1
  16. package/Interactions/External/Bounce/Bouncer.js +1 -1
  17. package/Interactions/External/Bubble/Bubbler.d.ts +1 -1
  18. package/Interactions/External/Bubble/Bubbler.js +1 -1
  19. package/Interactions/External/Connect/Connector.d.ts +1 -1
  20. package/Interactions/External/Connect/Connector.js +1 -1
  21. package/Interactions/External/Grab/Grabber.d.ts +1 -1
  22. package/Interactions/External/Grab/Grabber.js +1 -1
  23. package/Interactions/External/Repulse/Repulser.d.ts +1 -1
  24. package/Interactions/External/Repulse/Repulser.js +1 -1
  25. package/Interactions/External/Trail/TrailMaker.d.ts +1 -1
  26. package/Interactions/External/Trail/TrailMaker.js +1 -1
  27. package/Interactions/Particles/Attract/Attractor.d.ts +1 -1
  28. package/Interactions/Particles/Attract/Attractor.js +1 -1
  29. package/Interactions/Particles/Collisions/Collider.d.ts +1 -1
  30. package/Interactions/Particles/Collisions/Collider.js +1 -1
  31. package/Interactions/Particles/Links/Linker.d.ts +1 -1
  32. package/Interactions/Particles/Links/Linker.js +1 -1
  33. package/Plugins/PolygonMask/PolygonMaskInstance.js +1 -1
  34. package/Updaters/Opacity/OpacityUpdater.js +7 -5
  35. package/Updaters/Size/SizeUpdater.js +6 -5
  36. package/browser/Core/Container.js +2 -2
  37. package/browser/Core/Interfaces/IExternalInteractor.d.ts +1 -1
  38. package/browser/Core/Interfaces/IParticlesInteractor.d.ts +1 -1
  39. package/browser/Core/Particle.js +2 -2
  40. package/browser/Core/Particles.d.ts +3 -3
  41. package/browser/Core/Particles.js +7 -7
  42. package/browser/Core/Utils/ExternalInteractorBase.d.ts +1 -1
  43. package/browser/Core/Utils/FrameManager.d.ts +1 -1
  44. package/browser/Core/Utils/FrameManager.js +2 -2
  45. package/browser/Core/Utils/InteractionManager.d.ts +2 -2
  46. package/browser/Core/Utils/InteractionManager.js +4 -4
  47. package/browser/Core/Utils/ParticlesInteractorBase.d.ts +1 -1
  48. package/browser/Interactions/External/Attract/Attractor.d.ts +1 -1
  49. package/browser/Interactions/External/Attract/Attractor.js +1 -1
  50. package/browser/Interactions/External/Bounce/Bouncer.d.ts +1 -1
  51. package/browser/Interactions/External/Bounce/Bouncer.js +1 -1
  52. package/browser/Interactions/External/Bubble/Bubbler.d.ts +1 -1
  53. package/browser/Interactions/External/Bubble/Bubbler.js +1 -1
  54. package/browser/Interactions/External/Connect/Connector.d.ts +1 -1
  55. package/browser/Interactions/External/Connect/Connector.js +1 -1
  56. package/browser/Interactions/External/Grab/Grabber.d.ts +1 -1
  57. package/browser/Interactions/External/Grab/Grabber.js +1 -1
  58. package/browser/Interactions/External/Repulse/Repulser.d.ts +1 -1
  59. package/browser/Interactions/External/Repulse/Repulser.js +1 -1
  60. package/browser/Interactions/External/Trail/TrailMaker.d.ts +1 -1
  61. package/browser/Interactions/External/Trail/TrailMaker.js +1 -1
  62. package/browser/Interactions/Particles/Attract/Attractor.d.ts +1 -1
  63. package/browser/Interactions/Particles/Attract/Attractor.js +1 -1
  64. package/browser/Interactions/Particles/Collisions/Collider.d.ts +1 -1
  65. package/browser/Interactions/Particles/Collisions/Collider.js +1 -1
  66. package/browser/Interactions/Particles/Links/Linker.d.ts +1 -1
  67. package/browser/Interactions/Particles/Links/Linker.js +1 -1
  68. package/browser/Plugins/PolygonMask/PolygonMaskInstance.js +1 -1
  69. package/browser/Updaters/Opacity/OpacityUpdater.js +7 -5
  70. package/browser/Updaters/Size/SizeUpdater.js +6 -5
  71. package/esm/Core/Container.js +2 -2
  72. package/esm/Core/Interfaces/IExternalInteractor.d.ts +1 -1
  73. package/esm/Core/Interfaces/IParticlesInteractor.d.ts +1 -1
  74. package/esm/Core/Particle.js +2 -2
  75. package/esm/Core/Particles.d.ts +3 -3
  76. package/esm/Core/Particles.js +7 -7
  77. package/esm/Core/Utils/ExternalInteractorBase.d.ts +1 -1
  78. package/esm/Core/Utils/FrameManager.d.ts +1 -1
  79. package/esm/Core/Utils/FrameManager.js +2 -2
  80. package/esm/Core/Utils/InteractionManager.d.ts +2 -2
  81. package/esm/Core/Utils/InteractionManager.js +4 -4
  82. package/esm/Core/Utils/ParticlesInteractorBase.d.ts +1 -1
  83. package/esm/Interactions/External/Attract/Attractor.d.ts +1 -1
  84. package/esm/Interactions/External/Attract/Attractor.js +1 -1
  85. package/esm/Interactions/External/Bounce/Bouncer.d.ts +1 -1
  86. package/esm/Interactions/External/Bounce/Bouncer.js +1 -1
  87. package/esm/Interactions/External/Bubble/Bubbler.d.ts +1 -1
  88. package/esm/Interactions/External/Bubble/Bubbler.js +1 -1
  89. package/esm/Interactions/External/Connect/Connector.d.ts +1 -1
  90. package/esm/Interactions/External/Connect/Connector.js +1 -1
  91. package/esm/Interactions/External/Grab/Grabber.d.ts +1 -1
  92. package/esm/Interactions/External/Grab/Grabber.js +1 -1
  93. package/esm/Interactions/External/Repulse/Repulser.d.ts +1 -1
  94. package/esm/Interactions/External/Repulse/Repulser.js +1 -1
  95. package/esm/Interactions/External/Trail/TrailMaker.d.ts +1 -1
  96. package/esm/Interactions/External/Trail/TrailMaker.js +1 -1
  97. package/esm/Interactions/Particles/Attract/Attractor.d.ts +1 -1
  98. package/esm/Interactions/Particles/Attract/Attractor.js +1 -1
  99. package/esm/Interactions/Particles/Collisions/Collider.d.ts +1 -1
  100. package/esm/Interactions/Particles/Collisions/Collider.js +1 -1
  101. package/esm/Interactions/Particles/Links/Linker.d.ts +1 -1
  102. package/esm/Interactions/Particles/Links/Linker.js +1 -1
  103. package/esm/Plugins/PolygonMask/PolygonMaskInstance.js +1 -1
  104. package/esm/Updaters/Opacity/OpacityUpdater.js +7 -5
  105. package/esm/Updaters/Size/SizeUpdater.js +6 -5
  106. package/package.json +1 -1
  107. package/report.html +6 -5
  108. package/report.slim.html +6 -5
  109. package/tsparticles.engine.js +17 -17
  110. package/tsparticles.engine.min.js +2 -2
  111. package/tsparticles.interaction.external.attract.js +16 -16
  112. package/tsparticles.interaction.external.attract.min.js +2 -2
  113. package/tsparticles.interaction.external.bounce.js +16 -16
  114. package/tsparticles.interaction.external.bounce.min.js +2 -2
  115. package/tsparticles.interaction.external.bubble.js +16 -16
  116. package/tsparticles.interaction.external.bubble.min.js +2 -2
  117. package/tsparticles.interaction.external.connect.js +16 -16
  118. package/tsparticles.interaction.external.connect.min.js +2 -2
  119. package/tsparticles.interaction.external.grab.js +16 -16
  120. package/tsparticles.interaction.external.grab.min.js +2 -2
  121. package/tsparticles.interaction.external.repulse.js +16 -16
  122. package/tsparticles.interaction.external.repulse.min.js +2 -2
  123. package/tsparticles.interaction.external.trail.js +16 -16
  124. package/tsparticles.interaction.external.trail.min.js +2 -2
  125. package/tsparticles.interaction.particles.attract.js +16 -16
  126. package/tsparticles.interaction.particles.attract.min.js +2 -2
  127. package/tsparticles.interaction.particles.collisions.js +16 -16
  128. package/tsparticles.interaction.particles.collisions.min.js +2 -2
  129. package/tsparticles.interaction.particles.links.js +16 -16
  130. package/tsparticles.interaction.particles.links.min.js +2 -2
  131. package/tsparticles.js +35 -35
  132. package/tsparticles.min.js +2 -2
  133. package/tsparticles.pathseg.min.js +1 -1
  134. package/tsparticles.plugins.absorbers.js +15 -15
  135. package/tsparticles.plugins.absorbers.min.js +1 -1
  136. package/tsparticles.plugins.emitters.js +15 -15
  137. package/tsparticles.plugins.emitters.min.js +1 -1
  138. package/tsparticles.plugins.polygonMask.js +17 -17
  139. package/tsparticles.plugins.polygonMask.min.js +2 -2
  140. package/tsparticles.shape.circle.min.js +1 -1
  141. package/tsparticles.shape.image.js +15 -15
  142. package/tsparticles.shape.image.min.js +1 -1
  143. package/tsparticles.shape.line.min.js +1 -1
  144. package/tsparticles.shape.polygon.min.js +1 -1
  145. package/tsparticles.shape.square.min.js +1 -1
  146. package/tsparticles.shape.star.min.js +1 -1
  147. package/tsparticles.shape.text.js +15 -15
  148. package/tsparticles.shape.text.min.js +1 -1
  149. package/tsparticles.slim.js +32 -32
  150. package/tsparticles.slim.min.js +2 -2
  151. package/tsparticles.updater.angle.js +15 -15
  152. package/tsparticles.updater.angle.min.js +1 -1
  153. package/tsparticles.updater.color.js +15 -15
  154. package/tsparticles.updater.color.min.js +1 -1
  155. package/tsparticles.updater.life.js +15 -15
  156. package/tsparticles.updater.life.min.js +1 -1
  157. package/tsparticles.updater.opacity.js +18 -18
  158. package/tsparticles.updater.opacity.min.js +2 -2
  159. package/tsparticles.updater.outModes.js +15 -15
  160. package/tsparticles.updater.outModes.min.js +1 -1
  161. package/tsparticles.updater.roll.js +15 -15
  162. package/tsparticles.updater.roll.min.js +1 -1
  163. package/tsparticles.updater.size.js +18 -18
  164. package/tsparticles.updater.size.min.js +2 -2
  165. package/tsparticles.updater.strokeColor.js +15 -15
  166. package/tsparticles.updater.strokeColor.min.js +1 -1
  167. package/tsparticles.updater.tilt.js +15 -15
  168. package/tsparticles.updater.tilt.min.js +1 -1
  169. package/tsparticles.updater.wobble.js +15 -15
  170. package/tsparticles.updater.wobble.min.js +1 -1
  171. package/umd/Core/Container.js +2 -2
  172. package/umd/Core/Interfaces/IExternalInteractor.d.ts +1 -1
  173. package/umd/Core/Interfaces/IParticlesInteractor.d.ts +1 -1
  174. package/umd/Core/Particle.js +2 -2
  175. package/umd/Core/Particles.d.ts +3 -3
  176. package/umd/Core/Particles.js +7 -7
  177. package/umd/Core/Utils/ExternalInteractorBase.d.ts +1 -1
  178. package/umd/Core/Utils/FrameManager.d.ts +1 -1
  179. package/umd/Core/Utils/FrameManager.js +2 -2
  180. package/umd/Core/Utils/InteractionManager.d.ts +2 -2
  181. package/umd/Core/Utils/InteractionManager.js +4 -4
  182. package/umd/Core/Utils/ParticlesInteractorBase.d.ts +1 -1
  183. package/umd/Interactions/External/Attract/Attractor.d.ts +1 -1
  184. package/umd/Interactions/External/Attract/Attractor.js +1 -1
  185. package/umd/Interactions/External/Bounce/Bouncer.d.ts +1 -1
  186. package/umd/Interactions/External/Bounce/Bouncer.js +1 -1
  187. package/umd/Interactions/External/Bubble/Bubbler.d.ts +1 -1
  188. package/umd/Interactions/External/Bubble/Bubbler.js +1 -1
  189. package/umd/Interactions/External/Connect/Connector.d.ts +1 -1
  190. package/umd/Interactions/External/Connect/Connector.js +1 -1
  191. package/umd/Interactions/External/Grab/Grabber.d.ts +1 -1
  192. package/umd/Interactions/External/Grab/Grabber.js +1 -1
  193. package/umd/Interactions/External/Repulse/Repulser.d.ts +1 -1
  194. package/umd/Interactions/External/Repulse/Repulser.js +1 -1
  195. package/umd/Interactions/External/Trail/TrailMaker.d.ts +1 -1
  196. package/umd/Interactions/External/Trail/TrailMaker.js +1 -1
  197. package/umd/Interactions/Particles/Attract/Attractor.d.ts +1 -1
  198. package/umd/Interactions/Particles/Attract/Attractor.js +1 -1
  199. package/umd/Interactions/Particles/Collisions/Collider.d.ts +1 -1
  200. package/umd/Interactions/Particles/Collisions/Collider.js +1 -1
  201. package/umd/Interactions/Particles/Links/Linker.d.ts +1 -1
  202. package/umd/Interactions/Particles/Links/Linker.js +1 -1
  203. package/umd/Plugins/PolygonMask/PolygonMaskInstance.js +1 -1
  204. package/umd/Updaters/Opacity/OpacityUpdater.js +7 -5
  205. package/umd/Updaters/Size/SizeUpdater.js +6 -5
@@ -219,10 +219,10 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
219
219
  return (this.getRadius() ** 2 * Math.PI) / 2;
220
220
  }
221
221
  getFillColor() {
222
- var _a, _b, _c;
222
+ var _a, _b;
223
223
  const color = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : (0, Utils_2.getHslFromAnimation)(this.color);
224
224
  if (color && this.roll && (this.backColor || this.roll.alter)) {
225
- const rolled = Math.floor(((_c = (_b = this.roll) === null || _b === void 0 ? void 0 : _b.angle) !== null && _c !== void 0 ? _c : 0) / (Math.PI / 2)) % 2;
225
+ const backFactor = this.options.roll.mode === "both" ? 2 : 1, backSum = this.options.roll.mode === "horizontal" ? Math.PI / 2 : 0, rolled = Math.floor((((_b = this.roll.angle) !== null && _b !== void 0 ? _b : 0) + backSum) / (Math.PI / backFactor)) % 2;
226
226
  if (rolled) {
227
227
  if (this.backColor) {
228
228
  return this.backColor;
@@ -26,11 +26,11 @@ export declare class Particles {
26
26
  private readonly mover;
27
27
  constructor(engine: Engine, container: Container);
28
28
  init(): void;
29
- redraw(): void;
29
+ redraw(): Promise<void>;
30
30
  removeAt(index: number, quantity?: number, group?: string, override?: boolean): void;
31
31
  remove(particle: Particle, group?: string, override?: boolean): void;
32
- update(delta: IDelta): void;
33
- draw(delta: IDelta): void;
32
+ update(delta: IDelta): Promise<void>;
33
+ draw(delta: IDelta): Promise<void>;
34
34
  clear(): void;
35
35
  push(nb: number, mouse?: IMouseData, overrideOptions?: RecursivePartial<IParticles>, group?: string): void;
36
36
  addParticle(position?: ICoordinates, overrideOptions?: RecursivePartial<IParticles>, group?: string): Particle | undefined;
@@ -84,10 +84,10 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
84
84
  }
85
85
  container.pathGenerator.init(container);
86
86
  }
87
- redraw() {
87
+ async redraw() {
88
88
  this.clear();
89
89
  this.init();
90
- this.draw({ value: 0, factor: 0 });
90
+ await this.draw({ value: 0, factor: 0 });
91
91
  }
92
92
  removeAt(index, quantity = 1, group, override) {
93
93
  if (!(index >= 0 && index <= this.count)) {
@@ -109,7 +109,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
109
109
  remove(particle, group, override) {
110
110
  this.removeAt(this.array.indexOf(particle), undefined, group, override);
111
111
  }
112
- update(delta) {
112
+ async update(delta) {
113
113
  const container = this.container;
114
114
  const particlesToDelete = [];
115
115
  container.pathGenerator.update();
@@ -143,23 +143,23 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
143
143
  for (const particle of particlesToDelete) {
144
144
  this.remove(particle);
145
145
  }
146
- this.interactionManager.externalInteract(delta);
146
+ await this.interactionManager.externalInteract(delta);
147
147
  for (const particle of container.particles.array) {
148
148
  for (const updater of this.updaters) {
149
149
  updater.update(particle, delta);
150
150
  }
151
151
  if (!particle.destroyed && !particle.spawning) {
152
- this.interactionManager.particlesInteract(particle, delta);
152
+ await this.interactionManager.particlesInteract(particle, delta);
153
153
  }
154
154
  }
155
155
  delete container.canvas.resizeFactor;
156
156
  }
157
- draw(delta) {
157
+ async draw(delta) {
158
158
  const container = this.container;
159
159
  container.canvas.clear();
160
160
  const canvasSize = this.container.canvas.size;
161
161
  this.quadTree = new Utils_1.QuadTree(new Utils_1.Rectangle(-canvasSize.width / 4, -canvasSize.height / 4, (canvasSize.width * 3) / 2, (canvasSize.height * 3) / 2), 4);
162
- this.update(delta);
162
+ await this.update(delta);
163
163
  if (this.needsSort) {
164
164
  this.zArray.sort((a, b) => b.position.z - a.position.z || a.id - b.id);
165
165
  this.lastZIndex = this.zArray[this.zArray.length - 1].position.z;
@@ -6,7 +6,7 @@ export declare abstract class ExternalInteractorBase implements IExternalInterac
6
6
  protected readonly container: Container;
7
7
  protected constructor(container: Container);
8
8
  type: InteractorType;
9
- abstract interact(delta: IDelta): void;
9
+ abstract interact(delta: IDelta): Promise<void>;
10
10
  abstract isEnabled(): boolean;
11
11
  abstract reset(particle: Particle): void;
12
12
  }
@@ -2,5 +2,5 @@ import type { Container } from "../Container";
2
2
  export declare class FrameManager {
3
3
  private readonly container;
4
4
  constructor(container: Container);
5
- nextFrame(timestamp: DOMHighResTimeStamp): void;
5
+ nextFrame(timestamp: DOMHighResTimeStamp): Promise<void>;
6
6
  }
@@ -14,7 +14,7 @@
14
14
  constructor(container) {
15
15
  this.container = container;
16
16
  }
17
- nextFrame(timestamp) {
17
+ async nextFrame(timestamp) {
18
18
  var _a;
19
19
  try {
20
20
  const container = this.container;
@@ -35,7 +35,7 @@
35
35
  container.draw(false);
36
36
  return;
37
37
  }
38
- container.particles.draw(delta);
38
+ await container.particles.draw(delta);
39
39
  if (container.duration > 0 && container.lifeTime > container.duration) {
40
40
  container.destroy();
41
41
  return;
@@ -9,6 +9,6 @@ export declare class InteractionManager {
9
9
  private particleInteractors;
10
10
  constructor(engine: Engine, container: Container);
11
11
  init(): void;
12
- externalInteract(delta: IDelta): void;
13
- particlesInteract(particle: Particle, delta: IDelta): void;
12
+ externalInteract(delta: IDelta): Promise<void>;
13
+ particlesInteract(particle: Particle, delta: IDelta): Promise<void>;
14
14
  }
@@ -46,20 +46,20 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
46
46
  }
47
47
  }
48
48
  }
49
- externalInteract(delta) {
49
+ async externalInteract(delta) {
50
50
  for (const interactor of this.externalInteractors) {
51
51
  if (interactor.isEnabled()) {
52
- interactor.interact(delta);
52
+ await interactor.interact(delta);
53
53
  }
54
54
  }
55
55
  }
56
- particlesInteract(particle, delta) {
56
+ async particlesInteract(particle, delta) {
57
57
  for (const interactor of this.externalInteractors) {
58
58
  interactor.reset(particle);
59
59
  }
60
60
  for (const interactor of this.particleInteractors) {
61
61
  if (interactor.isEnabled(particle)) {
62
- interactor.interact(particle, delta);
62
+ await interactor.interact(particle, delta);
63
63
  }
64
64
  }
65
65
  }
@@ -6,7 +6,7 @@ export declare abstract class ParticlesInteractorBase implements IParticlesInter
6
6
  protected readonly container: Container;
7
7
  protected constructor(container: Container);
8
8
  type: InteractorType;
9
- abstract interact(particle: Particle, delta: IDelta): void;
9
+ abstract interact(particle: Particle, delta: IDelta): Promise<void>;
10
10
  abstract isEnabled(particle: Particle): boolean;
11
11
  abstract reset(particle: Particle): void;
12
12
  }
@@ -4,7 +4,7 @@ export declare class Attractor extends ExternalInteractorBase {
4
4
  constructor(container: Container);
5
5
  isEnabled(): boolean;
6
6
  reset(): void;
7
- interact(): void;
7
+ interact(): Promise<void>;
8
8
  private hoverAttract;
9
9
  private processAttract;
10
10
  private clickAttract;
@@ -26,7 +26,7 @@
26
26
  }
27
27
  reset() {
28
28
  }
29
- interact() {
29
+ async interact() {
30
30
  const container = this.container, options = container.actualOptions, mouseMoveStatus = container.interactivity.status === Core_1.Constants.mouseMoveEvent, events = options.interactivity.events, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, clickEnabled = events.onClick.enable, clickMode = events.onClick.mode;
31
31
  if (mouseMoveStatus && hoverEnabled && (0, Utils_1.isInArray)("attract", hoverMode)) {
32
32
  this.hoverAttract();
@@ -3,7 +3,7 @@ import type { Container } from "../../../Core";
3
3
  export declare class Bouncer extends ExternalInteractorBase {
4
4
  constructor(container: Container);
5
5
  isEnabled(): boolean;
6
- interact(): void;
6
+ interact(): Promise<void>;
7
7
  reset(): void;
8
8
  private processMouseBounce;
9
9
  private singleSelectorBounce;
@@ -21,7 +21,7 @@
21
21
  return ((mouse.position && events.onHover.enable && (0, Utils_1.isInArray)("bounce", events.onHover.mode)) ||
22
22
  (0, Utils_1.isDivModeEnabled)("bounce", divs));
23
23
  }
24
- interact() {
24
+ async interact() {
25
25
  const container = this.container, options = container.actualOptions, events = options.interactivity.events, mouseMoveStatus = container.interactivity.status === Core_1.Constants.mouseMoveEvent, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, divs = events.onDiv;
26
26
  if (mouseMoveStatus && hoverEnabled && (0, Utils_1.isInArray)("bounce", hoverMode)) {
27
27
  this.processMouseBounce();
@@ -5,7 +5,7 @@ export declare class Bubbler extends ExternalInteractorBase {
5
5
  constructor(container: Container);
6
6
  isEnabled(): boolean;
7
7
  reset(particle: Particle, force?: boolean): void;
8
- interact(): void;
8
+ interact(): Promise<void>;
9
9
  private singleSelectorHover;
10
10
  private process;
11
11
  private clickBubble;
@@ -44,7 +44,7 @@
44
44
  delete particle.bubble.radius;
45
45
  delete particle.bubble.color;
46
46
  }
47
- interact() {
47
+ async interact() {
48
48
  const options = this.container.actualOptions, events = options.interactivity.events, onHover = events.onHover, onClick = events.onClick, hoverEnabled = onHover.enable, hoverMode = onHover.mode, clickEnabled = onClick.enable, clickMode = onClick.mode, divs = events.onDiv;
49
49
  if (hoverEnabled && (0, Utils_1.isInArray)("bubble", hoverMode)) {
50
50
  this.hoverBubble();
@@ -4,5 +4,5 @@ export declare class Connector extends ExternalInteractorBase {
4
4
  constructor(container: Container);
5
5
  isEnabled(): boolean;
6
6
  reset(): void;
7
- interact(): void;
7
+ interact(): Promise<void>;
8
8
  }
@@ -25,7 +25,7 @@
25
25
  }
26
26
  reset() {
27
27
  }
28
- interact() {
28
+ async interact() {
29
29
  const container = this.container, options = container.actualOptions;
30
30
  if (options.interactivity.events.onHover.enable && container.interactivity.status === "mousemove") {
31
31
  const mousePos = container.interactivity.mouse.position;
@@ -4,5 +4,5 @@ export declare class Grabber extends ExternalInteractorBase {
4
4
  constructor(container: Container);
5
5
  isEnabled(): boolean;
6
6
  reset(): void;
7
- interact(): void;
7
+ interact(): Promise<void>;
8
8
  }
@@ -22,7 +22,7 @@
22
22
  }
23
23
  reset() {
24
24
  }
25
- interact() {
25
+ async interact() {
26
26
  var _a;
27
27
  const container = this.container, options = container.actualOptions, interactivity = options.interactivity;
28
28
  if (interactivity.events.onHover.enable && container.interactivity.status === Core_1.Constants.mouseMoveEvent) {
@@ -4,7 +4,7 @@ export declare class Repulser extends ExternalInteractorBase {
4
4
  constructor(container: Container);
5
5
  isEnabled(): boolean;
6
6
  reset(): void;
7
- interact(): void;
7
+ interact(): Promise<void>;
8
8
  private singleSelectorRepulse;
9
9
  private hoverRepulse;
10
10
  private processRepulse;
@@ -26,7 +26,7 @@
26
26
  }
27
27
  reset() {
28
28
  }
29
- interact() {
29
+ async interact() {
30
30
  const container = this.container, options = container.actualOptions, mouseMoveStatus = container.interactivity.status === Core_1.Constants.mouseMoveEvent, events = options.interactivity.events, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, clickEnabled = events.onClick.enable, clickMode = events.onClick.mode, divs = events.onDiv;
31
31
  if (mouseMoveStatus && hoverEnabled && (0, Utils_1.isInArray)("repulse", hoverMode)) {
32
32
  this.hoverRepulse();
@@ -4,7 +4,7 @@ export declare class TrailMaker extends ExternalInteractorBase {
4
4
  private delay;
5
5
  private lastPosition?;
6
6
  constructor(container: Container);
7
- interact(delta: IDelta): void;
7
+ interact(delta: IDelta): Promise<void>;
8
8
  isEnabled(): boolean;
9
9
  reset(): void;
10
10
  }
@@ -17,7 +17,7 @@
17
17
  super(container);
18
18
  this.delay = 0;
19
19
  }
20
- interact(delta) {
20
+ async interact(delta) {
21
21
  var _a, _b, _c, _d;
22
22
  if (!this.container.retina.reduceFactor) {
23
23
  return;
@@ -2,7 +2,7 @@ import type { Container, IParticle, Particle } from "../../../Core";
2
2
  import { ParticlesInteractorBase } from "../../../Core";
3
3
  export declare class Attractor extends ParticlesInteractorBase {
4
4
  constructor(container: Container);
5
- interact(p1: IParticle): void;
5
+ interact(p1: IParticle): Promise<void>;
6
6
  isEnabled(particle: Particle): boolean;
7
7
  reset(): void;
8
8
  }
@@ -16,7 +16,7 @@
16
16
  constructor(container) {
17
17
  super(container);
18
18
  }
19
- interact(p1) {
19
+ async interact(p1) {
20
20
  var _a;
21
21
  const container = this.container, distance = (_a = p1.retina.attractDistance) !== null && _a !== void 0 ? _a : container.retina.attractDistance, pos1 = p1.getPosition(), query = container.particles.quadTree.queryCircle(pos1, distance);
22
22
  for (const p2 of query) {
@@ -4,7 +4,7 @@ export declare class Collider extends ParticlesInteractorBase {
4
4
  constructor(container: Container);
5
5
  isEnabled(particle: Particle): boolean;
6
6
  reset(): void;
7
- interact(p1: Particle): void;
7
+ interact(p1: Particle): Promise<void>;
8
8
  private resolveCollision;
9
9
  private absorb;
10
10
  }
@@ -43,7 +43,7 @@
43
43
  }
44
44
  reset() {
45
45
  }
46
- interact(p1) {
46
+ async interact(p1) {
47
47
  const container = this.container;
48
48
  const pos1 = p1.getPosition();
49
49
  const radius1 = p1.getRadius();
@@ -5,6 +5,6 @@ export declare class Linker extends ParticlesInteractorBase {
5
5
  constructor(container: Container);
6
6
  isEnabled(particle: Particle): boolean;
7
7
  reset(): void;
8
- interact(p1: LinkParticle): void;
8
+ interact(p1: LinkParticle): Promise<void>;
9
9
  private setColor;
10
10
  }
@@ -49,7 +49,7 @@
49
49
  }
50
50
  reset() {
51
51
  }
52
- interact(p1) {
52
+ async interact(p1) {
53
53
  var _a;
54
54
  p1.links = [];
55
55
  const pos1 = p1.getPosition();
@@ -44,7 +44,7 @@
44
44
  }
45
45
  this.redrawTimeout = window.setTimeout(async () => {
46
46
  await this.initRawData(true);
47
- container.particles.redraw();
47
+ await container.particles.redraw();
48
48
  }, 250);
49
49
  }
50
50
  stop() {
@@ -32,9 +32,9 @@
32
32
  }
33
33
  const minValue = particle.opacity.min;
34
34
  const maxValue = particle.opacity.max;
35
- if (!(!particle.destroyed &&
36
- particle.opacity.enable &&
37
- (((_a = particle.opacity.maxLoops) !== null && _a !== void 0 ? _a : 0) <= 0 || ((_b = particle.opacity.loops) !== null && _b !== void 0 ? _b : 0) < ((_c = particle.opacity.maxLoops) !== null && _c !== void 0 ? _c : 0)))) {
35
+ if (particle.destroyed ||
36
+ !particle.opacity.enable ||
37
+ (((_a = particle.opacity.maxLoops) !== null && _a !== void 0 ? _a : 0) > 0 && ((_b = particle.opacity.loops) !== null && _b !== void 0 ? _b : 0) > ((_c = particle.opacity.maxLoops) !== null && _c !== void 0 ? _c : 0))) {
38
38
  return;
39
39
  }
40
40
  switch (particle.opacity.status) {
@@ -111,12 +111,14 @@
111
111
  }
112
112
  }
113
113
  isEnabled(particle) {
114
- var _a, _b, _c;
114
+ var _a, _b, _c, _d;
115
115
  return (!particle.destroyed &&
116
116
  !particle.spawning &&
117
117
  !!particle.opacity &&
118
118
  particle.opacity.enable &&
119
- (((_a = particle.opacity.maxLoops) !== null && _a !== void 0 ? _a : 0) <= 0 || ((_b = particle.opacity.loops) !== null && _b !== void 0 ? _b : 0) < ((_c = particle.opacity.maxLoops) !== null && _c !== void 0 ? _c : 0)));
119
+ (((_a = particle.opacity.maxLoops) !== null && _a !== void 0 ? _a : 0) <= 0 ||
120
+ (((_b = particle.opacity.maxLoops) !== null && _b !== void 0 ? _b : 0) > 0 &&
121
+ ((_c = particle.opacity.loops) !== null && _c !== void 0 ? _c : 0) < ((_d = particle.opacity.maxLoops) !== null && _d !== void 0 ? _d : 0))));
120
122
  }
121
123
  update(particle, delta) {
122
124
  if (!this.isEnabled(particle)) {
@@ -30,9 +30,9 @@
30
30
  const sizeVelocity = ((_a = particle.size.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor;
31
31
  const minValue = particle.size.min;
32
32
  const maxValue = particle.size.max;
33
- if (!(!particle.destroyed &&
34
- particle.size.enable &&
35
- (((_b = particle.size.loops) !== null && _b !== void 0 ? _b : 0) <= 0 || ((_c = particle.size.loops) !== null && _c !== void 0 ? _c : 0) < ((_d = particle.size.maxLoops) !== null && _d !== void 0 ? _d : 0)))) {
33
+ if (particle.destroyed ||
34
+ !particle.size.enable ||
35
+ (((_b = particle.size.maxLoops) !== null && _b !== void 0 ? _b : 0) > 0 && ((_c = particle.size.loops) !== null && _c !== void 0 ? _c : 0) > ((_d = particle.size.maxLoops) !== null && _d !== void 0 ? _d : 0))) {
36
36
  return;
37
37
  }
38
38
  switch (particle.size.status) {
@@ -69,11 +69,12 @@
69
69
  init() {
70
70
  }
71
71
  isEnabled(particle) {
72
- var _a, _b, _c;
72
+ var _a, _b, _c, _d;
73
73
  return (!particle.destroyed &&
74
74
  !particle.spawning &&
75
75
  particle.size.enable &&
76
- (((_a = particle.size.loops) !== null && _a !== void 0 ? _a : 0) <= 0 || ((_b = particle.size.loops) !== null && _b !== void 0 ? _b : 0) < ((_c = particle.size.maxLoops) !== null && _c !== void 0 ? _c : 0)));
76
+ (((_a = particle.size.maxLoops) !== null && _a !== void 0 ? _a : 0) <= 0 ||
77
+ (((_b = particle.size.maxLoops) !== null && _b !== void 0 ? _b : 0) > 0 && ((_c = particle.size.loops) !== null && _c !== void 0 ? _c : 0) < ((_d = particle.size.maxLoops) !== null && _d !== void 0 ? _d : 0))));
77
78
  }
78
79
  update(particle, delta) {
79
80
  if (!this.isEnabled(particle)) {