tsparticles 1.41.6 → 1.42.2

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.d.ts +1 -1
  2. package/Core/Canvas.js +8 -4
  3. package/Core/Interfaces/ICoordinates.d.ts +8 -0
  4. package/Core/Interfaces/IParticleGravity.d.ts +5 -0
  5. package/Core/Interfaces/IParticleGravity.js +2 -0
  6. package/Core/Interfaces/index.d.ts +1 -0
  7. package/Core/Interfaces/index.js +1 -0
  8. package/Core/Particle.d.ts +2 -1
  9. package/Core/Particle.js +8 -7
  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 +3 -3
  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.d.ts +1 -1
  61. package/browser/Core/Canvas.js +9 -5
  62. package/browser/Core/Interfaces/ICoordinates.d.ts +8 -0
  63. package/browser/Core/Interfaces/IParticleGravity.d.ts +5 -0
  64. package/browser/Core/Interfaces/IParticleGravity.js +1 -0
  65. package/browser/Core/Interfaces/index.d.ts +1 -0
  66. package/browser/Core/Interfaces/index.js +1 -0
  67. package/browser/Core/Particle.d.ts +2 -1
  68. package/browser/Core/Particle.js +8 -7
  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 +3 -3
  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.d.ts +1 -1
  120. package/esm/Core/Canvas.js +9 -5
  121. package/esm/Core/Interfaces/ICoordinates.d.ts +8 -0
  122. package/esm/Core/Interfaces/IParticleGravity.d.ts +5 -0
  123. package/esm/Core/Interfaces/IParticleGravity.js +1 -0
  124. package/esm/Core/Interfaces/index.d.ts +1 -0
  125. package/esm/Core/Interfaces/index.js +1 -0
  126. package/esm/Core/Particle.d.ts +2 -1
  127. package/esm/Core/Particle.js +8 -7
  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 +3 -3
  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 +15 -3
  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 +48 -45
  183. package/tsparticles.engine.min.js +2 -2
  184. package/tsparticles.interaction.external.attract.js +320 -34
  185. package/tsparticles.interaction.external.attract.min.js +1 -1
  186. package/tsparticles.interaction.external.bounce.js +320 -34
  187. package/tsparticles.interaction.external.bounce.min.js +1 -1
  188. package/tsparticles.interaction.external.bubble.js +320 -34
  189. package/tsparticles.interaction.external.bubble.min.js +1 -1
  190. package/tsparticles.interaction.external.connect.js +320 -34
  191. package/tsparticles.interaction.external.connect.min.js +1 -1
  192. package/tsparticles.interaction.external.grab.js +320 -34
  193. package/tsparticles.interaction.external.grab.min.js +1 -1
  194. package/tsparticles.interaction.external.repulse.js +320 -34
  195. package/tsparticles.interaction.external.repulse.min.js +1 -1
  196. package/tsparticles.interaction.external.trail.js +320 -34
  197. package/tsparticles.interaction.external.trail.min.js +1 -1
  198. package/tsparticles.interaction.particles.attract.js +320 -34
  199. package/tsparticles.interaction.particles.attract.min.js +1 -1
  200. package/tsparticles.interaction.particles.collisions.js +320 -34
  201. package/tsparticles.interaction.particles.collisions.min.js +1 -1
  202. package/tsparticles.interaction.particles.links.js +321 -35
  203. package/tsparticles.interaction.particles.links.min.js +2 -2
  204. package/tsparticles.js +74 -65
  205. package/tsparticles.min.js +2 -2
  206. package/tsparticles.pathseg.min.js +1 -1
  207. package/tsparticles.plugins.absorbers.js +328 -39
  208. package/tsparticles.plugins.absorbers.min.js +2 -2
  209. package/tsparticles.plugins.emitters.js +431 -142
  210. package/tsparticles.plugins.emitters.min.js +2 -2
  211. package/tsparticles.plugins.polygonMask.js +320 -34
  212. package/tsparticles.plugins.polygonMask.min.js +1 -1
  213. package/tsparticles.shape.circle.min.js +1 -1
  214. package/tsparticles.shape.image.js +320 -34
  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 +320 -34
  221. package/tsparticles.shape.text.min.js +1 -1
  222. package/tsparticles.slim.js +52 -49
  223. package/tsparticles.slim.min.js +2 -2
  224. package/tsparticles.updater.angle.js +321 -35
  225. package/tsparticles.updater.angle.min.js +2 -2
  226. package/tsparticles.updater.color.js +320 -34
  227. package/tsparticles.updater.color.min.js +2 -2
  228. package/tsparticles.updater.life.js +320 -34
  229. package/tsparticles.updater.life.min.js +1 -1
  230. package/tsparticles.updater.opacity.js +322 -36
  231. package/tsparticles.updater.opacity.min.js +2 -2
  232. package/tsparticles.updater.outModes.js +320 -34
  233. package/tsparticles.updater.outModes.min.js +1 -1
  234. package/tsparticles.updater.roll.js +323 -37
  235. package/tsparticles.updater.roll.min.js +2 -2
  236. package/tsparticles.updater.size.js +320 -34
  237. package/tsparticles.updater.size.min.js +1 -1
  238. package/tsparticles.updater.strokeColor.js +320 -34
  239. package/tsparticles.updater.strokeColor.min.js +2 -2
  240. package/tsparticles.updater.tilt.js +321 -35
  241. package/tsparticles.updater.tilt.min.js +2 -2
  242. package/tsparticles.updater.wobble.js +320 -34
  243. package/tsparticles.updater.wobble.min.js +1 -1
  244. package/umd/Core/Canvas.d.ts +1 -1
  245. package/umd/Core/Canvas.js +8 -4
  246. package/umd/Core/Interfaces/ICoordinates.d.ts +8 -0
  247. package/umd/Core/Interfaces/IParticleGravity.d.ts +5 -0
  248. package/umd/Core/Interfaces/IParticleGravity.js +12 -0
  249. package/umd/Core/Interfaces/index.d.ts +1 -0
  250. package/umd/Core/Interfaces/index.js +2 -1
  251. package/umd/Core/Particle.d.ts +2 -1
  252. package/umd/Core/Particle.js +8 -7
  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 +3 -3
  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;
@@ -941,9 +941,9 @@
941
941
  paint() {
942
942
  const options = this.container.actualOptions;
943
943
  this.draw((ctx => {
944
- if (options.backgroundMask.enable && options.backgroundMask.cover && this.coverColor) {
944
+ if (options.backgroundMask.enable && options.backgroundMask.cover) {
945
945
  clear(ctx, this.size);
946
- this.paintBase(getStyleFromRgb(this.coverColor, this.coverColor.a));
946
+ this.paintBase(this.coverColorStyle);
947
947
  } else {
948
948
  this.paintBase();
949
949
  }
@@ -1045,7 +1045,7 @@
1045
1045
  const zIndexOptions = particle.options.zIndex;
1046
1046
  const zOpacityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.opacityRate;
1047
1047
  const radius = particle.getRadius();
1048
- 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;
1049
1049
  const strokeOpacity = (_f = (_e = particle.stroke) === null || _e === void 0 ? void 0 : _e.opacity) !== null && _f !== void 0 ? _f : opacity;
1050
1050
  const zOpacity = opacity * zOpacityFactor;
1051
1051
  const fillColorValue = fColor ? getStyleFromHsl(fColor, zOpacity) : undefined;
@@ -1114,12 +1114,14 @@
1114
1114
  const color = cover.color;
1115
1115
  const coverRgb = colorToRgb(color);
1116
1116
  if (coverRgb) {
1117
- this.coverColor = {
1117
+ const coverColor = {
1118
1118
  r: coverRgb.r,
1119
1119
  g: coverRgb.g,
1120
1120
  b: coverRgb.b,
1121
1121
  a: cover.opacity
1122
1122
  };
1123
+ this.coverColorStyle = getStyleFromRgb(coverColor, coverColor.a);
1124
+ console.log(this.coverColorStyle);
1123
1125
  }
1124
1126
  }
1125
1127
  initTrail() {
@@ -1316,7 +1318,7 @@
1316
1318
  return;
1317
1319
  }
1318
1320
  if (data.count !== undefined) {
1319
- this.count = data.count;
1321
+ this.count = setRangeValue(data.count);
1320
1322
  }
1321
1323
  if (data.enable !== undefined) {
1322
1324
  this.enable = data.enable;
@@ -1325,7 +1327,7 @@
1325
1327
  this.offset = setRangeValue(data.offset);
1326
1328
  }
1327
1329
  if (data.speed !== undefined) {
1328
- this.speed = data.speed;
1330
+ this.speed = setRangeValue(data.speed);
1329
1331
  }
1330
1332
  if (data.sync !== undefined) {
1331
1333
  this.sync = data.sync;
@@ -1473,13 +1475,13 @@
1473
1475
  return;
1474
1476
  }
1475
1477
  if (data.count !== undefined) {
1476
- this.count = data.count;
1478
+ this.count = setRangeValue(data.count);
1477
1479
  }
1478
1480
  if (data.enable !== undefined) {
1479
1481
  this.enable = data.enable;
1480
1482
  }
1481
1483
  if (data.speed !== undefined) {
1482
- this.speed = data.speed;
1484
+ this.speed = setRangeValue(data.speed);
1483
1485
  }
1484
1486
  if (data.sync !== undefined) {
1485
1487
  this.sync = data.sync;
@@ -1499,13 +1501,13 @@
1499
1501
  return;
1500
1502
  }
1501
1503
  if (data.count !== undefined) {
1502
- this.count = data.count;
1504
+ this.count = setRangeValue(data.count);
1503
1505
  }
1504
1506
  if (data.enable !== undefined) {
1505
1507
  this.enable = data.enable;
1506
1508
  }
1507
1509
  if (data.speed !== undefined) {
1508
- this.speed = data.speed;
1510
+ this.speed = setRangeValue(data.speed);
1509
1511
  }
1510
1512
  if (data.sync !== undefined) {
1511
1513
  this.sync = data.sync;
@@ -1677,6 +1679,90 @@
1677
1679
  this.duration.load(data.duration);
1678
1680
  }
1679
1681
  }
1682
+ class Attract_Attract {
1683
+ constructor() {
1684
+ this.distance = 200;
1685
+ this.enable = false;
1686
+ this.rotate = {
1687
+ x: 3e3,
1688
+ y: 3e3
1689
+ };
1690
+ }
1691
+ get rotateX() {
1692
+ return this.rotate.x;
1693
+ }
1694
+ set rotateX(value) {
1695
+ this.rotate.x = value;
1696
+ }
1697
+ get rotateY() {
1698
+ return this.rotate.y;
1699
+ }
1700
+ set rotateY(value) {
1701
+ this.rotate.y = value;
1702
+ }
1703
+ load(data) {
1704
+ var _a, _b, _c, _d;
1705
+ if (!data) {
1706
+ return;
1707
+ }
1708
+ if (data.distance !== undefined) {
1709
+ this.distance = setRangeValue(data.distance);
1710
+ }
1711
+ if (data.enable !== undefined) {
1712
+ this.enable = data.enable;
1713
+ }
1714
+ const rotateX = (_b = (_a = data.rotate) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : data.rotateX;
1715
+ if (rotateX !== undefined) {
1716
+ this.rotate.x = rotateX;
1717
+ }
1718
+ const rotateY = (_d = (_c = data.rotate) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : data.rotateY;
1719
+ if (rotateY !== undefined) {
1720
+ this.rotate.y = rotateY;
1721
+ }
1722
+ }
1723
+ }
1724
+ class MoveAngle_MoveAngle {
1725
+ constructor() {
1726
+ this.offset = 0;
1727
+ this.value = 90;
1728
+ }
1729
+ load(data) {
1730
+ if (data === undefined) {
1731
+ return;
1732
+ }
1733
+ if (data.offset !== undefined) {
1734
+ this.offset = setRangeValue(data.offset);
1735
+ }
1736
+ if (data.value !== undefined) {
1737
+ this.value = setRangeValue(data.value);
1738
+ }
1739
+ }
1740
+ }
1741
+ class MoveGravity_MoveGravity {
1742
+ constructor() {
1743
+ this.acceleration = 9.81;
1744
+ this.enable = false;
1745
+ this.inverse = false;
1746
+ this.maxSpeed = 50;
1747
+ }
1748
+ load(data) {
1749
+ if (!data) {
1750
+ return;
1751
+ }
1752
+ if (data.acceleration !== undefined) {
1753
+ this.acceleration = setRangeValue(data.acceleration);
1754
+ }
1755
+ if (data.enable !== undefined) {
1756
+ this.enable = data.enable;
1757
+ }
1758
+ if (data.inverse !== undefined) {
1759
+ this.inverse = data.inverse;
1760
+ }
1761
+ if (data.maxSpeed !== undefined) {
1762
+ this.maxSpeed = setRangeValue(data.maxSpeed);
1763
+ }
1764
+ }
1765
+ }
1680
1766
  class PathDelay_PathDelay extends(null && ValueWithRandom){
1681
1767
  constructor() {
1682
1768
  super();
@@ -1838,6 +1924,70 @@
1838
1924
  }
1839
1925
  }
1840
1926
  }
1927
+ class AnimationOptions_AnimationOptions {
1928
+ constructor() {
1929
+ this.count = 0;
1930
+ this.enable = false;
1931
+ this.speed = 1;
1932
+ this.sync = false;
1933
+ }
1934
+ load(data) {
1935
+ if (!data) {
1936
+ return;
1937
+ }
1938
+ if (data.count !== undefined) {
1939
+ this.count = setRangeValue(data.count);
1940
+ }
1941
+ if (data.enable !== undefined) {
1942
+ this.enable = data.enable;
1943
+ }
1944
+ if (data.speed !== undefined) {
1945
+ this.speed = setRangeValue(data.speed);
1946
+ }
1947
+ if (data.sync !== undefined) {
1948
+ this.sync = data.sync;
1949
+ }
1950
+ }
1951
+ }
1952
+ class OpacityAnimation_OpacityAnimation extends(null && AnimationOptions){
1953
+ constructor() {
1954
+ super();
1955
+ this.destroy = "none";
1956
+ this.enable = false;
1957
+ this.speed = 2;
1958
+ this.startValue = "random";
1959
+ this.sync = false;
1960
+ }
1961
+ get opacity_min() {
1962
+ return this.minimumValue;
1963
+ }
1964
+ set opacity_min(value) {
1965
+ this.minimumValue = value;
1966
+ }
1967
+ load(data) {
1968
+ var _a;
1969
+ if (data === undefined) {
1970
+ return;
1971
+ }
1972
+ super.load(data);
1973
+ if (data.destroy !== undefined) {
1974
+ this.destroy = data.destroy;
1975
+ }
1976
+ if (data.enable !== undefined) {
1977
+ this.enable = data.enable;
1978
+ }
1979
+ this.minimumValue = (_a = data.minimumValue) !== null && _a !== void 0 ? _a : data.opacity_min;
1980
+ if (data.speed !== undefined) {
1981
+ this.speed = data.speed;
1982
+ }
1983
+ if (data.startValue !== undefined) {
1984
+ this.startValue = data.startValue;
1985
+ }
1986
+ if (data.sync !== undefined) {
1987
+ this.sync = data.sync;
1988
+ }
1989
+ }
1990
+ }
1841
1991
  class Opacity_Opacity extends(null && ValueWithRandom){
1842
1992
  constructor() {
1843
1993
  super();
@@ -1896,13 +2046,13 @@
1896
2046
  this.enable = data.enable;
1897
2047
  }
1898
2048
  if (data.opacity !== undefined) {
1899
- this.opacity = data.opacity;
2049
+ this.opacity = setRangeValue(data.opacity);
1900
2050
  }
1901
2051
  if (data.width !== undefined) {
1902
- this.width = data.width;
2052
+ this.width = setRangeValue(data.width);
1903
2053
  }
1904
2054
  if (data.radius !== undefined) {
1905
- this.radius = data.radius;
2055
+ this.radius = setRangeValue(data.radius);
1906
2056
  }
1907
2057
  if (data.color !== undefined) {
1908
2058
  this.color = OptionsColor.create(this.color, data.color);
@@ -1927,16 +2077,33 @@
1927
2077
  this.enabled = data.enabled;
1928
2078
  }
1929
2079
  if (data.distance !== undefined) {
1930
- this.distance = data.distance;
2080
+ this.distance = setRangeValue(data.distance);
1931
2081
  }
1932
2082
  if (data.duration !== undefined) {
1933
- this.duration = data.duration;
2083
+ this.duration = setRangeValue(data.duration);
1934
2084
  }
1935
2085
  if (data.factor !== undefined) {
1936
- this.factor = data.factor;
2086
+ this.factor = setRangeValue(data.factor);
1937
2087
  }
1938
2088
  if (data.speed !== undefined) {
1939
- this.speed = data.speed;
2089
+ this.speed = setRangeValue(data.speed);
2090
+ }
2091
+ }
2092
+ }
2093
+ class RollLight_RollLight {
2094
+ constructor() {
2095
+ this.enable = false;
2096
+ this.value = 0;
2097
+ }
2098
+ load(data) {
2099
+ if (!data) {
2100
+ return;
2101
+ }
2102
+ if (data.enable !== undefined) {
2103
+ this.enable = data.enable;
2104
+ }
2105
+ if (data.value !== undefined) {
2106
+ this.value = setRangeValue(data.value);
1940
2107
  }
1941
2108
  }
1942
2109
  }
@@ -1968,6 +2135,27 @@
1968
2135
  }
1969
2136
  }
1970
2137
  }
2138
+ class RotateAnimation_RotateAnimation {
2139
+ constructor() {
2140
+ this.enable = false;
2141
+ this.speed = 0;
2142
+ this.sync = false;
2143
+ }
2144
+ load(data) {
2145
+ if (data === undefined) {
2146
+ return;
2147
+ }
2148
+ if (data.enable !== undefined) {
2149
+ this.enable = data.enable;
2150
+ }
2151
+ if (data.speed !== undefined) {
2152
+ this.speed = setRangeValue(data.speed);
2153
+ }
2154
+ if (data.sync !== undefined) {
2155
+ this.sync = data.sync;
2156
+ }
2157
+ }
2158
+ }
1971
2159
  class Rotate_Rotate extends(null && ValueWithRandom){
1972
2160
  constructor() {
1973
2161
  super();
@@ -2086,6 +2274,45 @@
2086
2274
  }
2087
2275
  }
2088
2276
  }
2277
+ class SizeAnimation_SizeAnimation extends(null && AnimationOptions){
2278
+ constructor() {
2279
+ super();
2280
+ this.destroy = "none";
2281
+ this.enable = false;
2282
+ this.speed = 5;
2283
+ this.startValue = "random";
2284
+ this.sync = false;
2285
+ }
2286
+ get size_min() {
2287
+ return this.minimumValue;
2288
+ }
2289
+ set size_min(value) {
2290
+ this.minimumValue = value;
2291
+ }
2292
+ load(data) {
2293
+ var _a;
2294
+ if (data === undefined) {
2295
+ return;
2296
+ }
2297
+ super.load(data);
2298
+ if (data.destroy !== undefined) {
2299
+ this.destroy = data.destroy;
2300
+ }
2301
+ if (data.enable !== undefined) {
2302
+ this.enable = data.enable;
2303
+ }
2304
+ this.minimumValue = (_a = data.minimumValue) !== null && _a !== void 0 ? _a : data.size_min;
2305
+ if (data.speed !== undefined) {
2306
+ this.speed = data.speed;
2307
+ }
2308
+ if (data.startValue !== undefined) {
2309
+ this.startValue = data.startValue;
2310
+ }
2311
+ if (data.sync !== undefined) {
2312
+ this.sync = data.sync;
2313
+ }
2314
+ }
2315
+ }
2089
2316
  class Size_Size extends(null && ValueWithRandom){
2090
2317
  constructor() {
2091
2318
  super();
@@ -2131,6 +2358,27 @@
2131
2358
  }
2132
2359
  }
2133
2360
  }
2361
+ class TiltAnimation_TiltAnimation {
2362
+ constructor() {
2363
+ this.enable = false;
2364
+ this.speed = 0;
2365
+ this.sync = false;
2366
+ }
2367
+ load(data) {
2368
+ if (data === undefined) {
2369
+ return;
2370
+ }
2371
+ if (data.enable !== undefined) {
2372
+ this.enable = data.enable;
2373
+ }
2374
+ if (data.speed !== undefined) {
2375
+ this.speed = setRangeValue(data.speed);
2376
+ }
2377
+ if (data.sync !== undefined) {
2378
+ this.sync = data.sync;
2379
+ }
2380
+ }
2381
+ }
2134
2382
  class Tilt_Tilt extends(null && ValueWithRandom){
2135
2383
  constructor() {
2136
2384
  super();
@@ -2153,6 +2401,43 @@
2153
2401
  }
2154
2402
  }
2155
2403
  }
2404
+ class TwinkleValues_TwinkleValues {
2405
+ constructor() {
2406
+ this.enable = false;
2407
+ this.frequency = .05;
2408
+ this.opacity = 1;
2409
+ }
2410
+ load(data) {
2411
+ if (data === undefined) {
2412
+ return;
2413
+ }
2414
+ if (data.color !== undefined) {
2415
+ this.color = OptionsColor.create(this.color, data.color);
2416
+ }
2417
+ if (data.enable !== undefined) {
2418
+ this.enable = data.enable;
2419
+ }
2420
+ if (data.frequency !== undefined) {
2421
+ this.frequency = data.frequency;
2422
+ }
2423
+ if (data.opacity !== undefined) {
2424
+ this.opacity = setRangeValue(data.opacity);
2425
+ }
2426
+ }
2427
+ }
2428
+ class Twinkle_Twinkle {
2429
+ constructor() {
2430
+ this.lines = new TwinkleValues;
2431
+ this.particles = new TwinkleValues;
2432
+ }
2433
+ load(data) {
2434
+ if (data === undefined) {
2435
+ return;
2436
+ }
2437
+ this.lines.load(data.lines);
2438
+ this.particles.load(data.particles);
2439
+ }
2440
+ }
2156
2441
  class Wobble_Wobble {
2157
2442
  constructor() {
2158
2443
  this.distance = 5;
@@ -2590,7 +2875,7 @@
2590
2875
  max: getRangeMax(sizeRange) * pxRatio,
2591
2876
  min: getRangeMin(sizeRange) * pxRatio,
2592
2877
  loops: 0,
2593
- maxLoops: sizeOptions.animation.count
2878
+ maxLoops: getRangeValue(sizeOptions.animation.count)
2594
2879
  };
2595
2880
  const sizeAnimation = sizeOptions.animation;
2596
2881
  if (sizeAnimation.enable) {
@@ -2624,6 +2909,12 @@
2624
2909
  this.initialVelocity = this.calculateVelocity();
2625
2910
  this.velocity = this.initialVelocity.copy();
2626
2911
  this.moveDecay = 1 - getRangeValue(this.options.move.decay);
2912
+ const gravityOptions = this.options.move.gravity;
2913
+ this.gravity = {
2914
+ enable: gravityOptions.enable,
2915
+ acceleration: getRangeValue(gravityOptions.acceleration),
2916
+ inverse: gravityOptions.inverse
2917
+ };
2627
2918
  this.position = this.calcPosition(container, position, clamp(zIndexValue, 0, container.zLayers));
2628
2919
  this.initialPosition = this.position.copy();
2629
2920
  this.offset = Vector.origin;
@@ -2831,12 +3122,7 @@
2831
3122
  return overlaps;
2832
3123
  }
2833
3124
  calculateVelocity() {
2834
- const baseVelocity = getParticleBaseVelocity(this.direction);
2835
- const res = baseVelocity.copy();
2836
- const moveOptions = this.options.move;
2837
- const rad = Math.PI / 180 * moveOptions.angle.value;
2838
- const radOffset = Math.PI / 180 * moveOptions.angle.offset;
2839
- const range = {
3125
+ 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 = {
2840
3126
  left: radOffset - rad / 2,
2841
3127
  right: radOffset + rad / 2
2842
3128
  };
@@ -3226,13 +3512,13 @@
3226
3512
  container.canvas.size.height = element.offsetHeight * ratio;
3227
3513
  }
3228
3514
  const particles = options.particles;
3229
- this.attractDistance = particles.move.attract.distance * ratio;
3515
+ this.attractDistance = getRangeValue(particles.move.attract.distance) * ratio;
3230
3516
  this.linksDistance = particles.links.distance * ratio;
3231
3517
  this.linksWidth = particles.links.width * ratio;
3232
- this.sizeAnimationSpeed = particles.size.animation.speed * ratio;
3233
- this.maxSpeed = particles.move.gravity.maxSpeed * ratio;
3518
+ this.sizeAnimationSpeed = getRangeValue(particles.size.animation.speed) * ratio;
3519
+ this.maxSpeed = getRangeValue(particles.move.gravity.maxSpeed) * ratio;
3234
3520
  if (particles.orbit.radius !== undefined) {
3235
- this.orbitRadius = particles.orbit.radius * this.container.retina.pixelRatio;
3521
+ this.orbitRadius = getRangeValue(particles.orbit.radius) * this.container.retina.pixelRatio;
3236
3522
  }
3237
3523
  const modes = options.interactivity.modes;
3238
3524
  this.connectModeDistance = modes.connect.distance * ratio;
@@ -3252,19 +3538,19 @@
3252
3538
  const ratio = this.pixelRatio;
3253
3539
  const moveDistance = options.move.distance;
3254
3540
  const props = particle.retina;
3255
- props.attractDistance = options.move.attract.distance * ratio;
3541
+ props.attractDistance = getRangeValue(options.move.attract.distance) * ratio;
3256
3542
  props.linksDistance = options.links.distance * ratio;
3257
3543
  props.linksWidth = options.links.width * ratio;
3258
3544
  props.moveDrift = getRangeValue(options.move.drift) * ratio;
3259
3545
  props.moveSpeed = getRangeValue(options.move.speed) * ratio;
3260
- props.sizeAnimationSpeed = options.size.animation.speed * ratio;
3546
+ props.sizeAnimationSpeed = getRangeValue(options.size.animation.speed) * ratio;
3261
3547
  if (particle.spin) {
3262
3548
  props.spinAcceleration = getRangeValue(options.move.spin.acceleration) * ratio;
3263
3549
  }
3264
3550
  const maxDistance = props.maxDistance;
3265
3551
  maxDistance.horizontal = moveDistance.horizontal !== undefined ? moveDistance.horizontal * ratio : undefined;
3266
3552
  maxDistance.vertical = moveDistance.vertical !== undefined ? moveDistance.vertical * ratio : undefined;
3267
- props.maxSpeed = options.move.gravity.maxSpeed * ratio;
3553
+ props.maxSpeed = getRangeValue(options.move.gravity.maxSpeed) * ratio;
3268
3554
  }
3269
3555
  handleMotionChange(mediaQuery) {
3270
3556
  const options = this.container.actualOptions;
@@ -4596,7 +4882,7 @@
4596
4882
  function setColorAnimation(colorValue, colorAnimation, reduceFactor) {
4597
4883
  colorValue.enable = colorAnimation.enable;
4598
4884
  if (colorValue.enable) {
4599
- colorValue.velocity = colorAnimation.speed / 100 * reduceFactor;
4885
+ colorValue.velocity = NumberUtils_getRangeValue(colorAnimation.speed) / 100 * reduceFactor;
4600
4886
  if (colorAnimation.sync) {
4601
4887
  return;
4602
4888
  }
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.6 by Matteo Bruni */
2
- !function(e,o){if("object"==typeof exports&&"object"==typeof module)module.exports=o();else if("function"==typeof define&&define.amd)define([],o);else{var n=o();for(var t in n)("object"==typeof exports?exports:e)[t]=n[t]}}(window,(function(){return function(){"use strict";var e={d:function(o,n){for(var t in n)e.o(n,t)&&!e.o(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:n[t]})},o:function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};e.r(o),e.d(o,{loadColorUpdater:function(){return m}});class n{}n.generatedAttribute="generated",n.randomColorValue="random",n.midColorValue="mid",n.touchEndEvent="touchend",n.mouseDownEvent="mousedown",n.mouseUpEvent="mouseup",n.mouseMoveEvent="mousemove",n.touchStartEvent="touchstart",n.touchMoveEvent="touchmove",n.mouseLeaveEvent="mouseleave",n.mouseOutEvent="mouseout",n.touchCancelEvent="touchcancel",n.resizeEvent="resize",n.visibilityChangeEvent="visibilitychange",n.noPolygonDataLoaded="No polygon data loaded.",n.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 t(e){const o=a(e);let n=r(e);return o===n&&(n=0),Math.random()*(o-n)+n}function r(e){return"number"==typeof e?e:e.min}function a(e){return"number"==typeof e?e:e.max}function l(e,o){if(e===o||void 0===o&&"number"==typeof e)return e;const n=r(e),t=a(e);return void 0!==o?{min:Math.min(n,o),max:Math.max(t,o)}:l(n,t)}function s(e,o,n=!0){return e[void 0!==o&&n?o%e.length:function(e){return Math.floor(Math.random()*e.length)}(e)]}function i(e,o,n){let t=n;return t<0&&(t+=1),t>1&&(t-=1),t<1/6?e+6*(o-e)*t:t<.5?o:t<2/3?e+(o-e)*(2/3-t)*6:e}function u(e){if(e.startsWith("rgb")){const o=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.]+)\s*)?\)/i.exec(e);return o?{a:o.length>4?parseFloat(o[5]):1,b:parseInt(o[3],10),g:parseInt(o[2],10),r:parseInt(o[1],10)}:void 0}if(e.startsWith("hsl")){const o=/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(e);return o?function(e){const o=v(e);return{a:e.a,b:o.b,g:o.g,r:o.r}}({a:o.length>4?parseFloat(o[5]):1,h:parseInt(o[1],10),l:parseInt(o[3],10),s:parseInt(o[2],10)}):void 0}if(e.startsWith("hsv")){const o=/hsva?\(\s*(\d+)°\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(e);return o?function(e){const o=f(e);return{a:e.a,b:o.b,g:o.g,r:o.r}}({a:o.length>4?parseFloat(o[5]):1,h:parseInt(o[1],10),s:parseInt(o[2],10),v:parseInt(o[3],10)}):void 0}{const o=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,n=e.replace(o,((e,o,n,t,r)=>o+o+n+n+t+t+(void 0!==r?r+r:""))),t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(n);return t?{a:void 0!==t[4]?parseInt(t[4],16)/255:1,b:parseInt(t[3],16),g:parseInt(t[2],16),r:parseInt(t[1],16)}:void 0}}function c(e,o,t=!0){var r,a,l;if(void 0===e)return;const i="string"==typeof e?{value:e}:e;let d;if("string"==typeof i.value)d=i.value===n.randomColorValue?h():function(e){return u(e)}(i.value);else if(i.value instanceof Array){d=c({value:s(i.value,o,t)})}else{const e=i.value,o=null!==(r=e.rgb)&&void 0!==r?r:i.value;if(void 0!==o.r)d=o;else{const o=null!==(a=e.hsl)&&void 0!==a?a:i.value;if(void 0!==o.h&&void 0!==o.l)d=v(o);else{const o=null!==(l=e.hsv)&&void 0!==l?l:i.value;void 0!==o.h&&void 0!==o.v&&(d=f(o))}}}return d}function d(e,o,n=!0){const t=c(e,o,n);return void 0!==t?function(e){const o=e.r/255,n=e.g/255,t=e.b/255,r=Math.max(o,n,t),a=Math.min(o,n,t),l={h:0,l:(r+a)/2,s:0};r!=a&&(l.s=l.l<.5?(r-a)/(r+a):(r-a)/(2-r-a),l.h=o===r?(n-t)/(r-a):l.h=n===r?2+(t-o)/(r-a):4+(o-n)/(r-a));l.l*=100,l.s*=100,l.h*=60,l.h<0&&(l.h+=360);return l}(t):void 0}function v(e){const o={b:0,g:0,r:0},n={h:e.h/360,l:e.l/100,s:e.s/100};if(0===n.s)o.b=n.l,o.g=n.l,o.r=n.l;else{const e=n.l<.5?n.l*(1+n.s):n.l+n.s-n.l*n.s,t=2*n.l-e;o.r=i(t,e,n.h+1/3),o.g=i(t,e,n.h),o.b=i(t,e,n.h-1/3)}return o.r=Math.floor(255*o.r),o.g=Math.floor(255*o.g),o.b=Math.floor(255*o.b),o}function f(e){const o={b:0,g:0,r:0},n=e.h/60,t=e.s/100,r=e.v/100,a=r*t,l=a*(1-Math.abs(n%2-1));let s;if(n>=0&&n<=1?s={r:a,g:l,b:0}:n>1&&n<=2?s={r:l,g:a,b:0}:n>2&&n<=3?s={r:0,g:a,b:l}:n>3&&n<=4?s={r:0,g:l,b:a}:n>4&&n<=5?s={r:l,g:0,b:a}:n>5&&n<=6&&(s={r:a,g:0,b:l}),s){const e=r-a;o.r=Math.floor(255*(s.r+e)),o.g=Math.floor(255*(s.g+e)),o.b=Math.floor(255*(s.b+e))}return o}function h(e){const o=null!=e?e:0;return{b:Math.floor(t(l(o,256))),g:Math.floor(t(l(o,256))),r:Math.floor(t(l(o,256)))}}function p(e,o,n){if(e.enable=o.enable,e.enable){if(e.velocity=o.speed/100*n,o.sync)return;e.status=0,e.velocity*=Math.random(),e.value&&(e.value*=Math.random())}else e.velocity=0}function b(e,o,n,r,a){var l;const s=o;if(!s||!n.enable)return;const i=t(n.offset),u=(null!==(l=o.velocity)&&void 0!==l?l:0)*e.factor+3.6*i;a&&0!==s.status?(s.value-=u,s.value<0&&(s.status=0,s.value+=s.value)):(s.value+=u,a&&s.value>r&&(s.status=1,s.value-=s.value%r)),s.value>r&&(s.value%=r)}new WeakMap;class g{constructor(e){this.container=e}init(e){const o=d(e.options.color,e.id,e.options.reduceDuplicates);o&&(e.color=function(e,o,n){const t={h:{enable:!1,value:e.h},s:{enable:!1,value:e.s},l:{enable:!1,value:e.l}};return o&&(p(t.h,o.h,n),p(t.s,o.s,n),p(t.l,o.l,n)),t}(o,e.options.color.animation,this.container.retina.reduceFactor))}isEnabled(e){var o,n,t;const r=e.options.color.animation;return!e.destroyed&&!e.spawning&&(void 0!==(null===(o=e.color)||void 0===o?void 0:o.h.value)&&r.h.enable||void 0!==(null===(n=e.color)||void 0===n?void 0:n.s.value)&&r.s.enable||void 0!==(null===(t=e.color)||void 0===t?void 0:t.l.value)&&r.l.enable)}update(e,o){!function(e,o){var n,t,r;const a=e.options.color.animation;void 0!==(null===(n=e.color)||void 0===n?void 0:n.h)&&b(o,e.color.h,a.h,360,!1),void 0!==(null===(t=e.color)||void 0===t?void 0:t.s)&&b(o,e.color.s,a.s,100,!0),void 0!==(null===(r=e.color)||void 0===r?void 0:r.l)&&b(o,e.color.l,a.l,100,!0)}(e,o)}}async function m(e){await e.addParticleUpdater("color",(e=>new g(e)))}return o}()}));
1
+ /*! tsParticles v1.42.2 by Matteo Bruni */
2
+ !function(e,o){if("object"==typeof exports&&"object"==typeof module)module.exports=o();else if("function"==typeof define&&define.amd)define([],o);else{var n=o();for(var t in n)("object"==typeof exports?exports:e)[t]=n[t]}}(window,(function(){return function(){"use strict";var e={d:function(o,n){for(var t in n)e.o(n,t)&&!e.o(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:n[t]})},o:function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};e.r(o),e.d(o,{loadColorUpdater:function(){return y}});class n{}n.generatedAttribute="generated",n.randomColorValue="random",n.midColorValue="mid",n.touchEndEvent="touchend",n.mouseDownEvent="mousedown",n.mouseUpEvent="mouseup",n.mouseMoveEvent="mousemove",n.touchStartEvent="touchstart",n.touchMoveEvent="touchmove",n.mouseLeaveEvent="mouseleave",n.mouseOutEvent="mouseout",n.touchCancelEvent="touchcancel",n.resizeEvent="resize",n.visibilityChangeEvent="visibilitychange",n.noPolygonDataLoaded="No polygon data loaded.",n.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 t(e){const o=l(e);let n=a(e);return o===n&&(n=0),Math.random()*(o-n)+n}function r(e){return"number"==typeof e?e:t(e)}function a(e){return"number"==typeof e?e:e.min}function l(e){return"number"==typeof e?e:e.max}function s(e,o){if(e===o||void 0===o&&"number"==typeof e)return e;const n=a(e),t=l(e);return void 0!==o?{min:Math.min(n,o),max:Math.max(t,o)}:s(n,t)}function i(e,o,n=!0){return e[void 0!==o&&n?o%e.length:function(e){return Math.floor(Math.random()*e.length)}(e)]}function u(e,o,n){let t=n;return t<0&&(t+=1),t>1&&(t-=1),t<1/6?e+6*(o-e)*t:t<.5?o:t<2/3?e+(o-e)*(2/3-t)*6:e}function c(e){if(e.startsWith("rgb")){const o=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.]+)\s*)?\)/i.exec(e);return o?{a:o.length>4?parseFloat(o[5]):1,b:parseInt(o[3],10),g:parseInt(o[2],10),r:parseInt(o[1],10)}:void 0}if(e.startsWith("hsl")){const o=/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(e);return o?function(e){const o=f(e);return{a:e.a,b:o.b,g:o.g,r:o.r}}({a:o.length>4?parseFloat(o[5]):1,h:parseInt(o[1],10),l:parseInt(o[3],10),s:parseInt(o[2],10)}):void 0}if(e.startsWith("hsv")){const o=/hsva?\(\s*(\d+)°\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(e);return o?function(e){const o=h(e);return{a:e.a,b:o.b,g:o.g,r:o.r}}({a:o.length>4?parseFloat(o[5]):1,h:parseInt(o[1],10),s:parseInt(o[2],10),v:parseInt(o[3],10)}):void 0}{const o=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,n=e.replace(o,((e,o,n,t,r)=>o+o+n+n+t+t+(void 0!==r?r+r:""))),t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(n);return t?{a:void 0!==t[4]?parseInt(t[4],16)/255:1,b:parseInt(t[3],16),g:parseInt(t[2],16),r:parseInt(t[1],16)}:void 0}}function d(e,o,t=!0){var r,a,l;if(void 0===e)return;const s="string"==typeof e?{value:e}:e;let u;if("string"==typeof s.value)u=s.value===n.randomColorValue?p():function(e){return c(e)}(s.value);else if(s.value instanceof Array){u=d({value:i(s.value,o,t)})}else{const e=s.value,o=null!==(r=e.rgb)&&void 0!==r?r:s.value;if(void 0!==o.r)u=o;else{const o=null!==(a=e.hsl)&&void 0!==a?a:s.value;if(void 0!==o.h&&void 0!==o.l)u=f(o);else{const o=null!==(l=e.hsv)&&void 0!==l?l:s.value;void 0!==o.h&&void 0!==o.v&&(u=h(o))}}}return u}function v(e,o,n=!0){const t=d(e,o,n);return void 0!==t?function(e){const o=e.r/255,n=e.g/255,t=e.b/255,r=Math.max(o,n,t),a=Math.min(o,n,t),l={h:0,l:(r+a)/2,s:0};r!=a&&(l.s=l.l<.5?(r-a)/(r+a):(r-a)/(2-r-a),l.h=o===r?(n-t)/(r-a):l.h=n===r?2+(t-o)/(r-a):4+(o-n)/(r-a));l.l*=100,l.s*=100,l.h*=60,l.h<0&&(l.h+=360);return l}(t):void 0}function f(e){const o={b:0,g:0,r:0},n={h:e.h/360,l:e.l/100,s:e.s/100};if(0===n.s)o.b=n.l,o.g=n.l,o.r=n.l;else{const e=n.l<.5?n.l*(1+n.s):n.l+n.s-n.l*n.s,t=2*n.l-e;o.r=u(t,e,n.h+1/3),o.g=u(t,e,n.h),o.b=u(t,e,n.h-1/3)}return o.r=Math.floor(255*o.r),o.g=Math.floor(255*o.g),o.b=Math.floor(255*o.b),o}function h(e){const o={b:0,g:0,r:0},n=e.h/60,t=e.s/100,r=e.v/100,a=r*t,l=a*(1-Math.abs(n%2-1));let s;if(n>=0&&n<=1?s={r:a,g:l,b:0}:n>1&&n<=2?s={r:l,g:a,b:0}:n>2&&n<=3?s={r:0,g:a,b:l}:n>3&&n<=4?s={r:0,g:l,b:a}:n>4&&n<=5?s={r:l,g:0,b:a}:n>5&&n<=6&&(s={r:a,g:0,b:l}),s){const e=r-a;o.r=Math.floor(255*(s.r+e)),o.g=Math.floor(255*(s.g+e)),o.b=Math.floor(255*(s.b+e))}return o}function p(e){const o=null!=e?e:0;return{b:Math.floor(t(s(o,256))),g:Math.floor(t(s(o,256))),r:Math.floor(t(s(o,256)))}}function b(e,o,n){if(e.enable=o.enable,e.enable){if(e.velocity=r(o.speed)/100*n,o.sync)return;e.status=0,e.velocity*=Math.random(),e.value&&(e.value*=Math.random())}else e.velocity=0}function g(e,o,n,r,a){var l;const s=o;if(!s||!n.enable)return;const i=t(n.offset),u=(null!==(l=o.velocity)&&void 0!==l?l:0)*e.factor+3.6*i;a&&0!==s.status?(s.value-=u,s.value<0&&(s.status=0,s.value+=s.value)):(s.value+=u,a&&s.value>r&&(s.status=1,s.value-=s.value%r)),s.value>r&&(s.value%=r)}new WeakMap;class m{constructor(e){this.container=e}init(e){const o=v(e.options.color,e.id,e.options.reduceDuplicates);o&&(e.color=function(e,o,n){const t={h:{enable:!1,value:e.h},s:{enable:!1,value:e.s},l:{enable:!1,value:e.l}};return o&&(b(t.h,o.h,n),b(t.s,o.s,n),b(t.l,o.l,n)),t}(o,e.options.color.animation,this.container.retina.reduceFactor))}isEnabled(e){var o,n,t;const r=e.options.color.animation;return!e.destroyed&&!e.spawning&&(void 0!==(null===(o=e.color)||void 0===o?void 0:o.h.value)&&r.h.enable||void 0!==(null===(n=e.color)||void 0===n?void 0:n.s.value)&&r.s.enable||void 0!==(null===(t=e.color)||void 0===t?void 0:t.l.value)&&r.l.enable)}update(e,o){!function(e,o){var n,t,r;const a=e.options.color.animation;void 0!==(null===(n=e.color)||void 0===n?void 0:n.h)&&g(o,e.color.h,a.h,360,!1),void 0!==(null===(t=e.color)||void 0===t?void 0:t.s)&&g(o,e.color.s,a.s,100,!0),void 0!==(null===(r=e.color)||void 0===r?void 0:r.l)&&g(o,e.color.l,a.l,100,!0)}(e,o)}}async function y(e){await e.addParticleUpdater("color",(e=>new m(e)))}return o}()}));