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
package/tsparticles.js CHANGED
@@ -1352,7 +1352,7 @@
1352
1352
  function setColorAnimation(colorValue, colorAnimation, reduceFactor) {
1353
1353
  colorValue.enable = colorAnimation.enable;
1354
1354
  if (colorValue.enable) {
1355
- colorValue.velocity = colorAnimation.speed / 100 * reduceFactor;
1355
+ colorValue.velocity = getRangeValue(colorAnimation.speed) / 100 * reduceFactor;
1356
1356
  if (colorAnimation.sync) {
1357
1357
  return;
1358
1358
  }
@@ -2302,7 +2302,7 @@
2302
2302
  }
2303
2303
  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;
2304
2304
  this.applyPath(particle, delta);
2305
- const gravityOptions = moveOptions.gravity;
2305
+ const gravityOptions = particle.gravity;
2306
2306
  const gravityFactor = gravityOptions.enable && gravityOptions.inverse ? -1 : 1;
2307
2307
  if (gravityOptions.enable && moveSpeed) {
2308
2308
  particle.velocity.y += gravityFactor * (gravityOptions.acceleration * delta.factor) / (60 * moveSpeed);
@@ -2316,7 +2316,7 @@
2316
2316
  }
2317
2317
  const velocity = particle.velocity.mult(moveSpeed);
2318
2318
  const maxSpeed = (_c = particle.retina.maxSpeed) !== null && _c !== void 0 ? _c : container.retina.maxSpeed;
2319
- if (gravityOptions.enable && gravityOptions.maxSpeed > 0 && (!gravityOptions.inverse && velocity.y >= 0 && velocity.y >= maxSpeed || gravityOptions.inverse && velocity.y <= 0 && velocity.y <= -maxSpeed)) {
2319
+ if (gravityOptions.enable && maxSpeed > 0 && (!gravityOptions.inverse && velocity.y >= 0 && velocity.y >= maxSpeed || gravityOptions.inverse && velocity.y <= 0 && velocity.y <= -maxSpeed)) {
2320
2320
  velocity.y = gravityFactor * maxSpeed;
2321
2321
  if (moveSpeed) {
2322
2322
  particle.velocity.y = velocity.y / moveSpeed;
@@ -2825,10 +2825,7 @@
2825
2825
  const container = this.container;
2826
2826
  const pxRatio = container.retina.pixelRatio;
2827
2827
  const size = container.canvas.size;
2828
- const oldSize = {
2829
- width: size.width,
2830
- height: size.height
2831
- };
2828
+ const oldSize = Object.assign({}, size);
2832
2829
  size.width = this.element.offsetWidth * pxRatio;
2833
2830
  size.height = this.element.offsetHeight * pxRatio;
2834
2831
  this.element.width = size.width;
@@ -2887,7 +2884,7 @@
2887
2884
  const zIndexOptions = particle.options.zIndex;
2888
2885
  const zOpacityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.opacityRate;
2889
2886
  const radius = particle.getRadius();
2890
- 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;
2887
+ 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;
2891
2888
  const strokeOpacity = (_f = (_e = particle.stroke) === null || _e === void 0 ? void 0 : _e.opacity) !== null && _f !== void 0 ? _f : opacity;
2892
2889
  const zOpacity = opacity * zOpacityFactor;
2893
2890
  const fillColorValue = fColor ? getStyleFromHsl(fColor, zOpacity) : undefined;
@@ -3905,7 +3902,7 @@
3905
3902
  return;
3906
3903
  }
3907
3904
  if (data.count !== undefined) {
3908
- this.count = data.count;
3905
+ this.count = setRangeValue(data.count);
3909
3906
  }
3910
3907
  if (data.enable !== undefined) {
3911
3908
  this.enable = data.enable;
@@ -3914,7 +3911,7 @@
3914
3911
  this.offset = setRangeValue(data.offset);
3915
3912
  }
3916
3913
  if (data.speed !== undefined) {
3917
- this.speed = data.speed;
3914
+ this.speed = setRangeValue(data.speed);
3918
3915
  }
3919
3916
  if (data.sync !== undefined) {
3920
3917
  this.sync = data.sync;
@@ -4062,13 +4059,13 @@
4062
4059
  return;
4063
4060
  }
4064
4061
  if (data.count !== undefined) {
4065
- this.count = data.count;
4062
+ this.count = setRangeValue(data.count);
4066
4063
  }
4067
4064
  if (data.enable !== undefined) {
4068
4065
  this.enable = data.enable;
4069
4066
  }
4070
4067
  if (data.speed !== undefined) {
4071
- this.speed = data.speed;
4068
+ this.speed = setRangeValue(data.speed);
4072
4069
  }
4073
4070
  if (data.sync !== undefined) {
4074
4071
  this.sync = data.sync;
@@ -4088,13 +4085,13 @@
4088
4085
  return;
4089
4086
  }
4090
4087
  if (data.count !== undefined) {
4091
- this.count = data.count;
4088
+ this.count = setRangeValue(data.count);
4092
4089
  }
4093
4090
  if (data.enable !== undefined) {
4094
4091
  this.enable = data.enable;
4095
4092
  }
4096
4093
  if (data.speed !== undefined) {
4097
- this.speed = data.speed;
4094
+ this.speed = setRangeValue(data.speed);
4098
4095
  }
4099
4096
  if (data.sync !== undefined) {
4100
4097
  this.sync = data.sync;
@@ -4420,7 +4417,7 @@
4420
4417
  return;
4421
4418
  }
4422
4419
  if (data.distance !== undefined) {
4423
- this.distance = data.distance;
4420
+ this.distance = setRangeValue(data.distance);
4424
4421
  }
4425
4422
  if (data.enable !== undefined) {
4426
4423
  this.enable = data.enable;
@@ -4445,10 +4442,10 @@
4445
4442
  return;
4446
4443
  }
4447
4444
  if (data.offset !== undefined) {
4448
- this.offset = data.offset;
4445
+ this.offset = setRangeValue(data.offset);
4449
4446
  }
4450
4447
  if (data.value !== undefined) {
4451
- this.value = data.value;
4448
+ this.value = setRangeValue(data.value);
4452
4449
  }
4453
4450
  }
4454
4451
  }
@@ -4464,7 +4461,7 @@
4464
4461
  return;
4465
4462
  }
4466
4463
  if (data.acceleration !== undefined) {
4467
- this.acceleration = data.acceleration;
4464
+ this.acceleration = setRangeValue(data.acceleration);
4468
4465
  }
4469
4466
  if (data.enable !== undefined) {
4470
4467
  this.enable = data.enable;
@@ -4473,7 +4470,7 @@
4473
4470
  this.inverse = data.inverse;
4474
4471
  }
4475
4472
  if (data.maxSpeed !== undefined) {
4476
- this.maxSpeed = data.maxSpeed;
4473
+ this.maxSpeed = setRangeValue(data.maxSpeed);
4477
4474
  }
4478
4475
  }
4479
4476
  }
@@ -4688,13 +4685,13 @@
4688
4685
  return;
4689
4686
  }
4690
4687
  if (data.count !== undefined) {
4691
- this.count = data.count;
4688
+ this.count = setRangeValue(data.count);
4692
4689
  }
4693
4690
  if (data.enable !== undefined) {
4694
4691
  this.enable = data.enable;
4695
4692
  }
4696
4693
  if (data.speed !== undefined) {
4697
- this.speed = data.speed;
4694
+ this.speed = setRangeValue(data.speed);
4698
4695
  }
4699
4696
  if (data.sync !== undefined) {
4700
4697
  this.sync = data.sync;
@@ -4798,13 +4795,13 @@
4798
4795
  this.enable = data.enable;
4799
4796
  }
4800
4797
  if (data.opacity !== undefined) {
4801
- this.opacity = data.opacity;
4798
+ this.opacity = setRangeValue(data.opacity);
4802
4799
  }
4803
4800
  if (data.width !== undefined) {
4804
- this.width = data.width;
4801
+ this.width = setRangeValue(data.width);
4805
4802
  }
4806
4803
  if (data.radius !== undefined) {
4807
- this.radius = data.radius;
4804
+ this.radius = setRangeValue(data.radius);
4808
4805
  }
4809
4806
  if (data.color !== undefined) {
4810
4807
  this.color = OptionsColor.create(this.color, data.color);
@@ -4885,16 +4882,16 @@
4885
4882
  this.enabled = data.enabled;
4886
4883
  }
4887
4884
  if (data.distance !== undefined) {
4888
- this.distance = data.distance;
4885
+ this.distance = setRangeValue(data.distance);
4889
4886
  }
4890
4887
  if (data.duration !== undefined) {
4891
- this.duration = data.duration;
4888
+ this.duration = setRangeValue(data.duration);
4892
4889
  }
4893
4890
  if (data.factor !== undefined) {
4894
- this.factor = data.factor;
4891
+ this.factor = setRangeValue(data.factor);
4895
4892
  }
4896
4893
  if (data.speed !== undefined) {
4897
- this.speed = data.speed;
4894
+ this.speed = setRangeValue(data.speed);
4898
4895
  }
4899
4896
  }
4900
4897
  }
@@ -4911,7 +4908,7 @@
4911
4908
  this.enable = data.enable;
4912
4909
  }
4913
4910
  if (data.value !== undefined) {
4914
- this.value = data.value;
4911
+ this.value = setRangeValue(data.value);
4915
4912
  }
4916
4913
  }
4917
4914
  }
@@ -4957,7 +4954,7 @@
4957
4954
  this.enable = data.enable;
4958
4955
  }
4959
4956
  if (data.speed !== undefined) {
4960
- this.speed = data.speed;
4957
+ this.speed = setRangeValue(data.speed);
4961
4958
  }
4962
4959
  if (data.sync !== undefined) {
4963
4960
  this.sync = data.sync;
@@ -5213,7 +5210,7 @@
5213
5210
  this.enable = data.enable;
5214
5211
  }
5215
5212
  if (data.speed !== undefined) {
5216
- this.speed = data.speed;
5213
+ this.speed = setRangeValue(data.speed);
5217
5214
  }
5218
5215
  if (data.sync !== undefined) {
5219
5216
  this.sync = data.sync;
@@ -5262,7 +5259,7 @@
5262
5259
  this.frequency = data.frequency;
5263
5260
  }
5264
5261
  if (data.opacity !== undefined) {
5265
- this.opacity = data.opacity;
5262
+ this.opacity = setRangeValue(data.opacity);
5266
5263
  }
5267
5264
  }
5268
5265
  }
@@ -5697,6 +5694,7 @@
5697
5694
  this.retina = {
5698
5695
  maxDistance: {}
5699
5696
  };
5697
+ this.ignoresResizeRatio = true;
5700
5698
  const pxRatio = container.retina.pixelRatio;
5701
5699
  const mainOptions = container.actualOptions;
5702
5700
  const particlesOptions = new ParticlesOptions;
@@ -5736,7 +5734,7 @@
5736
5734
  max: getRangeMax(sizeRange) * pxRatio,
5737
5735
  min: getRangeMin(sizeRange) * pxRatio,
5738
5736
  loops: 0,
5739
- maxLoops: sizeOptions.animation.count
5737
+ maxLoops: getRangeValue(sizeOptions.animation.count)
5740
5738
  };
5741
5739
  const sizeAnimation = sizeOptions.animation;
5742
5740
  if (sizeAnimation.enable) {
@@ -5770,6 +5768,12 @@
5770
5768
  this.initialVelocity = this.calculateVelocity();
5771
5769
  this.velocity = this.initialVelocity.copy();
5772
5770
  this.moveDecay = 1 - getRangeValue(this.options.move.decay);
5771
+ const gravityOptions = this.options.move.gravity;
5772
+ this.gravity = {
5773
+ enable: gravityOptions.enable,
5774
+ acceleration: getRangeValue(gravityOptions.acceleration),
5775
+ inverse: gravityOptions.inverse
5776
+ };
5773
5777
  this.position = this.calcPosition(container, position, clamp(zIndexValue, 0, container.zLayers));
5774
5778
  this.initialPosition = this.position.copy();
5775
5779
  this.offset = Vector.origin;
@@ -5977,12 +5981,7 @@
5977
5981
  return overlaps;
5978
5982
  }
5979
5983
  calculateVelocity() {
5980
- const baseVelocity = getParticleBaseVelocity(this.direction);
5981
- const res = baseVelocity.copy();
5982
- const moveOptions = this.options.move;
5983
- const rad = Math.PI / 180 * moveOptions.angle.value;
5984
- const radOffset = Math.PI / 180 * moveOptions.angle.offset;
5985
- const range = {
5984
+ 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 = {
5986
5985
  left: radOffset - rad / 2,
5987
5986
  right: radOffset + rad / 2
5988
5987
  };
@@ -6132,10 +6131,11 @@
6132
6131
  }
6133
6132
  for (const particle of this.array) {
6134
6133
  const resizeFactor = container.canvas.resizeFactor;
6135
- if (resizeFactor) {
6134
+ if (resizeFactor && !particle.ignoresResizeRatio) {
6136
6135
  particle.position.x *= resizeFactor.width;
6137
6136
  particle.position.y *= resizeFactor.height;
6138
6137
  }
6138
+ particle.ignoresResizeRatio = false;
6139
6139
  particle.bubble.inRange = false;
6140
6140
  for (const [, plugin] of this.container.plugins) {
6141
6141
  if (particle.destroyed) {
@@ -6371,13 +6371,13 @@
6371
6371
  container.canvas.size.height = element.offsetHeight * ratio;
6372
6372
  }
6373
6373
  const particles = options.particles;
6374
- this.attractDistance = particles.move.attract.distance * ratio;
6374
+ this.attractDistance = getRangeValue(particles.move.attract.distance) * ratio;
6375
6375
  this.linksDistance = particles.links.distance * ratio;
6376
6376
  this.linksWidth = particles.links.width * ratio;
6377
- this.sizeAnimationSpeed = particles.size.animation.speed * ratio;
6378
- this.maxSpeed = particles.move.gravity.maxSpeed * ratio;
6377
+ this.sizeAnimationSpeed = getRangeValue(particles.size.animation.speed) * ratio;
6378
+ this.maxSpeed = getRangeValue(particles.move.gravity.maxSpeed) * ratio;
6379
6379
  if (particles.orbit.radius !== undefined) {
6380
- this.orbitRadius = particles.orbit.radius * this.container.retina.pixelRatio;
6380
+ this.orbitRadius = getRangeValue(particles.orbit.radius) * this.container.retina.pixelRatio;
6381
6381
  }
6382
6382
  const modes = options.interactivity.modes;
6383
6383
  this.connectModeDistance = modes.connect.distance * ratio;
@@ -6397,19 +6397,19 @@
6397
6397
  const ratio = this.pixelRatio;
6398
6398
  const moveDistance = options.move.distance;
6399
6399
  const props = particle.retina;
6400
- props.attractDistance = options.move.attract.distance * ratio;
6400
+ props.attractDistance = getRangeValue(options.move.attract.distance) * ratio;
6401
6401
  props.linksDistance = options.links.distance * ratio;
6402
6402
  props.linksWidth = options.links.width * ratio;
6403
6403
  props.moveDrift = getRangeValue(options.move.drift) * ratio;
6404
6404
  props.moveSpeed = getRangeValue(options.move.speed) * ratio;
6405
- props.sizeAnimationSpeed = options.size.animation.speed * ratio;
6405
+ props.sizeAnimationSpeed = getRangeValue(options.size.animation.speed) * ratio;
6406
6406
  if (particle.spin) {
6407
6407
  props.spinAcceleration = getRangeValue(options.move.spin.acceleration) * ratio;
6408
6408
  }
6409
6409
  const maxDistance = props.maxDistance;
6410
6410
  maxDistance.horizontal = moveDistance.horizontal !== undefined ? moveDistance.horizontal * ratio : undefined;
6411
6411
  maxDistance.vertical = moveDistance.vertical !== undefined ? moveDistance.vertical * ratio : undefined;
6412
- props.maxSpeed = options.move.gravity.maxSpeed * ratio;
6412
+ props.maxSpeed = getRangeValue(options.move.gravity.maxSpeed) * ratio;
6413
6413
  }
6414
6414
  handleMotionChange(mediaQuery) {
6415
6415
  const options = this.container.actualOptions;
@@ -7163,10 +7163,13 @@
7163
7163
  this.opacity = data.opacity;
7164
7164
  }
7165
7165
  if (data.position !== undefined) {
7166
- this.position = {
7167
- x: data.position.x,
7168
- y: data.position.y
7169
- };
7166
+ this.position = {};
7167
+ if (data.position.x !== undefined) {
7168
+ this.position.x = setRangeValue(data.position.x);
7169
+ }
7170
+ if (data.position.y !== undefined) {
7171
+ this.position.y = setRangeValue(data.position.y);
7172
+ }
7170
7173
  }
7171
7174
  if (data.size !== undefined) {
7172
7175
  this.size.load(data.size);
@@ -7271,7 +7274,7 @@
7271
7274
  var _a, _b;
7272
7275
  const container = this.container;
7273
7276
  const percentPosition = this.options.position;
7274
- return Vector.create(((_a = percentPosition === null || percentPosition === void 0 ? void 0 : percentPosition.x) !== null && _a !== void 0 ? _a : Math.random() * 100) / 100 * container.canvas.size.width, ((_b = percentPosition === null || percentPosition === void 0 ? void 0 : percentPosition.y) !== null && _b !== void 0 ? _b : Math.random() * 100) / 100 * container.canvas.size.height);
7277
+ return Vector.create(getRangeValue((_a = percentPosition === null || percentPosition === void 0 ? void 0 : percentPosition.x) !== null && _a !== void 0 ? _a : Math.random() * 100) / 100 * container.canvas.size.width, getRangeValue((_b = percentPosition === null || percentPosition === void 0 ? void 0 : percentPosition.y) !== null && _b !== void 0 ? _b : Math.random() * 100) / 100 * container.canvas.size.height);
7275
7278
  }
7276
7279
  updateParticlePosition(particle, v) {
7277
7280
  var _a;
@@ -7618,10 +7621,13 @@
7618
7621
  this.shape = data.shape;
7619
7622
  }
7620
7623
  if (data.position !== undefined) {
7621
- this.position = {
7622
- x: data.position.x,
7623
- y: data.position.y
7624
- };
7624
+ this.position = {};
7625
+ if (data.position.x) {
7626
+ this.position.x = setRangeValue(data.position.x);
7627
+ }
7628
+ if (data.position.y) {
7629
+ this.position.y = setRangeValue(data.position.y);
7630
+ }
7625
7631
  }
7626
7632
  if (data.spawnColor !== undefined) {
7627
7633
  if (this.spawnColor === undefined) {
@@ -7649,8 +7655,8 @@
7649
7655
  var _EmitterInstance_firstSpawn, _EmitterInstance_startParticlesAdded, _EmitterInstance_engine;
7650
7656
  class EmitterInstance {
7651
7657
  constructor(engine, emitters, container, options, position) {
7652
- var _a, _b, _c, _d, _e, _f;
7653
- var _g;
7658
+ var _a, _b, _c, _d, _e, _f, _g;
7659
+ var _h;
7654
7660
  this.emitters = emitters;
7655
7661
  this.container = container;
7656
7662
  _EmitterInstance_firstSpawn.set(this, void 0);
@@ -7668,21 +7674,22 @@
7668
7674
  this.options.load(options);
7669
7675
  }
7670
7676
  this.spawnDelay = ((_a = this.options.life.delay) !== null && _a !== void 0 ? _a : 0) * 1e3 / this.container.retina.reduceFactor;
7677
+ this.position = (_b = this.initialPosition) !== null && _b !== void 0 ? _b : this.calcPosition();
7671
7678
  this.name = this.options.name;
7672
- this.shape = (_b = EmitterInstance_classPrivateFieldGet(this, _EmitterInstance_engine, "f").emitterShapeManager) === null || _b === void 0 ? void 0 : _b.getShape(this.options.shape);
7679
+ this.shape = (_c = EmitterInstance_classPrivateFieldGet(this, _EmitterInstance_engine, "f").emitterShapeManager) === null || _c === void 0 ? void 0 : _c.getShape(this.options.shape);
7673
7680
  this.fill = this.options.fill;
7674
7681
  EmitterInstance_classPrivateFieldSet(this, _EmitterInstance_firstSpawn, !this.options.life.wait, "f");
7675
7682
  EmitterInstance_classPrivateFieldSet(this, _EmitterInstance_startParticlesAdded, false, "f");
7676
7683
  let particlesOptions = deepExtend({}, this.options.particles);
7677
7684
  particlesOptions !== null && particlesOptions !== void 0 ? particlesOptions : particlesOptions = {};
7678
- (_c = particlesOptions.move) !== null && _c !== void 0 ? _c : particlesOptions.move = {};
7679
- (_d = (_g = particlesOptions.move).direction) !== null && _d !== void 0 ? _d : _g.direction = this.options.direction;
7685
+ (_d = particlesOptions.move) !== null && _d !== void 0 ? _d : particlesOptions.move = {};
7686
+ (_e = (_h = particlesOptions.move).direction) !== null && _e !== void 0 ? _e : _h.direction = this.options.direction;
7680
7687
  if (this.options.spawnColor) {
7681
7688
  this.spawnColor = colorToHsl(this.options.spawnColor);
7682
7689
  }
7683
7690
  this.paused = !this.options.autoPlay;
7684
7691
  this.particlesOptions = particlesOptions;
7685
- this.size = (_e = this.options.size) !== null && _e !== void 0 ? _e : (() => {
7692
+ this.size = (_f = this.options.size) !== null && _f !== void 0 ? _f : (() => {
7686
7693
  const size = new EmitterSize;
7687
7694
  size.load({
7688
7695
  height: 0,
@@ -7691,7 +7698,7 @@
7691
7698
  });
7692
7699
  return size;
7693
7700
  })();
7694
- this.lifeCount = (_f = this.options.life.count) !== null && _f !== void 0 ? _f : -1;
7701
+ this.lifeCount = (_g = this.options.life.count) !== null && _g !== void 0 ? _g : -1;
7695
7702
  this.immortal = this.lifeCount <= 0;
7696
7703
  this.play();
7697
7704
  }
@@ -7826,8 +7833,8 @@
7826
7833
  const container = this.container;
7827
7834
  const percentPosition = this.options.position;
7828
7835
  return {
7829
- x: ((_a = percentPosition === null || percentPosition === void 0 ? void 0 : percentPosition.x) !== null && _a !== void 0 ? _a : Math.random() * 100) / 100 * container.canvas.size.width,
7830
- y: ((_b = percentPosition === null || percentPosition === void 0 ? void 0 : percentPosition.y) !== null && _b !== void 0 ? _b : Math.random() * 100) / 100 * container.canvas.size.height
7836
+ x: getRangeValue((_a = percentPosition === null || percentPosition === void 0 ? void 0 : percentPosition.x) !== null && _a !== void 0 ? _a : Math.random() * 100) / 100 * container.canvas.size.width,
7837
+ y: getRangeValue((_b = percentPosition === null || percentPosition === void 0 ? void 0 : percentPosition.y) !== null && _b !== void 0 ? _b : Math.random() * 100) / 100 * container.canvas.size.height
7831
7838
  };
7832
7839
  }
7833
7840
  emit() {
@@ -7875,7 +7882,7 @@
7875
7882
  const colorOffset = randomInRange(animation.offset);
7876
7883
  const delay = getRangeValue(this.options.rate.delay);
7877
7884
  const emitFactor = 1e3 * delay / container.retina.reduceFactor;
7878
- const colorSpeed = (_a = animation.speed) !== null && _a !== void 0 ? _a : 0;
7885
+ const colorSpeed = getRangeValue((_a = animation.speed) !== null && _a !== void 0 ? _a : 0);
7879
7886
  return (initValue + colorSpeed * container.fpsLimit / emitFactor + colorOffset * 3.6) % maxValue;
7880
7887
  }
7881
7888
  }
@@ -8924,17 +8931,17 @@
8924
8931
  const alterType = Math.random() >= .5 ? "darken" : "enlighten";
8925
8932
  particle.roll.alter = {
8926
8933
  type: alterType,
8927
- value: alterType === "darken" ? rollOpt.darken.value : rollOpt.enlighten.value
8934
+ value: getRangeValue(alterType === "darken" ? rollOpt.darken.value : rollOpt.enlighten.value)
8928
8935
  };
8929
8936
  } else if (rollOpt.darken.enable) {
8930
8937
  particle.roll.alter = {
8931
8938
  type: "darken",
8932
- value: rollOpt.darken.value
8939
+ value: getRangeValue(rollOpt.darken.value)
8933
8940
  };
8934
8941
  } else if (rollOpt.enlighten.enable) {
8935
8942
  particle.roll.alter = {
8936
8943
  type: "enlighten",
8937
- value: rollOpt.enlighten.value
8944
+ value: getRangeValue(rollOpt.enlighten.value)
8938
8945
  };
8939
8946
  }
8940
8947
  } else {
@@ -9015,7 +9022,7 @@
9015
9022
  }
9016
9023
  const rotateAnimation = particle.options.rotate.animation;
9017
9024
  if (rotateAnimation.enable) {
9018
- particle.rotate.velocity = rotateAnimation.speed / 360 * this.container.retina.reduceFactor;
9025
+ particle.rotate.velocity = getRangeValue(rotateAnimation.speed) / 360 * this.container.retina.reduceFactor;
9019
9026
  if (!rotateAnimation.sync) {
9020
9027
  particle.rotate.velocity *= Math.random();
9021
9028
  }
@@ -9998,7 +10005,7 @@
9998
10005
  min: getRangeMin(opacityOptions.value),
9999
10006
  value: getRangeValue(opacityOptions.value),
10000
10007
  loops: 0,
10001
- maxLoops: opacityOptions.animation.count
10008
+ maxLoops: getRangeValue(opacityOptions.animation.count)
10002
10009
  };
10003
10010
  const opacityAnimation = opacityOptions.animation;
10004
10011
  if (opacityAnimation.enable) {
@@ -10023,7 +10030,7 @@
10023
10030
  particle.opacity.status = 1;
10024
10031
  break;
10025
10032
  }
10026
- particle.opacity.velocity = opacityAnimation.speed / 100 * this.container.retina.reduceFactor;
10033
+ particle.opacity.velocity = getRangeValue(opacityAnimation.speed) / 100 * this.container.retina.reduceFactor;
10027
10034
  if (!opacityAnimation.sync) {
10028
10035
  particle.opacity.velocity *= Math.random();
10029
10036
  }
@@ -10551,7 +10558,7 @@
10551
10558
  const twinkling = Math.random() < twinkleFreq;
10552
10559
  if (twinkling && twinkleRgb !== undefined) {
10553
10560
  colorLine = twinkleRgb;
10554
- opacity = twinkle.opacity;
10561
+ opacity = getRangeValue(twinkle.opacity);
10555
10562
  }
10556
10563
  }
10557
10564
  if (!colorLine) {
@@ -10989,7 +10996,7 @@
10989
10996
  }
10990
10997
  const tiltAnimation = particle.options.tilt.animation;
10991
10998
  if (tiltAnimation.enable) {
10992
- particle.tilt.velocity = tiltAnimation.speed / 360 * this.container.retina.reduceFactor;
10999
+ particle.tilt.velocity = getRangeValue(tiltAnimation.speed) / 360 * this.container.retina.reduceFactor;
10993
11000
  if (!tiltAnimation.sync) {
10994
11001
  particle.tilt.velocity *= Math.random();
10995
11002
  }