tsparticles 1.41.4 → 1.42.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.
Files changed (302) hide show
  1. package/Core/Canvas.js +4 -5
  2. package/Core/Interfaces/ICoordinates.d.ts +8 -0
  3. package/Core/Interfaces/IParticleGravity.d.ts +5 -0
  4. package/Core/Interfaces/IParticleGravity.js +2 -0
  5. package/Core/Interfaces/index.d.ts +1 -0
  6. package/Core/Interfaces/index.js +1 -0
  7. package/Core/Particle.d.ts +3 -1
  8. package/Core/Particle.js +9 -7
  9. package/Core/Particles.js +2 -1
  10. package/Core/Retina.js +7 -7
  11. package/Core/Utils/ParticlesMover.js +2 -2
  12. package/Interactions/Particles/Links/LinkInstance.js +1 -1
  13. package/Options/Classes/AnimatableGradient.d.ts +4 -4
  14. package/Options/Classes/AnimatableGradient.js +4 -4
  15. package/Options/Classes/AnimationOptions.d.ts +5 -5
  16. package/Options/Classes/AnimationOptions.js +3 -2
  17. package/Options/Classes/ColorAnimation.d.ts +2 -2
  18. package/Options/Classes/ColorAnimation.js +2 -2
  19. package/Options/Classes/Particles/Move/Attract.d.ts +2 -2
  20. package/Options/Classes/Particles/Move/Attract.js +2 -1
  21. package/Options/Classes/Particles/Move/MoveAngle.d.ts +3 -3
  22. package/Options/Classes/Particles/Move/MoveAngle.js +3 -2
  23. package/Options/Classes/Particles/Move/MoveGravity.d.ts +5 -5
  24. package/Options/Classes/Particles/Move/MoveGravity.js +3 -2
  25. package/Options/Classes/Particles/Orbit/Orbit.d.ts +4 -4
  26. package/Options/Classes/Particles/Orbit/Orbit.js +4 -3
  27. package/Options/Classes/Particles/Repulse/Repulse.d.ts +5 -5
  28. package/Options/Classes/Particles/Repulse/Repulse.js +5 -4
  29. package/Options/Classes/Particles/Roll/RollLight.d.ts +2 -2
  30. package/Options/Classes/Particles/Roll/RollLight.js +2 -1
  31. package/Options/Classes/Particles/Rotate/RotateAnimation.d.ts +2 -2
  32. package/Options/Classes/Particles/Rotate/RotateAnimation.js +2 -1
  33. package/Options/Classes/Particles/Tilt/TiltAnimation.d.ts +2 -2
  34. package/Options/Classes/Particles/Tilt/TiltAnimation.js +2 -1
  35. package/Options/Classes/Particles/Twinkle/TwinkleValues.d.ts +2 -2
  36. package/Options/Classes/Particles/Twinkle/TwinkleValues.js +2 -1
  37. package/Options/Interfaces/IAnimation.d.ts +3 -2
  38. package/Options/Interfaces/Particles/Move/IAttract.d.ts +3 -2
  39. package/Options/Interfaces/Particles/Move/IMoveAngle.d.ts +3 -2
  40. package/Options/Interfaces/Particles/Move/IMoveGravity.d.ts +3 -2
  41. package/Options/Interfaces/Particles/Orbit/IOrbit.d.ts +4 -3
  42. package/Options/Interfaces/Particles/Repulse/IRepulse.d.ts +5 -4
  43. package/Options/Interfaces/Particles/Roll/IRollLight.d.ts +2 -1
  44. package/Options/Interfaces/Particles/Rotate/IRotateAnimation.d.ts +2 -1
  45. package/Options/Interfaces/Particles/Tilt/ITiltAnimation.d.ts +2 -1
  46. package/Options/Interfaces/Particles/Twinkle/ITwinkleValues.d.ts +3 -2
  47. package/Plugins/Absorbers/AbsorberInstance.js +1 -1
  48. package/Plugins/Absorbers/Options/Classes/Absorber.d.ts +2 -2
  49. package/Plugins/Absorbers/Options/Classes/Absorber.js +8 -4
  50. package/Plugins/Absorbers/Options/Interfaces/IAbsorber.d.ts +2 -2
  51. package/Plugins/Emitters/EmitterInstance.js +11 -10
  52. package/Plugins/Emitters/Options/Classes/Emitter.d.ts +2 -2
  53. package/Plugins/Emitters/Options/Classes/Emitter.js +8 -5
  54. package/Plugins/Emitters/Options/Interfaces/IEmitter.d.ts +2 -2
  55. package/Updaters/Angle/AngleUpdater.js +2 -1
  56. package/Updaters/Opacity/OpacityUpdater.js +3 -2
  57. package/Updaters/Roll/RollUpdater.js +3 -3
  58. package/Updaters/Tilt/TiltUpdater.js +1 -1
  59. package/Utils/ColorUtils.js +1 -1
  60. package/browser/Core/Canvas.js +5 -6
  61. package/browser/Core/Interfaces/ICoordinates.d.ts +8 -0
  62. package/browser/Core/Interfaces/IParticleGravity.d.ts +5 -0
  63. package/browser/Core/Interfaces/IParticleGravity.js +1 -0
  64. package/browser/Core/Interfaces/index.d.ts +1 -0
  65. package/browser/Core/Interfaces/index.js +1 -0
  66. package/browser/Core/Particle.d.ts +3 -1
  67. package/browser/Core/Particle.js +9 -7
  68. package/browser/Core/Particles.js +2 -1
  69. package/browser/Core/Retina.js +7 -7
  70. package/browser/Core/Utils/ParticlesMover.js +2 -2
  71. package/browser/Interactions/Particles/Links/LinkInstance.js +2 -2
  72. package/browser/Options/Classes/AnimatableGradient.d.ts +4 -4
  73. package/browser/Options/Classes/AnimatableGradient.js +4 -4
  74. package/browser/Options/Classes/AnimationOptions.d.ts +5 -5
  75. package/browser/Options/Classes/AnimationOptions.js +3 -2
  76. package/browser/Options/Classes/ColorAnimation.d.ts +2 -2
  77. package/browser/Options/Classes/ColorAnimation.js +2 -2
  78. package/browser/Options/Classes/Particles/Move/Attract.d.ts +2 -2
  79. package/browser/Options/Classes/Particles/Move/Attract.js +2 -1
  80. package/browser/Options/Classes/Particles/Move/MoveAngle.d.ts +3 -3
  81. package/browser/Options/Classes/Particles/Move/MoveAngle.js +3 -2
  82. package/browser/Options/Classes/Particles/Move/MoveGravity.d.ts +5 -5
  83. package/browser/Options/Classes/Particles/Move/MoveGravity.js +3 -2
  84. package/browser/Options/Classes/Particles/Orbit/Orbit.d.ts +4 -4
  85. package/browser/Options/Classes/Particles/Orbit/Orbit.js +4 -3
  86. package/browser/Options/Classes/Particles/Repulse/Repulse.d.ts +5 -5
  87. package/browser/Options/Classes/Particles/Repulse/Repulse.js +5 -4
  88. package/browser/Options/Classes/Particles/Roll/RollLight.d.ts +2 -2
  89. package/browser/Options/Classes/Particles/Roll/RollLight.js +2 -1
  90. package/browser/Options/Classes/Particles/Rotate/RotateAnimation.d.ts +2 -2
  91. package/browser/Options/Classes/Particles/Rotate/RotateAnimation.js +2 -1
  92. package/browser/Options/Classes/Particles/Tilt/TiltAnimation.d.ts +2 -2
  93. package/browser/Options/Classes/Particles/Tilt/TiltAnimation.js +2 -1
  94. package/browser/Options/Classes/Particles/Twinkle/TwinkleValues.d.ts +2 -2
  95. package/browser/Options/Classes/Particles/Twinkle/TwinkleValues.js +2 -1
  96. package/browser/Options/Interfaces/IAnimation.d.ts +3 -2
  97. package/browser/Options/Interfaces/Particles/Move/IAttract.d.ts +3 -2
  98. package/browser/Options/Interfaces/Particles/Move/IMoveAngle.d.ts +3 -2
  99. package/browser/Options/Interfaces/Particles/Move/IMoveGravity.d.ts +3 -2
  100. package/browser/Options/Interfaces/Particles/Orbit/IOrbit.d.ts +4 -3
  101. package/browser/Options/Interfaces/Particles/Repulse/IRepulse.d.ts +5 -4
  102. package/browser/Options/Interfaces/Particles/Roll/IRollLight.d.ts +2 -1
  103. package/browser/Options/Interfaces/Particles/Rotate/IRotateAnimation.d.ts +2 -1
  104. package/browser/Options/Interfaces/Particles/Tilt/ITiltAnimation.d.ts +2 -1
  105. package/browser/Options/Interfaces/Particles/Twinkle/ITwinkleValues.d.ts +3 -2
  106. package/browser/Plugins/Absorbers/AbsorberInstance.js +1 -1
  107. package/browser/Plugins/Absorbers/Options/Classes/Absorber.d.ts +2 -2
  108. package/browser/Plugins/Absorbers/Options/Classes/Absorber.js +8 -4
  109. package/browser/Plugins/Absorbers/Options/Interfaces/IAbsorber.d.ts +2 -2
  110. package/browser/Plugins/Emitters/EmitterInstance.js +11 -10
  111. package/browser/Plugins/Emitters/Options/Classes/Emitter.d.ts +2 -2
  112. package/browser/Plugins/Emitters/Options/Classes/Emitter.js +8 -5
  113. package/browser/Plugins/Emitters/Options/Interfaces/IEmitter.d.ts +2 -2
  114. package/browser/Updaters/Angle/AngleUpdater.js +2 -1
  115. package/browser/Updaters/Opacity/OpacityUpdater.js +3 -2
  116. package/browser/Updaters/Roll/RollUpdater.js +3 -3
  117. package/browser/Updaters/Tilt/TiltUpdater.js +1 -1
  118. package/browser/Utils/ColorUtils.js +2 -2
  119. package/esm/Core/Canvas.js +5 -6
  120. package/esm/Core/Interfaces/ICoordinates.d.ts +8 -0
  121. package/esm/Core/Interfaces/IParticleGravity.d.ts +5 -0
  122. package/esm/Core/Interfaces/IParticleGravity.js +1 -0
  123. package/esm/Core/Interfaces/index.d.ts +1 -0
  124. package/esm/Core/Interfaces/index.js +1 -0
  125. package/esm/Core/Particle.d.ts +3 -1
  126. package/esm/Core/Particle.js +9 -7
  127. package/esm/Core/Particles.js +2 -1
  128. package/esm/Core/Retina.js +7 -7
  129. package/esm/Core/Utils/ParticlesMover.js +2 -2
  130. package/esm/Interactions/Particles/Links/LinkInstance.js +2 -2
  131. package/esm/Options/Classes/AnimatableGradient.d.ts +4 -4
  132. package/esm/Options/Classes/AnimatableGradient.js +4 -4
  133. package/esm/Options/Classes/AnimationOptions.d.ts +5 -5
  134. package/esm/Options/Classes/AnimationOptions.js +3 -2
  135. package/esm/Options/Classes/ColorAnimation.d.ts +2 -2
  136. package/esm/Options/Classes/ColorAnimation.js +2 -2
  137. package/esm/Options/Classes/Particles/Move/Attract.d.ts +2 -2
  138. package/esm/Options/Classes/Particles/Move/Attract.js +2 -1
  139. package/esm/Options/Classes/Particles/Move/MoveAngle.d.ts +3 -3
  140. package/esm/Options/Classes/Particles/Move/MoveAngle.js +3 -2
  141. package/esm/Options/Classes/Particles/Move/MoveGravity.d.ts +5 -5
  142. package/esm/Options/Classes/Particles/Move/MoveGravity.js +3 -2
  143. package/esm/Options/Classes/Particles/Orbit/Orbit.d.ts +4 -4
  144. package/esm/Options/Classes/Particles/Orbit/Orbit.js +4 -3
  145. package/esm/Options/Classes/Particles/Repulse/Repulse.d.ts +5 -5
  146. package/esm/Options/Classes/Particles/Repulse/Repulse.js +5 -4
  147. package/esm/Options/Classes/Particles/Roll/RollLight.d.ts +2 -2
  148. package/esm/Options/Classes/Particles/Roll/RollLight.js +2 -1
  149. package/esm/Options/Classes/Particles/Rotate/RotateAnimation.d.ts +2 -2
  150. package/esm/Options/Classes/Particles/Rotate/RotateAnimation.js +2 -1
  151. package/esm/Options/Classes/Particles/Tilt/TiltAnimation.d.ts +2 -2
  152. package/esm/Options/Classes/Particles/Tilt/TiltAnimation.js +2 -1
  153. package/esm/Options/Classes/Particles/Twinkle/TwinkleValues.d.ts +2 -2
  154. package/esm/Options/Classes/Particles/Twinkle/TwinkleValues.js +2 -1
  155. package/esm/Options/Interfaces/IAnimation.d.ts +3 -2
  156. package/esm/Options/Interfaces/Particles/Move/IAttract.d.ts +3 -2
  157. package/esm/Options/Interfaces/Particles/Move/IMoveAngle.d.ts +3 -2
  158. package/esm/Options/Interfaces/Particles/Move/IMoveGravity.d.ts +3 -2
  159. package/esm/Options/Interfaces/Particles/Orbit/IOrbit.d.ts +4 -3
  160. package/esm/Options/Interfaces/Particles/Repulse/IRepulse.d.ts +5 -4
  161. package/esm/Options/Interfaces/Particles/Roll/IRollLight.d.ts +2 -1
  162. package/esm/Options/Interfaces/Particles/Rotate/IRotateAnimation.d.ts +2 -1
  163. package/esm/Options/Interfaces/Particles/Tilt/ITiltAnimation.d.ts +2 -1
  164. package/esm/Options/Interfaces/Particles/Twinkle/ITwinkleValues.d.ts +3 -2
  165. package/esm/Plugins/Absorbers/AbsorberInstance.js +1 -1
  166. package/esm/Plugins/Absorbers/Options/Classes/Absorber.d.ts +2 -2
  167. package/esm/Plugins/Absorbers/Options/Classes/Absorber.js +8 -4
  168. package/esm/Plugins/Absorbers/Options/Interfaces/IAbsorber.d.ts +2 -2
  169. package/esm/Plugins/Emitters/EmitterInstance.js +11 -10
  170. package/esm/Plugins/Emitters/Options/Classes/Emitter.d.ts +2 -2
  171. package/esm/Plugins/Emitters/Options/Classes/Emitter.js +8 -5
  172. package/esm/Plugins/Emitters/Options/Interfaces/IEmitter.d.ts +2 -2
  173. package/esm/Updaters/Angle/AngleUpdater.js +2 -1
  174. package/esm/Updaters/Opacity/OpacityUpdater.js +3 -2
  175. package/esm/Updaters/Roll/RollUpdater.js +3 -3
  176. package/esm/Updaters/Tilt/TiltUpdater.js +1 -1
  177. package/esm/Utils/ColorUtils.js +2 -2
  178. package/package.json +1 -1
  179. package/report.html +2 -2
  180. package/report.slim.html +2 -2
  181. package/scripts/install.js +11 -2
  182. package/tsparticles.engine.js +47 -47
  183. package/tsparticles.engine.min.js +2 -2
  184. package/tsparticles.interaction.external.attract.js +319 -36
  185. package/tsparticles.interaction.external.attract.min.js +1 -1
  186. package/tsparticles.interaction.external.bounce.js +319 -36
  187. package/tsparticles.interaction.external.bounce.min.js +1 -1
  188. package/tsparticles.interaction.external.bubble.js +319 -36
  189. package/tsparticles.interaction.external.bubble.min.js +1 -1
  190. package/tsparticles.interaction.external.connect.js +319 -36
  191. package/tsparticles.interaction.external.connect.min.js +1 -1
  192. package/tsparticles.interaction.external.grab.js +319 -36
  193. package/tsparticles.interaction.external.grab.min.js +1 -1
  194. package/tsparticles.interaction.external.repulse.js +319 -36
  195. package/tsparticles.interaction.external.repulse.min.js +1 -1
  196. package/tsparticles.interaction.external.trail.js +319 -36
  197. package/tsparticles.interaction.external.trail.min.js +1 -1
  198. package/tsparticles.interaction.particles.attract.js +319 -36
  199. package/tsparticles.interaction.particles.attract.min.js +1 -1
  200. package/tsparticles.interaction.particles.collisions.js +319 -36
  201. package/tsparticles.interaction.particles.collisions.min.js +1 -1
  202. package/tsparticles.interaction.particles.links.js +320 -37
  203. package/tsparticles.interaction.particles.links.min.js +2 -2
  204. package/tsparticles.js +81 -74
  205. package/tsparticles.min.js +2 -2
  206. package/tsparticles.pathseg.min.js +1 -1
  207. package/tsparticles.plugins.absorbers.js +327 -41
  208. package/tsparticles.plugins.absorbers.min.js +2 -2
  209. package/tsparticles.plugins.emitters.js +438 -151
  210. package/tsparticles.plugins.emitters.min.js +2 -2
  211. package/tsparticles.plugins.polygonMask.js +319 -36
  212. package/tsparticles.plugins.polygonMask.min.js +1 -1
  213. package/tsparticles.shape.circle.min.js +1 -1
  214. package/tsparticles.shape.image.js +319 -36
  215. package/tsparticles.shape.image.min.js +1 -1
  216. package/tsparticles.shape.line.min.js +1 -1
  217. package/tsparticles.shape.polygon.min.js +1 -1
  218. package/tsparticles.shape.square.min.js +1 -1
  219. package/tsparticles.shape.star.min.js +1 -1
  220. package/tsparticles.shape.text.js +319 -36
  221. package/tsparticles.shape.text.min.js +1 -1
  222. package/tsparticles.slim.js +51 -51
  223. package/tsparticles.slim.min.js +2 -2
  224. package/tsparticles.updater.angle.js +320 -37
  225. package/tsparticles.updater.angle.min.js +2 -2
  226. package/tsparticles.updater.color.js +319 -36
  227. package/tsparticles.updater.color.min.js +2 -2
  228. package/tsparticles.updater.life.js +319 -36
  229. package/tsparticles.updater.life.min.js +1 -1
  230. package/tsparticles.updater.opacity.js +321 -38
  231. package/tsparticles.updater.opacity.min.js +2 -2
  232. package/tsparticles.updater.outModes.js +319 -36
  233. package/tsparticles.updater.outModes.min.js +1 -1
  234. package/tsparticles.updater.roll.js +322 -39
  235. package/tsparticles.updater.roll.min.js +2 -2
  236. package/tsparticles.updater.size.js +319 -36
  237. package/tsparticles.updater.size.min.js +1 -1
  238. package/tsparticles.updater.strokeColor.js +319 -36
  239. package/tsparticles.updater.strokeColor.min.js +2 -2
  240. package/tsparticles.updater.tilt.js +320 -37
  241. package/tsparticles.updater.tilt.min.js +2 -2
  242. package/tsparticles.updater.wobble.js +319 -36
  243. package/tsparticles.updater.wobble.min.js +1 -1
  244. package/umd/Core/Canvas.js +4 -5
  245. package/umd/Core/Interfaces/ICoordinates.d.ts +8 -0
  246. package/umd/Core/Interfaces/IParticleGravity.d.ts +5 -0
  247. package/umd/Core/Interfaces/IParticleGravity.js +12 -0
  248. package/umd/Core/Interfaces/index.d.ts +1 -0
  249. package/umd/Core/Interfaces/index.js +2 -1
  250. package/umd/Core/Particle.d.ts +3 -1
  251. package/umd/Core/Particle.js +9 -7
  252. package/umd/Core/Particles.js +2 -1
  253. package/umd/Core/Retina.js +7 -7
  254. package/umd/Core/Utils/ParticlesMover.js +2 -2
  255. package/umd/Interactions/Particles/Links/LinkInstance.js +1 -1
  256. package/umd/Options/Classes/AnimatableGradient.d.ts +4 -4
  257. package/umd/Options/Classes/AnimatableGradient.js +4 -4
  258. package/umd/Options/Classes/AnimationOptions.d.ts +5 -5
  259. package/umd/Options/Classes/AnimationOptions.js +4 -3
  260. package/umd/Options/Classes/ColorAnimation.d.ts +2 -2
  261. package/umd/Options/Classes/ColorAnimation.js +2 -2
  262. package/umd/Options/Classes/Particles/Move/Attract.d.ts +2 -2
  263. package/umd/Options/Classes/Particles/Move/Attract.js +3 -2
  264. package/umd/Options/Classes/Particles/Move/MoveAngle.d.ts +3 -3
  265. package/umd/Options/Classes/Particles/Move/MoveAngle.js +4 -3
  266. package/umd/Options/Classes/Particles/Move/MoveGravity.d.ts +5 -5
  267. package/umd/Options/Classes/Particles/Move/MoveGravity.js +4 -3
  268. package/umd/Options/Classes/Particles/Orbit/Orbit.d.ts +4 -4
  269. package/umd/Options/Classes/Particles/Orbit/Orbit.js +5 -4
  270. package/umd/Options/Classes/Particles/Repulse/Repulse.d.ts +5 -5
  271. package/umd/Options/Classes/Particles/Repulse/Repulse.js +6 -5
  272. package/umd/Options/Classes/Particles/Roll/RollLight.d.ts +2 -2
  273. package/umd/Options/Classes/Particles/Roll/RollLight.js +3 -2
  274. package/umd/Options/Classes/Particles/Rotate/RotateAnimation.d.ts +2 -2
  275. package/umd/Options/Classes/Particles/Rotate/RotateAnimation.js +3 -2
  276. package/umd/Options/Classes/Particles/Tilt/TiltAnimation.d.ts +2 -2
  277. package/umd/Options/Classes/Particles/Tilt/TiltAnimation.js +3 -2
  278. package/umd/Options/Classes/Particles/Twinkle/TwinkleValues.d.ts +2 -2
  279. package/umd/Options/Classes/Particles/Twinkle/TwinkleValues.js +3 -2
  280. package/umd/Options/Interfaces/IAnimation.d.ts +3 -2
  281. package/umd/Options/Interfaces/Particles/Move/IAttract.d.ts +3 -2
  282. package/umd/Options/Interfaces/Particles/Move/IMoveAngle.d.ts +3 -2
  283. package/umd/Options/Interfaces/Particles/Move/IMoveGravity.d.ts +3 -2
  284. package/umd/Options/Interfaces/Particles/Orbit/IOrbit.d.ts +4 -3
  285. package/umd/Options/Interfaces/Particles/Repulse/IRepulse.d.ts +5 -4
  286. package/umd/Options/Interfaces/Particles/Roll/IRollLight.d.ts +2 -1
  287. package/umd/Options/Interfaces/Particles/Rotate/IRotateAnimation.d.ts +2 -1
  288. package/umd/Options/Interfaces/Particles/Tilt/ITiltAnimation.d.ts +2 -1
  289. package/umd/Options/Interfaces/Particles/Twinkle/ITwinkleValues.d.ts +3 -2
  290. package/umd/Plugins/Absorbers/AbsorberInstance.js +1 -1
  291. package/umd/Plugins/Absorbers/Options/Classes/Absorber.d.ts +2 -2
  292. package/umd/Plugins/Absorbers/Options/Classes/Absorber.js +9 -5
  293. package/umd/Plugins/Absorbers/Options/Interfaces/IAbsorber.d.ts +2 -2
  294. package/umd/Plugins/Emitters/EmitterInstance.js +11 -10
  295. package/umd/Plugins/Emitters/Options/Classes/Emitter.d.ts +2 -2
  296. package/umd/Plugins/Emitters/Options/Classes/Emitter.js +9 -6
  297. package/umd/Plugins/Emitters/Options/Interfaces/IEmitter.d.ts +2 -2
  298. package/umd/Updaters/Angle/AngleUpdater.js +2 -1
  299. package/umd/Updaters/Opacity/OpacityUpdater.js +3 -2
  300. package/umd/Updaters/Roll/RollUpdater.js +3 -3
  301. package/umd/Updaters/Tilt/TiltUpdater.js +1 -1
  302. package/umd/Utils/ColorUtils.js +1 -1
@@ -613,7 +613,7 @@
613
613
  }
614
614
  const container = this.container, slowFactor = this.getProximitySpeedFactor(particle), baseSpeed = ((_a = (_d = particle.retina).moveSpeed) !== null && _a !== void 0 ? _a : _d.moveSpeed = getRangeValue(moveOptions.speed) * container.retina.pixelRatio) * container.retina.reduceFactor, moveDrift = (_b = (_e = particle.retina).moveDrift) !== null && _b !== void 0 ? _b : _e.moveDrift = getRangeValue(particle.options.move.drift) * container.retina.pixelRatio, maxSize = getRangeMax(particleOptions.size.value) * container.retina.pixelRatio, sizeFactor = moveOptions.size ? particle.getRadius() / maxSize : 1, diffFactor = 2, speedFactor = sizeFactor * slowFactor * (delta.factor || 1) / diffFactor, moveSpeed = baseSpeed * speedFactor;
615
615
  this.applyPath(particle, delta);
616
- const gravityOptions = moveOptions.gravity;
616
+ const gravityOptions = particle.gravity;
617
617
  const gravityFactor = gravityOptions.enable && gravityOptions.inverse ? -1 : 1;
618
618
  if (gravityOptions.enable && moveSpeed) {
619
619
  particle.velocity.y += gravityFactor * (gravityOptions.acceleration * delta.factor) / (60 * moveSpeed);
@@ -627,7 +627,7 @@
627
627
  }
628
628
  const velocity = particle.velocity.mult(moveSpeed);
629
629
  const maxSpeed = (_c = particle.retina.maxSpeed) !== null && _c !== void 0 ? _c : container.retina.maxSpeed;
630
- if (gravityOptions.enable && gravityOptions.maxSpeed > 0 && (!gravityOptions.inverse && velocity.y >= 0 && velocity.y >= maxSpeed || gravityOptions.inverse && velocity.y <= 0 && velocity.y <= -maxSpeed)) {
630
+ if (gravityOptions.enable && maxSpeed > 0 && (!gravityOptions.inverse && velocity.y >= 0 && velocity.y >= maxSpeed || gravityOptions.inverse && velocity.y <= 0 && velocity.y <= -maxSpeed)) {
631
631
  velocity.y = gravityFactor * maxSpeed;
632
632
  if (moveSpeed) {
633
633
  particle.velocity.y = velocity.y / moveSpeed;
@@ -986,10 +986,7 @@
986
986
  const container = this.container;
987
987
  const pxRatio = container.retina.pixelRatio;
988
988
  const size = container.canvas.size;
989
- const oldSize = {
990
- width: size.width,
991
- height: size.height
992
- };
989
+ const oldSize = Object.assign({}, size);
993
990
  size.width = this.element.offsetWidth * pxRatio;
994
991
  size.height = this.element.offsetHeight * pxRatio;
995
992
  this.element.width = size.width;
@@ -1048,7 +1045,7 @@
1048
1045
  const zIndexOptions = particle.options.zIndex;
1049
1046
  const zOpacityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.opacityRate;
1050
1047
  const radius = particle.getRadius();
1051
- const opacity = twinkling ? twinkle.opacity : (_d = (_b = particle.bubble.opacity) !== null && _b !== void 0 ? _b : (_c = particle.opacity) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : 1;
1048
+ const opacity = twinkling ? getRangeValue(twinkle.opacity) : (_d = (_b = particle.bubble.opacity) !== null && _b !== void 0 ? _b : (_c = particle.opacity) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : 1;
1052
1049
  const strokeOpacity = (_f = (_e = particle.stroke) === null || _e === void 0 ? void 0 : _e.opacity) !== null && _f !== void 0 ? _f : opacity;
1053
1050
  const zOpacity = opacity * zOpacityFactor;
1054
1051
  const fillColorValue = fColor ? getStyleFromHsl(fColor, zOpacity) : undefined;
@@ -1319,7 +1316,7 @@
1319
1316
  return;
1320
1317
  }
1321
1318
  if (data.count !== undefined) {
1322
- this.count = data.count;
1319
+ this.count = setRangeValue(data.count);
1323
1320
  }
1324
1321
  if (data.enable !== undefined) {
1325
1322
  this.enable = data.enable;
@@ -1328,7 +1325,7 @@
1328
1325
  this.offset = setRangeValue(data.offset);
1329
1326
  }
1330
1327
  if (data.speed !== undefined) {
1331
- this.speed = data.speed;
1328
+ this.speed = setRangeValue(data.speed);
1332
1329
  }
1333
1330
  if (data.sync !== undefined) {
1334
1331
  this.sync = data.sync;
@@ -1476,13 +1473,13 @@
1476
1473
  return;
1477
1474
  }
1478
1475
  if (data.count !== undefined) {
1479
- this.count = data.count;
1476
+ this.count = setRangeValue(data.count);
1480
1477
  }
1481
1478
  if (data.enable !== undefined) {
1482
1479
  this.enable = data.enable;
1483
1480
  }
1484
1481
  if (data.speed !== undefined) {
1485
- this.speed = data.speed;
1482
+ this.speed = setRangeValue(data.speed);
1486
1483
  }
1487
1484
  if (data.sync !== undefined) {
1488
1485
  this.sync = data.sync;
@@ -1502,13 +1499,13 @@
1502
1499
  return;
1503
1500
  }
1504
1501
  if (data.count !== undefined) {
1505
- this.count = data.count;
1502
+ this.count = setRangeValue(data.count);
1506
1503
  }
1507
1504
  if (data.enable !== undefined) {
1508
1505
  this.enable = data.enable;
1509
1506
  }
1510
1507
  if (data.speed !== undefined) {
1511
- this.speed = data.speed;
1508
+ this.speed = setRangeValue(data.speed);
1512
1509
  }
1513
1510
  if (data.sync !== undefined) {
1514
1511
  this.sync = data.sync;
@@ -1680,6 +1677,90 @@
1680
1677
  this.duration.load(data.duration);
1681
1678
  }
1682
1679
  }
1680
+ class Attract_Attract {
1681
+ constructor() {
1682
+ this.distance = 200;
1683
+ this.enable = false;
1684
+ this.rotate = {
1685
+ x: 3e3,
1686
+ y: 3e3
1687
+ };
1688
+ }
1689
+ get rotateX() {
1690
+ return this.rotate.x;
1691
+ }
1692
+ set rotateX(value) {
1693
+ this.rotate.x = value;
1694
+ }
1695
+ get rotateY() {
1696
+ return this.rotate.y;
1697
+ }
1698
+ set rotateY(value) {
1699
+ this.rotate.y = value;
1700
+ }
1701
+ load(data) {
1702
+ var _a, _b, _c, _d;
1703
+ if (!data) {
1704
+ return;
1705
+ }
1706
+ if (data.distance !== undefined) {
1707
+ this.distance = setRangeValue(data.distance);
1708
+ }
1709
+ if (data.enable !== undefined) {
1710
+ this.enable = data.enable;
1711
+ }
1712
+ const rotateX = (_b = (_a = data.rotate) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : data.rotateX;
1713
+ if (rotateX !== undefined) {
1714
+ this.rotate.x = rotateX;
1715
+ }
1716
+ const rotateY = (_d = (_c = data.rotate) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : data.rotateY;
1717
+ if (rotateY !== undefined) {
1718
+ this.rotate.y = rotateY;
1719
+ }
1720
+ }
1721
+ }
1722
+ class MoveAngle_MoveAngle {
1723
+ constructor() {
1724
+ this.offset = 0;
1725
+ this.value = 90;
1726
+ }
1727
+ load(data) {
1728
+ if (data === undefined) {
1729
+ return;
1730
+ }
1731
+ if (data.offset !== undefined) {
1732
+ this.offset = setRangeValue(data.offset);
1733
+ }
1734
+ if (data.value !== undefined) {
1735
+ this.value = setRangeValue(data.value);
1736
+ }
1737
+ }
1738
+ }
1739
+ class MoveGravity_MoveGravity {
1740
+ constructor() {
1741
+ this.acceleration = 9.81;
1742
+ this.enable = false;
1743
+ this.inverse = false;
1744
+ this.maxSpeed = 50;
1745
+ }
1746
+ load(data) {
1747
+ if (!data) {
1748
+ return;
1749
+ }
1750
+ if (data.acceleration !== undefined) {
1751
+ this.acceleration = setRangeValue(data.acceleration);
1752
+ }
1753
+ if (data.enable !== undefined) {
1754
+ this.enable = data.enable;
1755
+ }
1756
+ if (data.inverse !== undefined) {
1757
+ this.inverse = data.inverse;
1758
+ }
1759
+ if (data.maxSpeed !== undefined) {
1760
+ this.maxSpeed = setRangeValue(data.maxSpeed);
1761
+ }
1762
+ }
1763
+ }
1683
1764
  class PathDelay_PathDelay extends(null && ValueWithRandom){
1684
1765
  constructor() {
1685
1766
  super();
@@ -1841,6 +1922,70 @@
1841
1922
  }
1842
1923
  }
1843
1924
  }
1925
+ class AnimationOptions_AnimationOptions {
1926
+ constructor() {
1927
+ this.count = 0;
1928
+ this.enable = false;
1929
+ this.speed = 1;
1930
+ this.sync = false;
1931
+ }
1932
+ load(data) {
1933
+ if (!data) {
1934
+ return;
1935
+ }
1936
+ if (data.count !== undefined) {
1937
+ this.count = setRangeValue(data.count);
1938
+ }
1939
+ if (data.enable !== undefined) {
1940
+ this.enable = data.enable;
1941
+ }
1942
+ if (data.speed !== undefined) {
1943
+ this.speed = setRangeValue(data.speed);
1944
+ }
1945
+ if (data.sync !== undefined) {
1946
+ this.sync = data.sync;
1947
+ }
1948
+ }
1949
+ }
1950
+ class OpacityAnimation_OpacityAnimation extends(null && AnimationOptions){
1951
+ constructor() {
1952
+ super();
1953
+ this.destroy = "none";
1954
+ this.enable = false;
1955
+ this.speed = 2;
1956
+ this.startValue = "random";
1957
+ this.sync = false;
1958
+ }
1959
+ get opacity_min() {
1960
+ return this.minimumValue;
1961
+ }
1962
+ set opacity_min(value) {
1963
+ this.minimumValue = value;
1964
+ }
1965
+ load(data) {
1966
+ var _a;
1967
+ if (data === undefined) {
1968
+ return;
1969
+ }
1970
+ super.load(data);
1971
+ if (data.destroy !== undefined) {
1972
+ this.destroy = data.destroy;
1973
+ }
1974
+ if (data.enable !== undefined) {
1975
+ this.enable = data.enable;
1976
+ }
1977
+ this.minimumValue = (_a = data.minimumValue) !== null && _a !== void 0 ? _a : data.opacity_min;
1978
+ if (data.speed !== undefined) {
1979
+ this.speed = data.speed;
1980
+ }
1981
+ if (data.startValue !== undefined) {
1982
+ this.startValue = data.startValue;
1983
+ }
1984
+ if (data.sync !== undefined) {
1985
+ this.sync = data.sync;
1986
+ }
1987
+ }
1988
+ }
1844
1989
  class Opacity_Opacity extends(null && ValueWithRandom){
1845
1990
  constructor() {
1846
1991
  super();
@@ -1899,13 +2044,13 @@
1899
2044
  this.enable = data.enable;
1900
2045
  }
1901
2046
  if (data.opacity !== undefined) {
1902
- this.opacity = data.opacity;
2047
+ this.opacity = setRangeValue(data.opacity);
1903
2048
  }
1904
2049
  if (data.width !== undefined) {
1905
- this.width = data.width;
2050
+ this.width = setRangeValue(data.width);
1906
2051
  }
1907
2052
  if (data.radius !== undefined) {
1908
- this.radius = data.radius;
2053
+ this.radius = setRangeValue(data.radius);
1909
2054
  }
1910
2055
  if (data.color !== undefined) {
1911
2056
  this.color = OptionsColor.create(this.color, data.color);
@@ -1930,16 +2075,33 @@
1930
2075
  this.enabled = data.enabled;
1931
2076
  }
1932
2077
  if (data.distance !== undefined) {
1933
- this.distance = data.distance;
2078
+ this.distance = setRangeValue(data.distance);
1934
2079
  }
1935
2080
  if (data.duration !== undefined) {
1936
- this.duration = data.duration;
2081
+ this.duration = setRangeValue(data.duration);
1937
2082
  }
1938
2083
  if (data.factor !== undefined) {
1939
- this.factor = data.factor;
2084
+ this.factor = setRangeValue(data.factor);
1940
2085
  }
1941
2086
  if (data.speed !== undefined) {
1942
- this.speed = data.speed;
2087
+ this.speed = setRangeValue(data.speed);
2088
+ }
2089
+ }
2090
+ }
2091
+ class RollLight_RollLight {
2092
+ constructor() {
2093
+ this.enable = false;
2094
+ this.value = 0;
2095
+ }
2096
+ load(data) {
2097
+ if (!data) {
2098
+ return;
2099
+ }
2100
+ if (data.enable !== undefined) {
2101
+ this.enable = data.enable;
2102
+ }
2103
+ if (data.value !== undefined) {
2104
+ this.value = setRangeValue(data.value);
1943
2105
  }
1944
2106
  }
1945
2107
  }
@@ -1971,6 +2133,27 @@
1971
2133
  }
1972
2134
  }
1973
2135
  }
2136
+ class RotateAnimation_RotateAnimation {
2137
+ constructor() {
2138
+ this.enable = false;
2139
+ this.speed = 0;
2140
+ this.sync = false;
2141
+ }
2142
+ load(data) {
2143
+ if (data === undefined) {
2144
+ return;
2145
+ }
2146
+ if (data.enable !== undefined) {
2147
+ this.enable = data.enable;
2148
+ }
2149
+ if (data.speed !== undefined) {
2150
+ this.speed = setRangeValue(data.speed);
2151
+ }
2152
+ if (data.sync !== undefined) {
2153
+ this.sync = data.sync;
2154
+ }
2155
+ }
2156
+ }
1974
2157
  class Rotate_Rotate extends(null && ValueWithRandom){
1975
2158
  constructor() {
1976
2159
  super();
@@ -2089,6 +2272,45 @@
2089
2272
  }
2090
2273
  }
2091
2274
  }
2275
+ class SizeAnimation_SizeAnimation extends(null && AnimationOptions){
2276
+ constructor() {
2277
+ super();
2278
+ this.destroy = "none";
2279
+ this.enable = false;
2280
+ this.speed = 5;
2281
+ this.startValue = "random";
2282
+ this.sync = false;
2283
+ }
2284
+ get size_min() {
2285
+ return this.minimumValue;
2286
+ }
2287
+ set size_min(value) {
2288
+ this.minimumValue = value;
2289
+ }
2290
+ load(data) {
2291
+ var _a;
2292
+ if (data === undefined) {
2293
+ return;
2294
+ }
2295
+ super.load(data);
2296
+ if (data.destroy !== undefined) {
2297
+ this.destroy = data.destroy;
2298
+ }
2299
+ if (data.enable !== undefined) {
2300
+ this.enable = data.enable;
2301
+ }
2302
+ this.minimumValue = (_a = data.minimumValue) !== null && _a !== void 0 ? _a : data.size_min;
2303
+ if (data.speed !== undefined) {
2304
+ this.speed = data.speed;
2305
+ }
2306
+ if (data.startValue !== undefined) {
2307
+ this.startValue = data.startValue;
2308
+ }
2309
+ if (data.sync !== undefined) {
2310
+ this.sync = data.sync;
2311
+ }
2312
+ }
2313
+ }
2092
2314
  class Size_Size extends(null && ValueWithRandom){
2093
2315
  constructor() {
2094
2316
  super();
@@ -2134,6 +2356,27 @@
2134
2356
  }
2135
2357
  }
2136
2358
  }
2359
+ class TiltAnimation_TiltAnimation {
2360
+ constructor() {
2361
+ this.enable = false;
2362
+ this.speed = 0;
2363
+ this.sync = false;
2364
+ }
2365
+ load(data) {
2366
+ if (data === undefined) {
2367
+ return;
2368
+ }
2369
+ if (data.enable !== undefined) {
2370
+ this.enable = data.enable;
2371
+ }
2372
+ if (data.speed !== undefined) {
2373
+ this.speed = setRangeValue(data.speed);
2374
+ }
2375
+ if (data.sync !== undefined) {
2376
+ this.sync = data.sync;
2377
+ }
2378
+ }
2379
+ }
2137
2380
  class Tilt_Tilt extends(null && ValueWithRandom){
2138
2381
  constructor() {
2139
2382
  super();
@@ -2156,6 +2399,43 @@
2156
2399
  }
2157
2400
  }
2158
2401
  }
2402
+ class TwinkleValues_TwinkleValues {
2403
+ constructor() {
2404
+ this.enable = false;
2405
+ this.frequency = .05;
2406
+ this.opacity = 1;
2407
+ }
2408
+ load(data) {
2409
+ if (data === undefined) {
2410
+ return;
2411
+ }
2412
+ if (data.color !== undefined) {
2413
+ this.color = OptionsColor.create(this.color, data.color);
2414
+ }
2415
+ if (data.enable !== undefined) {
2416
+ this.enable = data.enable;
2417
+ }
2418
+ if (data.frequency !== undefined) {
2419
+ this.frequency = data.frequency;
2420
+ }
2421
+ if (data.opacity !== undefined) {
2422
+ this.opacity = setRangeValue(data.opacity);
2423
+ }
2424
+ }
2425
+ }
2426
+ class Twinkle_Twinkle {
2427
+ constructor() {
2428
+ this.lines = new TwinkleValues;
2429
+ this.particles = new TwinkleValues;
2430
+ }
2431
+ load(data) {
2432
+ if (data === undefined) {
2433
+ return;
2434
+ }
2435
+ this.lines.load(data.lines);
2436
+ this.particles.load(data.particles);
2437
+ }
2438
+ }
2159
2439
  class Wobble_Wobble {
2160
2440
  constructor() {
2161
2441
  this.distance = 5;
@@ -2553,6 +2833,7 @@
2553
2833
  this.retina = {
2554
2834
  maxDistance: {}
2555
2835
  };
2836
+ this.ignoresResizeRatio = true;
2556
2837
  const pxRatio = container.retina.pixelRatio;
2557
2838
  const mainOptions = container.actualOptions;
2558
2839
  const particlesOptions = new ParticlesOptions;
@@ -2592,7 +2873,7 @@
2592
2873
  max: getRangeMax(sizeRange) * pxRatio,
2593
2874
  min: getRangeMin(sizeRange) * pxRatio,
2594
2875
  loops: 0,
2595
- maxLoops: sizeOptions.animation.count
2876
+ maxLoops: getRangeValue(sizeOptions.animation.count)
2596
2877
  };
2597
2878
  const sizeAnimation = sizeOptions.animation;
2598
2879
  if (sizeAnimation.enable) {
@@ -2626,6 +2907,12 @@
2626
2907
  this.initialVelocity = this.calculateVelocity();
2627
2908
  this.velocity = this.initialVelocity.copy();
2628
2909
  this.moveDecay = 1 - getRangeValue(this.options.move.decay);
2910
+ const gravityOptions = this.options.move.gravity;
2911
+ this.gravity = {
2912
+ enable: gravityOptions.enable,
2913
+ acceleration: getRangeValue(gravityOptions.acceleration),
2914
+ inverse: gravityOptions.inverse
2915
+ };
2629
2916
  this.position = this.calcPosition(container, position, clamp(zIndexValue, 0, container.zLayers));
2630
2917
  this.initialPosition = this.position.copy();
2631
2918
  this.offset = Vector.origin;
@@ -2833,12 +3120,7 @@
2833
3120
  return overlaps;
2834
3121
  }
2835
3122
  calculateVelocity() {
2836
- const baseVelocity = getParticleBaseVelocity(this.direction);
2837
- const res = baseVelocity.copy();
2838
- const moveOptions = this.options.move;
2839
- const rad = Math.PI / 180 * moveOptions.angle.value;
2840
- const radOffset = Math.PI / 180 * moveOptions.angle.offset;
2841
- const range = {
3123
+ const baseVelocity = getParticleBaseVelocity(this.direction), res = baseVelocity.copy(), moveOptions = this.options.move, rad = Math.PI / 180 * getRangeValue(moveOptions.angle.value), radOffset = Math.PI / 180 * getRangeValue(moveOptions.angle.offset), range = {
2842
3124
  left: radOffset - rad / 2,
2843
3125
  right: radOffset + rad / 2
2844
3126
  };
@@ -2988,10 +3270,11 @@
2988
3270
  }
2989
3271
  for (const particle of this.array) {
2990
3272
  const resizeFactor = container.canvas.resizeFactor;
2991
- if (resizeFactor) {
3273
+ if (resizeFactor && !particle.ignoresResizeRatio) {
2992
3274
  particle.position.x *= resizeFactor.width;
2993
3275
  particle.position.y *= resizeFactor.height;
2994
3276
  }
3277
+ particle.ignoresResizeRatio = false;
2995
3278
  particle.bubble.inRange = false;
2996
3279
  for (const [, plugin] of this.container.plugins) {
2997
3280
  if (particle.destroyed) {
@@ -3227,13 +3510,13 @@
3227
3510
  container.canvas.size.height = element.offsetHeight * ratio;
3228
3511
  }
3229
3512
  const particles = options.particles;
3230
- this.attractDistance = particles.move.attract.distance * ratio;
3513
+ this.attractDistance = getRangeValue(particles.move.attract.distance) * ratio;
3231
3514
  this.linksDistance = particles.links.distance * ratio;
3232
3515
  this.linksWidth = particles.links.width * ratio;
3233
- this.sizeAnimationSpeed = particles.size.animation.speed * ratio;
3234
- this.maxSpeed = particles.move.gravity.maxSpeed * ratio;
3516
+ this.sizeAnimationSpeed = getRangeValue(particles.size.animation.speed) * ratio;
3517
+ this.maxSpeed = getRangeValue(particles.move.gravity.maxSpeed) * ratio;
3235
3518
  if (particles.orbit.radius !== undefined) {
3236
- this.orbitRadius = particles.orbit.radius * this.container.retina.pixelRatio;
3519
+ this.orbitRadius = getRangeValue(particles.orbit.radius) * this.container.retina.pixelRatio;
3237
3520
  }
3238
3521
  const modes = options.interactivity.modes;
3239
3522
  this.connectModeDistance = modes.connect.distance * ratio;
@@ -3253,19 +3536,19 @@
3253
3536
  const ratio = this.pixelRatio;
3254
3537
  const moveDistance = options.move.distance;
3255
3538
  const props = particle.retina;
3256
- props.attractDistance = options.move.attract.distance * ratio;
3539
+ props.attractDistance = getRangeValue(options.move.attract.distance) * ratio;
3257
3540
  props.linksDistance = options.links.distance * ratio;
3258
3541
  props.linksWidth = options.links.width * ratio;
3259
3542
  props.moveDrift = getRangeValue(options.move.drift) * ratio;
3260
3543
  props.moveSpeed = getRangeValue(options.move.speed) * ratio;
3261
- props.sizeAnimationSpeed = options.size.animation.speed * ratio;
3544
+ props.sizeAnimationSpeed = getRangeValue(options.size.animation.speed) * ratio;
3262
3545
  if (particle.spin) {
3263
3546
  props.spinAcceleration = getRangeValue(options.move.spin.acceleration) * ratio;
3264
3547
  }
3265
3548
  const maxDistance = props.maxDistance;
3266
3549
  maxDistance.horizontal = moveDistance.horizontal !== undefined ? moveDistance.horizontal * ratio : undefined;
3267
3550
  maxDistance.vertical = moveDistance.vertical !== undefined ? moveDistance.vertical * ratio : undefined;
3268
- props.maxSpeed = options.move.gravity.maxSpeed * ratio;
3551
+ props.maxSpeed = getRangeValue(options.move.gravity.maxSpeed) * ratio;
3269
3552
  }
3270
3553
  handleMotionChange(mediaQuery) {
3271
3554
  const options = this.container.actualOptions;
@@ -4597,7 +4880,7 @@
4597
4880
  function setColorAnimation(colorValue, colorAnimation, reduceFactor) {
4598
4881
  colorValue.enable = colorAnimation.enable;
4599
4882
  if (colorValue.enable) {
4600
- colorValue.velocity = colorAnimation.speed / 100 * reduceFactor;
4883
+ colorValue.velocity = getRangeValue(colorAnimation.speed) / 100 * reduceFactor;
4601
4884
  if (colorAnimation.sync) {
4602
4885
  return;
4603
4886
  }
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.4 by Matteo Bruni */
1
+ /*! tsParticles v1.42.0 by Matteo Bruni */
2
2
  !function(e,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var t=n();for(var o in t)("object"==typeof exports?exports:e)[o]=t[o]}}(window,(function(){return function(){"use strict";var e={d:function(n,t){for(var o in t)e.o(t,o)&&!e.o(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:t[o]})},o:function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},n={};e.r(n),e.d(n,{loadLifeUpdater:function(){return l}});class t{}t.generatedAttribute="generated",t.randomColorValue="random",t.midColorValue="mid",t.touchEndEvent="touchend",t.mouseDownEvent="mousedown",t.mouseUpEvent="mouseup",t.mouseMoveEvent="mousemove",t.touchStartEvent="touchstart",t.touchMoveEvent="touchmove",t.mouseLeaveEvent="mouseleave",t.mouseOutEvent="mouseout",t.touchCancelEvent="touchcancel",t.resizeEvent="resize",t.visibilityChangeEvent="visibilitychange",t.noPolygonDataLoaded="No polygon data loaded.",t.noPolygonFound="No polygon found, you need to specify SVG url in config.";new WeakMap;new WeakMap;new WeakMap,new WeakSet;new WeakMap;new WeakMap;new WeakMap;function o(e){const n=r(e);let t=a(e);return n===t&&(t=0),Math.random()*(n-t)+t}function i(e){return"number"==typeof e?e:o(e)}function a(e){return"number"==typeof e?e:e.min}function r(e){return"number"==typeof e?e:e.max}function u(e,n){if(e===n||void 0===n&&"number"==typeof e)return e;const t=a(e),o=r(e);return void 0!==n?{min:Math.min(t,n),max:Math.max(o,n)}:u(t,o)}new WeakMap;class d{constructor(e){this.container=e}init(){}isEnabled(e){return!e.destroyed}update(e,n){if(!this.isEnabled(e))return;const t=e.life;let a=!1;if(e.spawning){if(t.delayTime+=n.value,!(t.delayTime>=e.life.delay))return;a=!0,e.spawning=!1,t.delayTime=0,t.time=0}if(-1===t.duration)return;if(e.spawning)return;if(a?t.time=0:t.time+=n.value,t.time<t.duration)return;if(t.time=0,e.life.count>0&&e.life.count--,0===e.life.count)return void e.destroy();const r=this.container.canvas.size,d=u(0,r.width),l=u(0,r.width);e.position.x=o(d),e.position.y=o(l),e.spawning=!0,t.delayTime=0,t.time=0,e.reset();const c=e.options.life;t.delay=1e3*i(c.delay.value),t.duration=1e3*i(c.duration.value)}}async function l(e){await e.addParticleUpdater("life",(e=>new d(e)))}return n}()}));