tsparticles 1.42.3 → 1.43.1

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 (2943) hide show
  1. package/README.md +1 -1
  2. package/browser/Core/Canvas.js +36 -56
  3. package/browser/Core/Container.js +15 -9
  4. package/browser/Core/Interfaces/{IAttract.js → IParticleColorStyle.js} +0 -0
  5. package/browser/Core/Interfaces/{IBubble.js → IParticlesMover.js} +0 -0
  6. package/browser/Core/Interfaces/{IParticleGradientAnimation.js → IPositionFromSizeParams.js} +0 -0
  7. package/browser/Core/Loader.js +26 -10
  8. package/browser/Core/Particle.js +38 -48
  9. package/browser/Core/Particles.js +24 -26
  10. package/browser/Core/Retina.js +4 -13
  11. package/browser/Core/Utils/Circle.js +20 -13
  12. package/browser/Core/Utils/CircleWarp.js +19 -7
  13. package/browser/Core/Utils/EventListeners.js +53 -94
  14. package/browser/Core/Utils/ExternalInteractorBase.js +11 -0
  15. package/browser/Core/Utils/FrameManager.js +2 -3
  16. package/browser/Core/Utils/InteractionManager.js +28 -0
  17. package/browser/Core/Utils/ParticlesInteractorBase.js +11 -0
  18. package/browser/Core/Utils/Plugins.js +100 -3
  19. package/browser/Core/Utils/Point.js +5 -0
  20. package/browser/Core/Utils/QuadTree.js +58 -27
  21. package/browser/Core/Utils/Range.js +6 -0
  22. package/browser/Core/Utils/Rectangle.js +23 -15
  23. package/browser/Core/Utils/Vector.js +123 -16
  24. package/browser/Core/Utils/Vector3d.js +85 -5
  25. package/browser/Interactions/External/Attract/Attractor.js +37 -3
  26. package/browser/Interactions/External/Bounce/Bouncer.js +8 -6
  27. package/browser/Interactions/External/Bubble/Bubbler.js +25 -2
  28. package/browser/Interactions/External/Connect/Connector.js +2 -2
  29. package/browser/Interactions/External/Grab/Grabber.js +34 -29
  30. package/browser/Interactions/External/Pause/Pauser.js +31 -0
  31. package/browser/Interactions/External/Pause/index.js +4 -0
  32. package/browser/Interactions/External/Push/Pusher.js +35 -0
  33. package/browser/Interactions/External/Push/index.js +4 -0
  34. package/browser/Interactions/External/Remove/Remover.js +28 -0
  35. package/browser/Interactions/External/Remove/index.js +4 -0
  36. package/browser/Interactions/External/Repulse/Repulser.js +37 -2
  37. package/browser/Interactions/External/Trail/TrailMaker.js +2 -2
  38. package/browser/Interactions/Particles/Attract/Attractor.js +2 -2
  39. package/browser/Interactions/Particles/Collisions/Collider.js +9 -17
  40. package/browser/Interactions/Particles/Links/LinkInstance.js +37 -55
  41. package/browser/Interactions/Particles/Links/Linker.js +9 -14
  42. package/browser/Movers/Base/BaseMover.js +76 -0
  43. package/browser/{Core/Interfaces/IParticleGradientColorAnimation.js → Movers/Base/IParticleSpin.js} +0 -0
  44. package/browser/{Core/Interfaces/IRepulse.js → Movers/Base/Types.js} +0 -0
  45. package/browser/Movers/Base/Utils.js +97 -0
  46. package/browser/Movers/Base/index.js +4 -0
  47. package/browser/Movers/Parallax/ParallaxMover.js +31 -0
  48. package/browser/Movers/Parallax/index.js +4 -0
  49. package/browser/Options/Classes/AnimatableGradient.js +1 -1
  50. package/browser/Options/Classes/AnimationOptions.js +1 -1
  51. package/browser/Options/Classes/ColorAnimation.js +1 -1
  52. package/browser/Options/Classes/Interactivity/Modes/Trail.js +1 -1
  53. package/browser/Options/Classes/ManualParticle.js +1 -1
  54. package/browser/Options/Classes/Options.js +1 -1
  55. package/browser/Options/Classes/Particles/Destroy/Split.js +1 -1
  56. package/browser/Options/Classes/Particles/Move/Attract.js +1 -1
  57. package/browser/Options/Classes/Particles/Move/Move.js +2 -1
  58. package/browser/Options/Classes/Particles/Move/MoveAngle.js +1 -1
  59. package/browser/Options/Classes/Particles/Move/MoveGravity.js +1 -1
  60. package/browser/Options/Classes/Particles/Move/Path/Path.js +1 -1
  61. package/browser/Options/Classes/Particles/Move/Spin.js +2 -1
  62. package/browser/Options/Classes/Particles/Opacity/Opacity.js +1 -1
  63. package/browser/Options/Classes/Particles/Orbit/Orbit.js +1 -1
  64. package/browser/Options/Classes/Particles/ParticlesOptions.js +1 -1
  65. package/browser/Options/Classes/Particles/Repulse/Repulse.js +1 -1
  66. package/browser/Options/Classes/Particles/Roll/Roll.js +1 -1
  67. package/browser/Options/Classes/Particles/Roll/RollLight.js +1 -1
  68. package/browser/Options/Classes/Particles/Rotate/RotateAnimation.js +1 -1
  69. package/browser/Options/Classes/Particles/Shape/Shape.js +1 -1
  70. package/browser/Options/Classes/Particles/Size/Size.js +1 -1
  71. package/browser/Options/Classes/Particles/Tilt/TiltAnimation.js +1 -1
  72. package/browser/Options/Classes/Particles/Twinkle/TwinkleValues.js +1 -1
  73. package/browser/Options/Classes/Particles/Wobble/Wobble.js +1 -1
  74. package/browser/Options/Classes/Responsive.js +1 -1
  75. package/browser/Options/Classes/Theme/Theme.js +1 -1
  76. package/browser/Options/Classes/ValueWithRandom.js +1 -1
  77. package/browser/Plugins/Absorbers/AbsorberInstance.js +44 -20
  78. package/browser/Plugins/Absorbers/Absorbers.js +3 -6
  79. package/browser/Plugins/Absorbers/Options/Classes/Absorber.js +1 -1
  80. package/browser/Plugins/Absorbers/index.js +8 -9
  81. package/browser/Plugins/Emitters/EmitterInstance.js +20 -25
  82. package/browser/Plugins/Emitters/Emitters.js +3 -6
  83. package/browser/Plugins/Emitters/Options/Classes/Emitter.js +2 -1
  84. package/browser/Plugins/Emitters/Options/Classes/EmitterRate.js +1 -1
  85. package/browser/Plugins/Emitters/Shapes/Circle/CircleShape.js +2 -7
  86. package/browser/Plugins/Emitters/index.js +4 -1
  87. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMask.js +1 -1
  88. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMaskDrawStroke.js +1 -1
  89. package/browser/Plugins/PolygonMask/PolygonMaskInstance.js +19 -42
  90. package/browser/Plugins/PolygonMask/Utils.js +12 -15
  91. package/browser/Plugins/PolygonMask/index.js +6 -2
  92. package/browser/Shapes/Image/ImageDrawer.js +61 -20
  93. package/browser/Shapes/Image/Utils.js +26 -1
  94. package/browser/Shapes/Image/index.js +4 -0
  95. package/browser/Shapes/Text/TextDrawer.js +1 -1
  96. package/browser/Updaters/Angle/AngleUpdater.js +1 -1
  97. package/browser/Updaters/Color/ColorUpdater.js +2 -1
  98. package/browser/Updaters/Life/LifeUpdater.js +1 -1
  99. package/browser/Updaters/Opacity/OpacityUpdater.js +1 -1
  100. package/browser/Updaters/OutModes/OutOfCanvasUpdater.js +1 -1
  101. package/browser/Updaters/OutModes/Utils.js +1 -1
  102. package/browser/Updaters/Roll/RollUpdater.js +2 -1
  103. package/browser/Updaters/Size/SizeUpdater.js +1 -1
  104. package/browser/Updaters/StrokeColor/StrokeColorUpdater.js +3 -1
  105. package/browser/Updaters/Tilt/TiltUpdater.js +1 -1
  106. package/browser/Updaters/Twinkle/TwinkleUpdater.js +19 -0
  107. package/browser/Updaters/Twinkle/index.js +4 -0
  108. package/browser/Updaters/Wobble/WobbleUpdater.js +26 -1
  109. package/browser/Utils/CanvasUtils.js +163 -57
  110. package/browser/Utils/ColorUtils.js +100 -31
  111. package/browser/Utils/NumberUtils.js +73 -7
  112. package/browser/Utils/Utils.js +136 -55
  113. package/browser/engine.js +16 -1
  114. package/browser/full.js +7 -1
  115. package/browser/index.engine.js +104 -6
  116. package/browser/index.js +112 -8
  117. package/browser/index.slim.js +103 -6
  118. package/browser/pjs.js +6 -2
  119. package/browser/slim.js +14 -0
  120. package/cjs/Core/Canvas.js +306 -0
  121. package/cjs/Core/Container.js +401 -0
  122. package/{Core → cjs/Core}/Interfaces/Colors.js +0 -0
  123. package/{Core → cjs/Core}/Interfaces/Gradients.js +0 -0
  124. package/{Core → cjs/Core}/Interfaces/IBounds.js +0 -0
  125. package/{Core → cjs/Core}/Interfaces/IBubbleParticleData.js +0 -0
  126. package/{Core → cjs/Core}/Interfaces/ICircleBouncer.js +0 -0
  127. package/{Core → cjs/Core}/Interfaces/IContainerInteractivity.js +0 -0
  128. package/{Core → cjs/Core}/Interfaces/IContainerPlugin.js +0 -0
  129. package/{Core → cjs/Core}/Interfaces/ICoordinates.js +0 -0
  130. package/{Core → cjs/Core}/Interfaces/IDelta.js +0 -0
  131. package/{Core → cjs/Core}/Interfaces/IDimension.js +0 -0
  132. package/{Core → cjs/Core}/Interfaces/IDistance.js +0 -0
  133. package/{Core → cjs/Core}/Interfaces/IExternalInteractor.js +0 -0
  134. package/{Core → cjs/Core}/Interfaces/IInteractor.js +0 -0
  135. package/{Core → cjs/Core}/Interfaces/IMouseData.js +0 -0
  136. package/{Core → cjs/Core}/Interfaces/IMovePathGenerator.js +0 -0
  137. package/{Core → cjs/Core}/Interfaces/IParticle.js +0 -0
  138. package/{Core/Interfaces/IAttract.js → cjs/Core/Interfaces/IParticleColorStyle.js} +0 -0
  139. package/{Core → cjs/Core}/Interfaces/IParticleGravity.js +0 -0
  140. package/{Core → cjs/Core}/Interfaces/IParticleHslAnimation.js +0 -0
  141. package/{Core → cjs/Core}/Interfaces/IParticleLife.js +0 -0
  142. package/{Core → cjs/Core}/Interfaces/IParticleLoops.js +0 -0
  143. package/{Core → cjs/Core}/Interfaces/IParticleRetinaProps.js +0 -0
  144. package/{Core → cjs/Core}/Interfaces/IParticleRoll.js +0 -0
  145. package/{Core → cjs/Core}/Interfaces/IParticleSpin.js +0 -0
  146. package/{Core → cjs/Core}/Interfaces/IParticleUpdater.js +0 -0
  147. package/{Core → cjs/Core}/Interfaces/IParticleValueAnimation.js +0 -0
  148. package/{Core → cjs/Core}/Interfaces/IParticleWobble.js +0 -0
  149. package/{Core → cjs/Core}/Interfaces/IParticlesFrequencies.js +0 -0
  150. package/{Core → cjs/Core}/Interfaces/IParticlesInteractor.js +0 -0
  151. package/{Core/Interfaces/IBubble.js → cjs/Core/Interfaces/IParticlesMover.js} +0 -0
  152. package/{Core → cjs/Core}/Interfaces/IPlugin.js +0 -0
  153. package/{Core/Interfaces/IParticleGradientAnimation.js → cjs/Core/Interfaces/IPositionFromSizeParams.js} +0 -0
  154. package/{Core → cjs/Core}/Interfaces/IRangeValue.js +0 -0
  155. package/{Core → cjs/Core}/Interfaces/IRectSideResult.js +0 -0
  156. package/{Core → cjs/Core}/Interfaces/IShapeDrawer.js +0 -0
  157. package/{Core → cjs/Core}/Interfaces/IShapeValues.js +0 -0
  158. package/cjs/Core/Loader.js +179 -0
  159. package/cjs/Core/Particle.js +367 -0
  160. package/cjs/Core/Particles.js +320 -0
  161. package/cjs/Core/Retina.js +88 -0
  162. package/cjs/Core/Utils/Circle.js +33 -0
  163. package/cjs/Core/Utils/CircleWarp.js +55 -0
  164. package/{Core → cjs/Core}/Utils/Constants.js +0 -0
  165. package/cjs/Core/Utils/EventListeners.js +302 -0
  166. package/{Core → cjs/Core}/Utils/ExternalInteractorBase.js +0 -0
  167. package/cjs/Core/Utils/FrameManager.js +42 -0
  168. package/cjs/Core/Utils/InteractionManager.js +66 -0
  169. package/{Core → cjs/Core}/Utils/ParticlesInteractorBase.js +0 -0
  170. package/cjs/Core/Utils/Plugins.js +111 -0
  171. package/{Core → cjs/Core}/Utils/Point.js +0 -0
  172. package/cjs/Core/Utils/QuadTree.js +71 -0
  173. package/{Core → cjs/Core}/Utils/Range.js +0 -0
  174. package/cjs/Core/Utils/Rectangle.js +29 -0
  175. package/cjs/Core/Utils/Vector.js +94 -0
  176. package/cjs/Core/Utils/Vector3d.js +70 -0
  177. package/{Enums → cjs/Enums}/AnimationStatus.js +0 -0
  178. package/{Enums → cjs/Enums}/Directions/MoveDirection.js +0 -0
  179. package/{Enums → cjs/Enums}/Directions/OutModeDirection.js +0 -0
  180. package/{Enums → cjs/Enums}/Directions/RotateDirection.js +0 -0
  181. package/{Enums → cjs/Enums}/Directions/TiltDirection.js +0 -0
  182. package/{Enums → cjs/Enums}/InteractivityDetect.js +0 -0
  183. package/{Enums → cjs/Enums}/Modes/ClickMode.js +0 -0
  184. package/{Enums → cjs/Enums}/Modes/CollisionMode.js +0 -0
  185. package/{Enums → cjs/Enums}/Modes/DestroyMode.js +0 -0
  186. package/{Enums → cjs/Enums}/Modes/DivMode.js +0 -0
  187. package/{Enums → cjs/Enums}/Modes/HoverMode.js +0 -0
  188. package/{Enums → cjs/Enums}/Modes/OutMode.js +0 -0
  189. package/{Enums → cjs/Enums}/Modes/ResponsiveMode.js +0 -0
  190. package/{Enums → cjs/Enums}/Modes/RollMode.js +0 -0
  191. package/{Enums → cjs/Enums}/Modes/SizeMode.js +0 -0
  192. package/{Enums → cjs/Enums}/Modes/ThemeMode.js +0 -0
  193. package/{Enums → cjs/Enums}/Types/AlterType.js +0 -0
  194. package/{Enums → cjs/Enums}/Types/DestroyType.js +0 -0
  195. package/{Enums → cjs/Enums}/Types/DivType.js +0 -0
  196. package/{Enums → cjs/Enums}/Types/EasingType.js +0 -0
  197. package/{Enums → cjs/Enums}/Types/GradientType.js +0 -0
  198. package/{Enums → cjs/Enums}/Types/InteractorType.js +0 -0
  199. package/{Enums → cjs/Enums}/Types/ShapeType.js +0 -0
  200. package/{Enums → cjs/Enums}/Types/StartValueType.js +0 -0
  201. package/cjs/Interactions/External/Attract/Attractor.js +109 -0
  202. package/{Interactions → cjs/Interactions}/External/Attract/index.js +0 -0
  203. package/cjs/Interactions/External/Bounce/Bouncer.js +69 -0
  204. package/{Interactions → cjs/Interactions}/External/Bounce/index.js +0 -0
  205. package/cjs/Interactions/External/Bubble/Bubbler.js +274 -0
  206. package/{Interactions → cjs/Interactions}/External/Bubble/IBubblerProcessParam.js +0 -0
  207. package/{Interactions → cjs/Interactions}/External/Bubble/ProcessBubbleType.js +0 -0
  208. package/{Interactions → cjs/Interactions}/External/Bubble/index.js +0 -0
  209. package/cjs/Interactions/External/Connect/Connector.js +41 -0
  210. package/{Interactions → cjs/Interactions}/External/Connect/index.js +0 -0
  211. package/cjs/Interactions/External/Grab/Grabber.js +52 -0
  212. package/{Interactions → cjs/Interactions}/External/Grab/index.js +0 -0
  213. package/cjs/Interactions/External/Pause/Pauser.js +29 -0
  214. package/cjs/Interactions/External/Pause/index.js +8 -0
  215. package/cjs/Interactions/External/Push/Pusher.js +33 -0
  216. package/cjs/Interactions/External/Push/index.js +8 -0
  217. package/cjs/Interactions/External/Remove/Remover.js +26 -0
  218. package/cjs/Interactions/External/Remove/index.js +8 -0
  219. package/cjs/Interactions/External/Repulse/Repulser.js +133 -0
  220. package/{Interactions → cjs/Interactions}/External/Repulse/index.js +0 -0
  221. package/cjs/Interactions/External/Trail/TrailMaker.js +53 -0
  222. package/{Interactions → cjs/Interactions}/External/Trail/index.js +0 -0
  223. package/cjs/Interactions/Particles/Attract/Attractor.js +30 -0
  224. package/{Interactions → cjs/Interactions}/Particles/Attract/index.js +0 -0
  225. package/cjs/Interactions/Particles/Collisions/Collider.js +101 -0
  226. package/{Interactions → cjs/Interactions}/Particles/Collisions/index.js +0 -0
  227. package/{Interactions → cjs/Interactions}/Particles/Links/ILink.js +0 -0
  228. package/cjs/Interactions/Particles/Links/LinkInstance.js +106 -0
  229. package/{Interactions → cjs/Interactions}/Particles/Links/LinkParticle.js +0 -0
  230. package/cjs/Interactions/Particles/Links/Linker.js +100 -0
  231. package/{Interactions → cjs/Interactions}/Particles/Links/index.js +0 -0
  232. package/{Interactions → cjs/Interactions}/Particles/Links/interaction.js +0 -0
  233. package/{Interactions → cjs/Interactions}/Particles/Links/plugin.js +0 -0
  234. package/cjs/Movers/Base/BaseMover.js +80 -0
  235. package/{Core/Interfaces/IParticleGradientColorAnimation.js → cjs/Movers/Base/IParticleSpin.js} +0 -0
  236. package/{Core/Interfaces/IRepulse.js → cjs/Movers/Base/Types.js} +0 -0
  237. package/cjs/Movers/Base/Utils.js +104 -0
  238. package/cjs/Movers/Base/index.js +8 -0
  239. package/cjs/Movers/Parallax/ParallaxMover.js +33 -0
  240. package/cjs/Movers/Parallax/index.js +8 -0
  241. package/{Options → cjs/Options}/Classes/AnimatableColor.js +0 -0
  242. package/cjs/Options/Classes/AnimatableGradient.js +146 -0
  243. package/cjs/Options/Classes/AnimationOptions.js +30 -0
  244. package/{Options → cjs/Options}/Classes/Background/Background.js +0 -0
  245. package/{Options → cjs/Options}/Classes/BackgroundMask/BackgroundMask.js +0 -0
  246. package/{Options → cjs/Options}/Classes/BackgroundMask/BackgroundMaskCover.js +0 -0
  247. package/cjs/Options/Classes/ColorAnimation.js +34 -0
  248. package/{Options → cjs/Options}/Classes/FullScreen/FullScreen.js +0 -0
  249. package/{Options → cjs/Options}/Classes/HslAnimation.js +0 -0
  250. package/{Options → cjs/Options}/Classes/Interactivity/Events/ClickEvent.js +0 -0
  251. package/{Options → cjs/Options}/Classes/Interactivity/Events/DivEvent.js +0 -0
  252. package/{Options → cjs/Options}/Classes/Interactivity/Events/Events.js +0 -0
  253. package/{Options → cjs/Options}/Classes/Interactivity/Events/HoverEvent.js +0 -0
  254. package/{Options → cjs/Options}/Classes/Interactivity/Events/Parallax.js +0 -0
  255. package/{Options → cjs/Options}/Classes/Interactivity/Interactivity.js +0 -0
  256. package/{Options → cjs/Options}/Classes/Interactivity/Modes/Attract.js +0 -0
  257. package/{Options → cjs/Options}/Classes/Interactivity/Modes/Bounce.js +0 -0
  258. package/{Options → cjs/Options}/Classes/Interactivity/Modes/Bubble.js +0 -0
  259. package/{Options → cjs/Options}/Classes/Interactivity/Modes/BubbleBase.js +0 -0
  260. package/{Options → cjs/Options}/Classes/Interactivity/Modes/BubbleDiv.js +0 -0
  261. package/{Options → cjs/Options}/Classes/Interactivity/Modes/Connect.js +0 -0
  262. package/{Options → cjs/Options}/Classes/Interactivity/Modes/ConnectLinks.js +0 -0
  263. package/{Options → cjs/Options}/Classes/Interactivity/Modes/Grab.js +0 -0
  264. package/{Options → cjs/Options}/Classes/Interactivity/Modes/GrabLinks.js +0 -0
  265. package/{Options → cjs/Options}/Classes/Interactivity/Modes/Light.js +0 -0
  266. package/{Options → cjs/Options}/Classes/Interactivity/Modes/LightArea.js +0 -0
  267. package/{Options → cjs/Options}/Classes/Interactivity/Modes/LightGradient.js +0 -0
  268. package/{Options → cjs/Options}/Classes/Interactivity/Modes/LightShadow.js +0 -0
  269. package/{Options → cjs/Options}/Classes/Interactivity/Modes/Modes.js +0 -0
  270. package/{Options → cjs/Options}/Classes/Interactivity/Modes/Push.js +0 -0
  271. package/{Options → cjs/Options}/Classes/Interactivity/Modes/Remove.js +0 -0
  272. package/{Options → cjs/Options}/Classes/Interactivity/Modes/Repulse.js +0 -0
  273. package/{Options → cjs/Options}/Classes/Interactivity/Modes/RepulseBase.js +0 -0
  274. package/{Options → cjs/Options}/Classes/Interactivity/Modes/RepulseDiv.js +0 -0
  275. package/{Options → cjs/Options}/Classes/Interactivity/Modes/Slow.js +0 -0
  276. package/cjs/Options/Classes/Interactivity/Modes/Trail.js +29 -0
  277. package/cjs/Options/Classes/ManualParticle.js +22 -0
  278. package/{Options → cjs/Options}/Classes/Motion/Motion.js +0 -0
  279. package/{Options → cjs/Options}/Classes/Motion/MotionReduce.js +0 -0
  280. package/cjs/Options/Classes/Options.js +174 -0
  281. package/{Options → cjs/Options}/Classes/OptionsColor.js +0 -0
  282. package/{Options → cjs/Options}/Classes/Particles/Bounce/Bounce.js +0 -0
  283. package/{Options → cjs/Options}/Classes/Particles/Bounce/BounceFactor.js +0 -0
  284. package/{Options → cjs/Options}/Classes/Particles/Collisions/Collisions.js +0 -0
  285. package/{Options → cjs/Options}/Classes/Particles/Collisions/CollisionsOverlap.js +0 -0
  286. package/{Options → cjs/Options}/Classes/Particles/Destroy/Destroy.js +0 -0
  287. package/cjs/Options/Classes/Particles/Destroy/Split.js +31 -0
  288. package/{Options → cjs/Options}/Classes/Particles/Destroy/SplitFactor.js +0 -0
  289. package/{Options → cjs/Options}/Classes/Particles/Destroy/SplitRate.js +0 -0
  290. package/{Options → cjs/Options}/Classes/Particles/Life/Life.js +0 -0
  291. package/{Options → cjs/Options}/Classes/Particles/Life/LifeDelay.js +0 -0
  292. package/{Options → cjs/Options}/Classes/Particles/Life/LifeDuration.js +0 -0
  293. package/{Options → cjs/Options}/Classes/Particles/Links/Links.js +0 -0
  294. package/{Options → cjs/Options}/Classes/Particles/Links/LinksShadow.js +0 -0
  295. package/{Options → cjs/Options}/Classes/Particles/Links/LinksTriangle.js +0 -0
  296. package/cjs/Options/Classes/Particles/Move/Attract.js +47 -0
  297. package/cjs/Options/Classes/Particles/Move/Move.js +133 -0
  298. package/cjs/Options/Classes/Particles/Move/MoveAngle.js +22 -0
  299. package/cjs/Options/Classes/Particles/Move/MoveGravity.js +30 -0
  300. package/{Options → cjs/Options}/Classes/Particles/Move/OutModes.js +0 -0
  301. package/cjs/Options/Classes/Particles/Move/Path/Path.js +30 -0
  302. package/{Options → cjs/Options}/Classes/Particles/Move/Path/PathDelay.js +0 -0
  303. package/cjs/Options/Classes/Particles/Move/Spin.js +24 -0
  304. package/{Options → cjs/Options}/Classes/Particles/Move/Trail.js +0 -0
  305. package/{Options → cjs/Options}/Classes/Particles/Number/Density.js +0 -0
  306. package/{Options → cjs/Options}/Classes/Particles/Number/ParticlesNumber.js +0 -0
  307. package/cjs/Options/Classes/Particles/Opacity/Opacity.js +33 -0
  308. package/{Options → cjs/Options}/Classes/Particles/Opacity/OpacityAnimation.js +0 -0
  309. package/cjs/Options/Classes/Particles/Orbit/Orbit.js +39 -0
  310. package/{Options → cjs/Options}/Classes/Particles/Orbit/OrbitRotation.js +0 -0
  311. package/cjs/Options/Classes/Particles/ParticlesOptions.js +143 -0
  312. package/cjs/Options/Classes/Particles/Repulse/Repulse.js +37 -0
  313. package/cjs/Options/Classes/Particles/Roll/Roll.js +35 -0
  314. package/cjs/Options/Classes/Particles/Roll/RollLight.js +22 -0
  315. package/{Options → cjs/Options}/Classes/Particles/Rotate/Rotate.js +0 -0
  316. package/cjs/Options/Classes/Particles/Rotate/RotateAnimation.js +26 -0
  317. package/{Options → cjs/Options}/Classes/Particles/Shadow.js +0 -0
  318. package/cjs/Options/Classes/Particles/Shape/Shape.js +103 -0
  319. package/cjs/Options/Classes/Particles/Size/Size.js +33 -0
  320. package/{Options → cjs/Options}/Classes/Particles/Size/SizeAnimation.js +0 -0
  321. package/{Options → cjs/Options}/Classes/Particles/Stroke.js +0 -0
  322. package/{Options → cjs/Options}/Classes/Particles/Tilt/Tilt.js +0 -0
  323. package/cjs/Options/Classes/Particles/Tilt/TiltAnimation.js +26 -0
  324. package/{Options → cjs/Options}/Classes/Particles/Twinkle/Twinkle.js +0 -0
  325. package/cjs/Options/Classes/Particles/Twinkle/TwinkleValues.js +30 -0
  326. package/cjs/Options/Classes/Particles/Wobble/Wobble.js +26 -0
  327. package/{Options → cjs/Options}/Classes/Particles/ZIndex/ZIndex.js +0 -0
  328. package/{Options → cjs/Options}/Classes/Random.js +0 -0
  329. package/cjs/Options/Classes/Responsive.js +31 -0
  330. package/cjs/Options/Classes/Theme/Theme.js +24 -0
  331. package/{Options → cjs/Options}/Classes/Theme/ThemeDefault.js +0 -0
  332. package/cjs/Options/Classes/ValueWithRandom.js +26 -0
  333. package/{Options → cjs/Options}/Interfaces/Background/IBackground.js +0 -0
  334. package/{Options → cjs/Options}/Interfaces/BackgroundMask/IBackgroundMask.js +0 -0
  335. package/{Options → cjs/Options}/Interfaces/BackgroundMask/IBackgroundMaskCover.js +0 -0
  336. package/{Options → cjs/Options}/Interfaces/FullScreen/IFullScreen.js +0 -0
  337. package/{Options → cjs/Options}/Interfaces/IAnimatable.js +0 -0
  338. package/{Options → cjs/Options}/Interfaces/IAnimatableColor.js +0 -0
  339. package/{Options → cjs/Options}/Interfaces/IAnimatableGradient.js +0 -0
  340. package/{Options → cjs/Options}/Interfaces/IAnimation.js +0 -0
  341. package/{Options → cjs/Options}/Interfaces/IColorAnimation.js +0 -0
  342. package/{Options → cjs/Options}/Interfaces/IHslAnimation.js +0 -0
  343. package/{Options → cjs/Options}/Interfaces/IManualParticle.js +0 -0
  344. package/{Options → cjs/Options}/Interfaces/IOptionLoader.js +0 -0
  345. package/{Options → cjs/Options}/Interfaces/IOptions.js +0 -0
  346. package/{Options → cjs/Options}/Interfaces/IOptionsColor.js +0 -0
  347. package/{Options → cjs/Options}/Interfaces/IOptionsGradient.js +0 -0
  348. package/{Options → cjs/Options}/Interfaces/IRandom.js +0 -0
  349. package/{Options → cjs/Options}/Interfaces/IResponsive.js +0 -0
  350. package/{Options → cjs/Options}/Interfaces/IValueWithRandom.js +0 -0
  351. package/{Options → cjs/Options}/Interfaces/Interactivity/Events/IClickEvent.js +0 -0
  352. package/{Options → cjs/Options}/Interfaces/Interactivity/Events/IDivEvent.js +0 -0
  353. package/{Options → cjs/Options}/Interfaces/Interactivity/Events/IEvents.js +0 -0
  354. package/{Options → cjs/Options}/Interfaces/Interactivity/Events/IHoverEvent.js +0 -0
  355. package/{Options → cjs/Options}/Interfaces/Interactivity/Events/IParallax.js +0 -0
  356. package/{Options → cjs/Options}/Interfaces/Interactivity/IInteractivity.js +0 -0
  357. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/IAttract.js +0 -0
  358. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/IBounce.js +0 -0
  359. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/IBubble.js +0 -0
  360. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/IBubbleBase.js +0 -0
  361. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/IBubbleDiv.js +0 -0
  362. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/IConnect.js +0 -0
  363. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/IConnectLinks.js +0 -0
  364. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/IGrab.js +0 -0
  365. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/IGrabLinks.js +0 -0
  366. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/ILight.js +0 -0
  367. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/ILightArea.js +0 -0
  368. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/ILightShadow.js +0 -0
  369. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/IModeDiv.js +0 -0
  370. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/IModes.js +0 -0
  371. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/IPush.js +0 -0
  372. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/IRemove.js +0 -0
  373. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/IRepulse.js +0 -0
  374. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/IRepulseBase.js +0 -0
  375. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/IRepulseDiv.js +0 -0
  376. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/ISlow.js +0 -0
  377. package/{Options → cjs/Options}/Interfaces/Interactivity/Modes/ITrail.js +0 -0
  378. package/{Options → cjs/Options}/Interfaces/Motion/IMotion.js +0 -0
  379. package/{Options → cjs/Options}/Interfaces/Motion/IMotionReduce.js +0 -0
  380. package/{Options → cjs/Options}/Interfaces/Particles/Bounce/IBounce.js +0 -0
  381. package/{Options → cjs/Options}/Interfaces/Particles/Collisions/ICollisions.js +0 -0
  382. package/{Options → cjs/Options}/Interfaces/Particles/Collisions/ICollisionsOverlap.js +0 -0
  383. package/{Options → cjs/Options}/Interfaces/Particles/Destroy/IDestroy.js +0 -0
  384. package/{Options → cjs/Options}/Interfaces/Particles/Destroy/ISplit.js +0 -0
  385. package/{Options → cjs/Options}/Interfaces/Particles/IParticles.js +0 -0
  386. package/{Options → cjs/Options}/Interfaces/Particles/IShadow.js +0 -0
  387. package/{Options → cjs/Options}/Interfaces/Particles/IStroke.js +0 -0
  388. package/{Options → cjs/Options}/Interfaces/Particles/Life/ILife.js +0 -0
  389. package/{Options → cjs/Options}/Interfaces/Particles/Life/ILifeDelay.js +0 -0
  390. package/{Options → cjs/Options}/Interfaces/Particles/Life/ILifeDuration.js +0 -0
  391. package/{Options → cjs/Options}/Interfaces/Particles/Links/ILinks.js +0 -0
  392. package/{Options → cjs/Options}/Interfaces/Particles/Links/ILinksShadow.js +0 -0
  393. package/{Options → cjs/Options}/Interfaces/Particles/Links/ILinksTriangle.js +0 -0
  394. package/{Options → cjs/Options}/Interfaces/Particles/Move/IAttract.js +0 -0
  395. package/{Options → cjs/Options}/Interfaces/Particles/Move/IMove.js +0 -0
  396. package/{Options → cjs/Options}/Interfaces/Particles/Move/IMoveAngle.js +0 -0
  397. package/{Options → cjs/Options}/Interfaces/Particles/Move/IMoveGravity.js +0 -0
  398. package/{Options → cjs/Options}/Interfaces/Particles/Move/IOutModes.js +0 -0
  399. package/{Options → cjs/Options}/Interfaces/Particles/Move/ISpin.js +0 -0
  400. package/{Options → cjs/Options}/Interfaces/Particles/Move/ITrail.js +0 -0
  401. package/{Options → cjs/Options}/Interfaces/Particles/Move/Path/IPath.js +0 -0
  402. package/{Options → cjs/Options}/Interfaces/Particles/Number/IDensity.js +0 -0
  403. package/{Options → cjs/Options}/Interfaces/Particles/Number/IParticlesNumber.js +0 -0
  404. package/{Options → cjs/Options}/Interfaces/Particles/Opacity/IOpacity.js +0 -0
  405. package/{Options → cjs/Options}/Interfaces/Particles/Opacity/IOpacityAnimation.js +0 -0
  406. package/{Options → cjs/Options}/Interfaces/Particles/Orbit/IOrbit.js +0 -0
  407. package/{Options → cjs/Options}/Interfaces/Particles/Repulse/IRepulse.js +0 -0
  408. package/{Options → cjs/Options}/Interfaces/Particles/Roll/IRoll.js +0 -0
  409. package/{Options → cjs/Options}/Interfaces/Particles/Roll/IRollLight.js +0 -0
  410. package/{Options → cjs/Options}/Interfaces/Particles/Rotate/IRotate.js +0 -0
  411. package/{Options → cjs/Options}/Interfaces/Particles/Rotate/IRotateAnimation.js +0 -0
  412. package/{Options → cjs/Options}/Interfaces/Particles/Shape/ICharacterShape.js +0 -0
  413. package/{Options → cjs/Options}/Interfaces/Particles/Shape/IImageShape.js +0 -0
  414. package/{Options → cjs/Options}/Interfaces/Particles/Shape/IPolygonShape.js +0 -0
  415. package/{Options → cjs/Options}/Interfaces/Particles/Shape/IShape.js +0 -0
  416. package/cjs/Options/Interfaces/Particles/Shape/IShapeValues.js +17 -0
  417. package/{Options → cjs/Options}/Interfaces/Particles/Shape/IStarShape.js +0 -0
  418. package/{Options → cjs/Options}/Interfaces/Particles/Size/ISize.js +0 -0
  419. package/{Options → cjs/Options}/Interfaces/Particles/Size/ISizeAnimation.js +0 -0
  420. package/{Options → cjs/Options}/Interfaces/Particles/Tilt/ITilt.js +0 -0
  421. package/{Options → cjs/Options}/Interfaces/Particles/Tilt/ITiltAnimation.js +0 -0
  422. package/{Options → cjs/Options}/Interfaces/Particles/Twinkle/ITwinkle.js +0 -0
  423. package/{Options → cjs/Options}/Interfaces/Particles/Twinkle/ITwinkleValues.js +0 -0
  424. package/{Options → cjs/Options}/Interfaces/Particles/Wobble/IWobble.js +0 -0
  425. package/{Options → cjs/Options}/Interfaces/Particles/ZIndex/IZIndex.js +0 -0
  426. package/{Options → cjs/Options}/Interfaces/Theme/ITheme.js +0 -0
  427. package/{Options → cjs/Options}/Interfaces/Theme/IThemeDefault.js +0 -0
  428. package/{Plugins → cjs/Plugins}/Absorbers/AbsorberContainer.js +0 -0
  429. package/cjs/Plugins/Absorbers/AbsorberInstance.js +158 -0
  430. package/cjs/Plugins/Absorbers/Absorbers.js +115 -0
  431. package/{Plugins → cjs/Plugins}/Absorbers/Enums/AbsorberClickMode.js +0 -0
  432. package/cjs/Plugins/Absorbers/Options/Classes/Absorber.js +51 -0
  433. package/{Plugins → cjs/Plugins}/Absorbers/Options/Classes/AbsorberSize.js +0 -0
  434. package/{Plugins → cjs/Plugins}/Absorbers/Options/Classes/AbsorberSizeLimit.js +0 -0
  435. package/{Plugins → cjs/Plugins}/Absorbers/Options/Interfaces/IAbsorber.js +0 -0
  436. package/{Plugins → cjs/Plugins}/Absorbers/Options/Interfaces/IAbsorberOptions.js +0 -0
  437. package/{Plugins → cjs/Plugins}/Absorbers/Options/Interfaces/IAbsorberSize.js +0 -0
  438. package/{Plugins → cjs/Plugins}/Absorbers/Options/Interfaces/IAbsorberSizeLimit.js +0 -0
  439. package/cjs/Plugins/Absorbers/index.js +93 -0
  440. package/{Plugins → cjs/Plugins}/Emitters/EmitterContainer.js +0 -0
  441. package/cjs/Plugins/Emitters/EmitterInstance.js +264 -0
  442. package/cjs/Plugins/Emitters/Emitters.js +150 -0
  443. package/{Plugins → cjs/Plugins}/Emitters/EmittersEngine.js +0 -0
  444. package/{Plugins → cjs/Plugins}/Emitters/Enums/EmitterClickMode.js +0 -0
  445. package/{Plugins → cjs/Plugins}/Emitters/Enums/EmitterShapeType.js +0 -0
  446. package/{Plugins → cjs/Plugins}/Emitters/IEmitterShape.js +0 -0
  447. package/cjs/Plugins/Emitters/Options/Classes/Emitter.js +68 -0
  448. package/{Plugins → cjs/Plugins}/Emitters/Options/Classes/EmitterLife.js +0 -0
  449. package/cjs/Plugins/Emitters/Options/Classes/EmitterRate.js +22 -0
  450. package/{Plugins → cjs/Plugins}/Emitters/Options/Classes/EmitterSize.js +0 -0
  451. package/{Plugins → cjs/Plugins}/Emitters/Options/Interfaces/IEmitter.js +0 -0
  452. package/{Plugins → cjs/Plugins}/Emitters/Options/Interfaces/IEmitterLife.js +0 -0
  453. package/{Plugins → cjs/Plugins}/Emitters/Options/Interfaces/IEmitterOptions.js +0 -0
  454. package/{Plugins → cjs/Plugins}/Emitters/Options/Interfaces/IEmitterRate.js +0 -0
  455. package/{Plugins → cjs/Plugins}/Emitters/Options/Interfaces/IEmitterSize.js +0 -0
  456. package/{Plugins → cjs/Plugins}/Emitters/ShapeManager.js +0 -0
  457. package/cjs/Plugins/Emitters/Shapes/Circle/CircleShape.js +27 -0
  458. package/{Plugins → cjs/Plugins}/Emitters/Shapes/Square/SquareShape.js +0 -0
  459. package/cjs/Plugins/Emitters/index.js +117 -0
  460. package/{Plugins → cjs/Plugins}/PolygonMask/Enums/PolygonMaskInlineArrangement.js +0 -0
  461. package/{Plugins → cjs/Plugins}/PolygonMask/Enums/PolygonMaskMoveType.js +0 -0
  462. package/{Plugins → cjs/Plugins}/PolygonMask/Enums/PolygonMaskType.js +0 -0
  463. package/{Plugins → cjs/Plugins}/PolygonMask/Interfaces/ISvgPath.js +0 -0
  464. package/cjs/Plugins/PolygonMask/Options/Classes/PolygonMask.js +66 -0
  465. package/{Plugins → cjs/Plugins}/PolygonMask/Options/Classes/PolygonMaskDraw.js +0 -0
  466. package/cjs/Plugins/PolygonMask/Options/Classes/PolygonMaskDrawStroke.js +29 -0
  467. package/{Plugins → cjs/Plugins}/PolygonMask/Options/Classes/PolygonMaskInline.js +0 -0
  468. package/{Plugins → cjs/Plugins}/PolygonMask/Options/Classes/PolygonMaskLocalSvg.js +0 -0
  469. package/{Plugins → cjs/Plugins}/PolygonMask/Options/Classes/PolygonMaskMove.js +0 -0
  470. package/{Plugins → cjs/Plugins}/PolygonMask/Options/Interfaces/IPolygonMask.js +0 -0
  471. package/{Plugins → cjs/Plugins}/PolygonMask/Options/Interfaces/IPolygonMaskDraw.js +0 -0
  472. package/{Plugins → cjs/Plugins}/PolygonMask/Options/Interfaces/IPolygonMaskDrawStroke.js +0 -0
  473. package/{Plugins → cjs/Plugins}/PolygonMask/Options/Interfaces/IPolygonMaskInline.js +0 -0
  474. package/{Plugins → cjs/Plugins}/PolygonMask/Options/Interfaces/IPolygonMaskLocalSvg.js +0 -0
  475. package/{Plugins → cjs/Plugins}/PolygonMask/Options/Interfaces/IPolygonMaskMove.js +0 -0
  476. package/{Plugins → cjs/Plugins}/PolygonMask/Options/Interfaces/IPolygonMaskOptions.js +0 -0
  477. package/cjs/Plugins/PolygonMask/PolygonMaskInstance.js +363 -0
  478. package/{Plugins → cjs/Plugins}/PolygonMask/Types.js +0 -0
  479. package/cjs/Plugins/PolygonMask/Utils.js +117 -0
  480. package/cjs/Plugins/PolygonMask/index.js +67 -0
  481. package/{Plugins → cjs/Plugins}/PolygonMask/pathseg.js +0 -0
  482. package/{Shapes → cjs/Shapes}/Circle/CircleDrawer.js +0 -0
  483. package/{Shapes → cjs/Shapes}/Circle/index.js +0 -0
  484. package/cjs/Shapes/Image/ImageDrawer.js +132 -0
  485. package/cjs/Shapes/Image/Utils.js +89 -0
  486. package/{Shapes → cjs/Shapes}/Image/index.js +0 -0
  487. package/{Shapes → cjs/Shapes}/Line/LineDrawer.js +0 -0
  488. package/{Shapes → cjs/Shapes}/Line/index.js +0 -0
  489. package/{Shapes → cjs/Shapes}/Polygon/PolygonDrawer.js +0 -0
  490. package/{Shapes → cjs/Shapes}/Polygon/PolygonDrawerBase.js +0 -0
  491. package/{Shapes → cjs/Shapes}/Polygon/TriangleDrawer.js +0 -0
  492. package/{Shapes → cjs/Shapes}/Polygon/index.js +0 -0
  493. package/{Shapes → cjs/Shapes}/Square/SquareDrawer.js +0 -0
  494. package/{Shapes → cjs/Shapes}/Square/index.js +0 -0
  495. package/{Shapes → cjs/Shapes}/Star/StarDrawer.js +0 -0
  496. package/{Shapes → cjs/Shapes}/Star/index.js +0 -0
  497. package/cjs/Shapes/Text/TextDrawer.js +65 -0
  498. package/{Shapes → cjs/Shapes}/Text/index.js +0 -0
  499. package/{Types → cjs/Types}/ParticlesGroups.js +0 -0
  500. package/{Types → cjs/Types}/PathOptions.js +0 -0
  501. package/{Types → cjs/Types}/RangeValue.js +0 -0
  502. package/{Types → cjs/Types}/RecursivePartial.js +0 -0
  503. package/{Types → cjs/Types}/ShapeData.js +0 -0
  504. package/{Types → cjs/Types}/ShapeDrawerFunctions.js +0 -0
  505. package/{Types → cjs/Types}/SingleOrMultiple.js +0 -0
  506. package/cjs/Updaters/Angle/AngleUpdater.js +79 -0
  507. package/{Updaters → cjs/Updaters}/Angle/index.js +0 -0
  508. package/cjs/Updaters/Color/ColorUpdater.js +68 -0
  509. package/{Updaters → cjs/Updaters}/Color/index.js +0 -0
  510. package/cjs/Updaters/Life/LifeUpdater.js +67 -0
  511. package/{Updaters → cjs/Updaters}/Life/index.js +0 -0
  512. package/cjs/Updaters/Opacity/OpacityUpdater.js +122 -0
  513. package/{Updaters → cjs/Updaters}/Opacity/index.js +0 -0
  514. package/{Updaters → cjs/Updaters}/OutModes/IBounceData.js +0 -0
  515. package/cjs/Updaters/OutModes/OutOfCanvasUpdater.js +146 -0
  516. package/cjs/Updaters/OutModes/Utils.js +65 -0
  517. package/{Updaters → cjs/Updaters}/OutModes/index.js +0 -0
  518. package/cjs/Updaters/Roll/RollUpdater.js +64 -0
  519. package/{Updaters → cjs/Updaters}/Roll/index.js +0 -0
  520. package/cjs/Updaters/Size/SizeUpdater.js +77 -0
  521. package/{Updaters → cjs/Updaters}/Size/index.js +0 -0
  522. package/cjs/Updaters/StrokeColor/StrokeColorUpdater.js +86 -0
  523. package/{Updaters → cjs/Updaters}/StrokeColor/index.js +0 -0
  524. package/cjs/Updaters/Tilt/TiltUpdater.js +79 -0
  525. package/{Updaters → cjs/Updaters}/Tilt/index.js +0 -0
  526. package/cjs/Updaters/Twinkle/TwinkleUpdater.js +21 -0
  527. package/cjs/Updaters/Twinkle/index.js +8 -0
  528. package/cjs/Updaters/Wobble/WobbleUpdater.js +51 -0
  529. package/{Updaters → cjs/Updaters}/Wobble/index.js +0 -0
  530. package/cjs/Utils/CanvasUtils.js +256 -0
  531. package/cjs/Utils/ColorUtils.js +460 -0
  532. package/cjs/Utils/NumberUtils.js +174 -0
  533. package/cjs/Utils/Utils.js +252 -0
  534. package/cjs/engine.js +103 -0
  535. package/cjs/full.js +24 -0
  536. package/cjs/index.engine.js +119 -0
  537. package/cjs/index.js +133 -0
  538. package/cjs/index.slim.js +121 -0
  539. package/{pjs.js → cjs/pjs.js} +0 -0
  540. package/cjs/slim.js +62 -0
  541. package/esm/Core/Canvas.js +36 -56
  542. package/esm/Core/Container.js +15 -9
  543. package/{browser/Enums/Types/OrbitType.js → esm/Core/Interfaces/IParticleColorStyle.js} +0 -0
  544. package/esm/Core/Interfaces/{IAttract.js → IParticlesMover.js} +0 -0
  545. package/esm/Core/Interfaces/{IBubble.js → IPositionFromSizeParams.js} +0 -0
  546. package/esm/Core/Loader.js +6 -10
  547. package/esm/Core/Particle.js +29 -48
  548. package/esm/Core/Particles.js +23 -24
  549. package/esm/Core/Retina.js +4 -13
  550. package/esm/Core/Utils/Circle.js +4 -13
  551. package/esm/Core/Utils/CircleWarp.js +2 -7
  552. package/esm/Core/Utils/EventListeners.js +23 -94
  553. package/esm/Core/Utils/FrameManager.js +1 -2
  554. package/esm/Core/Utils/InteractionManager.js +7 -0
  555. package/esm/Core/Utils/Plugins.js +16 -3
  556. package/esm/Core/Utils/QuadTree.js +20 -27
  557. package/esm/Core/Utils/Rectangle.js +6 -15
  558. package/esm/Core/Utils/Vector.js +13 -15
  559. package/esm/Core/Utils/Vector3d.js +17 -5
  560. package/esm/Interactions/External/Attract/Attractor.js +36 -2
  561. package/esm/Interactions/External/Bounce/Bouncer.js +8 -6
  562. package/esm/Interactions/External/Bubble/Bubbler.js +25 -2
  563. package/esm/Interactions/External/Connect/Connector.js +2 -2
  564. package/esm/Interactions/External/Grab/Grabber.js +30 -25
  565. package/esm/Interactions/External/Pause/Pauser.js +25 -0
  566. package/esm/Interactions/External/Pause/index.js +4 -0
  567. package/esm/Interactions/External/Push/Pusher.js +29 -0
  568. package/esm/Interactions/External/Push/index.js +4 -0
  569. package/esm/Interactions/External/Remove/Remover.js +22 -0
  570. package/esm/Interactions/External/Remove/index.js +4 -0
  571. package/esm/Interactions/External/Repulse/Repulser.js +37 -2
  572. package/esm/Interactions/External/Trail/TrailMaker.js +2 -2
  573. package/esm/Interactions/Particles/Attract/Attractor.js +2 -2
  574. package/esm/Interactions/Particles/Collisions/Collider.js +9 -17
  575. package/esm/Interactions/Particles/Links/LinkInstance.js +37 -55
  576. package/esm/Interactions/Particles/Links/Linker.js +9 -14
  577. package/esm/Movers/Base/BaseMover.js +76 -0
  578. package/esm/{Core/Interfaces/IParticleGradientAnimation.js → Movers/Base/IParticleSpin.js} +0 -0
  579. package/esm/{Core/Interfaces/IParticleGradientColorAnimation.js → Movers/Base/Types.js} +0 -0
  580. package/esm/Movers/Base/Utils.js +97 -0
  581. package/esm/Movers/Base/index.js +4 -0
  582. package/esm/Movers/Parallax/ParallaxMover.js +29 -0
  583. package/esm/Movers/Parallax/index.js +4 -0
  584. package/esm/Options/Classes/AnimatableGradient.js +1 -1
  585. package/esm/Options/Classes/AnimationOptions.js +1 -1
  586. package/esm/Options/Classes/ColorAnimation.js +1 -1
  587. package/esm/Options/Classes/Interactivity/Modes/Trail.js +1 -1
  588. package/esm/Options/Classes/ManualParticle.js +1 -1
  589. package/esm/Options/Classes/Options.js +1 -1
  590. package/esm/Options/Classes/Particles/Destroy/Split.js +1 -1
  591. package/esm/Options/Classes/Particles/Move/Attract.js +1 -1
  592. package/esm/Options/Classes/Particles/Move/Move.js +2 -1
  593. package/esm/Options/Classes/Particles/Move/MoveAngle.js +1 -1
  594. package/esm/Options/Classes/Particles/Move/MoveGravity.js +1 -1
  595. package/esm/Options/Classes/Particles/Move/Path/Path.js +1 -1
  596. package/esm/Options/Classes/Particles/Move/Spin.js +2 -1
  597. package/esm/Options/Classes/Particles/Opacity/Opacity.js +1 -1
  598. package/esm/Options/Classes/Particles/Orbit/Orbit.js +1 -1
  599. package/esm/Options/Classes/Particles/ParticlesOptions.js +1 -1
  600. package/esm/Options/Classes/Particles/Repulse/Repulse.js +1 -1
  601. package/esm/Options/Classes/Particles/Roll/Roll.js +1 -1
  602. package/esm/Options/Classes/Particles/Roll/RollLight.js +1 -1
  603. package/esm/Options/Classes/Particles/Rotate/RotateAnimation.js +1 -1
  604. package/esm/Options/Classes/Particles/Shape/Shape.js +1 -1
  605. package/esm/Options/Classes/Particles/Size/Size.js +1 -1
  606. package/esm/Options/Classes/Particles/Tilt/TiltAnimation.js +1 -1
  607. package/esm/Options/Classes/Particles/Twinkle/TwinkleValues.js +1 -1
  608. package/esm/Options/Classes/Particles/Wobble/Wobble.js +1 -1
  609. package/esm/Options/Classes/Responsive.js +1 -1
  610. package/esm/Options/Classes/Theme/Theme.js +1 -1
  611. package/esm/Options/Classes/ValueWithRandom.js +1 -1
  612. package/esm/Plugins/Absorbers/AbsorberInstance.js +16 -20
  613. package/esm/Plugins/Absorbers/Absorbers.js +3 -6
  614. package/esm/Plugins/Absorbers/Options/Classes/Absorber.js +1 -1
  615. package/esm/Plugins/Absorbers/index.js +8 -9
  616. package/esm/Plugins/Emitters/EmitterInstance.js +20 -25
  617. package/esm/Plugins/Emitters/Emitters.js +3 -6
  618. package/esm/Plugins/Emitters/Options/Classes/Emitter.js +2 -1
  619. package/esm/Plugins/Emitters/Options/Classes/EmitterRate.js +1 -1
  620. package/esm/Plugins/Emitters/Shapes/Circle/CircleShape.js +2 -7
  621. package/esm/Plugins/Emitters/index.js +4 -1
  622. package/esm/Plugins/PolygonMask/Options/Classes/PolygonMask.js +1 -1
  623. package/esm/Plugins/PolygonMask/Options/Classes/PolygonMaskDrawStroke.js +1 -1
  624. package/esm/Plugins/PolygonMask/PolygonMaskInstance.js +19 -42
  625. package/esm/Plugins/PolygonMask/Utils.js +6 -13
  626. package/esm/Plugins/PolygonMask/index.js +6 -2
  627. package/esm/Shapes/Image/ImageDrawer.js +20 -20
  628. package/esm/Shapes/Image/Utils.js +1 -1
  629. package/esm/Shapes/Text/TextDrawer.js +1 -1
  630. package/esm/Updaters/Angle/AngleUpdater.js +1 -1
  631. package/esm/Updaters/Color/ColorUpdater.js +2 -1
  632. package/esm/Updaters/Life/LifeUpdater.js +1 -1
  633. package/esm/Updaters/Opacity/OpacityUpdater.js +1 -1
  634. package/esm/Updaters/OutModes/OutOfCanvasUpdater.js +1 -1
  635. package/esm/Updaters/OutModes/Utils.js +1 -1
  636. package/esm/Updaters/Roll/RollUpdater.js +2 -1
  637. package/esm/Updaters/Size/SizeUpdater.js +1 -1
  638. package/esm/Updaters/StrokeColor/StrokeColorUpdater.js +3 -1
  639. package/esm/Updaters/Tilt/TiltUpdater.js +1 -1
  640. package/esm/Updaters/Twinkle/TwinkleUpdater.js +17 -0
  641. package/esm/Updaters/Twinkle/index.js +4 -0
  642. package/esm/Updaters/Wobble/WobbleUpdater.js +1 -1
  643. package/esm/Utils/CanvasUtils.js +26 -57
  644. package/esm/Utils/ColorUtils.js +13 -29
  645. package/esm/Utils/NumberUtils.js +48 -7
  646. package/esm/Utils/Utils.js +30 -47
  647. package/esm/engine.js +6 -1
  648. package/esm/full.js +3 -1
  649. package/esm/index.engine.js +93 -5
  650. package/esm/index.js +101 -8
  651. package/esm/index.slim.js +92 -5
  652. package/esm/slim.js +10 -0
  653. package/package.json +252 -4
  654. package/report.html +2 -2
  655. package/report.slim.html +2 -2
  656. package/tsparticles.engine.js +1060 -1370
  657. package/tsparticles.engine.min.js +2 -2
  658. package/tsparticles.interaction.external.attract.js +297 -4977
  659. package/tsparticles.interaction.external.attract.min.js +2 -2
  660. package/tsparticles.interaction.external.bounce.js +263 -4991
  661. package/tsparticles.interaction.external.bounce.min.js +2 -2
  662. package/tsparticles.interaction.external.bubble.js +247 -4549
  663. package/tsparticles.interaction.external.bubble.min.js +2 -2
  664. package/tsparticles.interaction.external.connect.js +42 -4971
  665. package/tsparticles.interaction.external.connect.min.js +2 -2
  666. package/tsparticles.interaction.external.grab.js +174 -4510
  667. package/tsparticles.interaction.external.grab.min.js +2 -2
  668. package/tsparticles.interaction.external.repulse.js +264 -4952
  669. package/tsparticles.interaction.external.repulse.min.js +2 -2
  670. package/tsparticles.interaction.external.trail.js +42 -4971
  671. package/tsparticles.interaction.external.trail.min.js +2 -2
  672. package/tsparticles.interaction.particles.attract.js +60 -5022
  673. package/tsparticles.interaction.particles.attract.min.js +2 -2
  674. package/tsparticles.interaction.particles.collisions.js +149 -4922
  675. package/tsparticles.interaction.particles.collisions.min.js +2 -2
  676. package/tsparticles.interaction.particles.links.js +415 -4465
  677. package/tsparticles.interaction.particles.links.min.js +2 -2
  678. package/tsparticles.js +1637 -1650
  679. package/tsparticles.min.js +2 -2
  680. package/tsparticles.pathseg.min.js +1 -1
  681. package/tsparticles.plugins.absorbers.js +347 -4679
  682. package/tsparticles.plugins.absorbers.min.js +2 -2
  683. package/tsparticles.plugins.emitters.js +424 -4699
  684. package/tsparticles.plugins.emitters.min.js +2 -2
  685. package/tsparticles.plugins.polygonMask.js +263 -4636
  686. package/tsparticles.plugins.polygonMask.min.js +2 -2
  687. package/tsparticles.shape.circle.min.js +1 -1
  688. package/tsparticles.shape.image.js +67 -4780
  689. package/tsparticles.shape.image.min.js +2 -2
  690. package/tsparticles.shape.line.min.js +1 -1
  691. package/tsparticles.shape.polygon.min.js +1 -1
  692. package/tsparticles.shape.square.min.js +1 -1
  693. package/tsparticles.shape.star.min.js +1 -1
  694. package/tsparticles.shape.text.js +39 -4968
  695. package/tsparticles.shape.text.min.js +2 -2
  696. package/tsparticles.slim.js +1576 -1558
  697. package/tsparticles.slim.min.js +2 -2
  698. package/tsparticles.updater.angle.js +55 -5017
  699. package/tsparticles.updater.angle.min.js +2 -2
  700. package/tsparticles.updater.color.js +146 -4484
  701. package/tsparticles.updater.color.min.js +2 -2
  702. package/tsparticles.updater.life.js +58 -5020
  703. package/tsparticles.updater.life.min.js +2 -2
  704. package/tsparticles.updater.opacity.js +62 -5024
  705. package/tsparticles.updater.opacity.min.js +2 -2
  706. package/tsparticles.updater.outModes.js +152 -4910
  707. package/tsparticles.updater.outModes.min.js +2 -2
  708. package/tsparticles.updater.roll.js +143 -4481
  709. package/tsparticles.updater.roll.min.js +2 -2
  710. package/tsparticles.updater.size.js +54 -5016
  711. package/tsparticles.updater.size.min.js +2 -2
  712. package/tsparticles.updater.strokeColor.js +147 -4485
  713. package/tsparticles.updater.strokeColor.min.js +2 -2
  714. package/tsparticles.updater.tilt.js +55 -5017
  715. package/tsparticles.updater.tilt.min.js +2 -2
  716. package/tsparticles.updater.wobble.js +55 -5017
  717. package/tsparticles.updater.wobble.min.js +2 -2
  718. package/types/Core/Canvas.d.ts +40 -0
  719. package/types/Core/Container.d.ts +71 -0
  720. package/types/Core/Interfaces/Colors.d.ts +33 -0
  721. package/types/Core/Interfaces/Gradients.d.ts +21 -0
  722. package/{Core → types/Core}/Interfaces/IBounds.d.ts +0 -0
  723. package/{Core → types/Core}/Interfaces/IBubbleParticleData.d.ts +0 -0
  724. package/types/Core/Interfaces/ICircleBouncer.d.ts +9 -0
  725. package/{Core → types/Core}/Interfaces/IContainerInteractivity.d.ts +0 -0
  726. package/types/Core/Interfaces/IContainerPlugin.d.ts +33 -0
  727. package/types/Core/Interfaces/ICoordinates.d.ts +15 -0
  728. package/{Core → types/Core}/Interfaces/IDelta.d.ts +0 -0
  729. package/{Core → types/Core}/Interfaces/IDimension.d.ts +0 -0
  730. package/{Core → types/Core}/Interfaces/IDistance.d.ts +0 -0
  731. package/types/Core/Interfaces/IExternalInteractor.d.ts +8 -0
  732. package/types/Core/Interfaces/IInteractor.d.ts +6 -0
  733. package/{Core → types/Core}/Interfaces/IMouseData.d.ts +0 -0
  734. package/types/Core/Interfaces/IMovePathGenerator.d.ts +8 -0
  735. package/types/Core/Interfaces/IParticle.d.ts +51 -0
  736. package/types/Core/Interfaces/IParticleColorStyle.d.ts +4 -0
  737. package/{Core → types/Core}/Interfaces/IParticleGravity.d.ts +0 -0
  738. package/{Core → types/Core}/Interfaces/IParticleHslAnimation.d.ts +0 -0
  739. package/{Core → types/Core}/Interfaces/IParticleLife.d.ts +0 -0
  740. package/{Core → types/Core}/Interfaces/IParticleLoops.d.ts +0 -0
  741. package/{Core → types/Core}/Interfaces/IParticleRetinaProps.d.ts +0 -0
  742. package/types/Core/Interfaces/IParticleRoll.d.ts +9 -0
  743. package/types/Core/Interfaces/IParticleSpin.d.ts +9 -0
  744. package/types/Core/Interfaces/IParticleUpdater.d.ts +11 -0
  745. package/types/Core/Interfaces/IParticleValueAnimation.d.ts +17 -0
  746. package/{Core → types/Core}/Interfaces/IParticleWobble.d.ts +0 -0
  747. package/{Core → types/Core}/Interfaces/IParticlesFrequencies.d.ts +0 -0
  748. package/{Core → types/Core}/Interfaces/IParticlesInteractor.d.ts +0 -0
  749. package/types/Core/Interfaces/IParticlesMover.d.ts +7 -0
  750. package/types/Core/Interfaces/IPlugin.d.ts +11 -0
  751. package/types/Core/Interfaces/IPositionFromSizeParams.d.ts +10 -0
  752. package/{Core → types/Core}/Interfaces/IRangeValue.d.ts +0 -0
  753. package/{Core → types/Core}/Interfaces/IRectSideResult.d.ts +0 -0
  754. package/types/Core/Interfaces/IShapeDrawer.d.ts +10 -0
  755. package/types/Core/Interfaces/IShapeValues.d.ts +8 -0
  756. package/types/Core/Loader.d.ts +32 -0
  757. package/types/Core/Particle.d.ts +84 -0
  758. package/types/Core/Particles.d.ts +52 -0
  759. package/types/Core/Retina.d.ts +25 -0
  760. package/types/Core/Utils/Circle.d.ts +8 -0
  761. package/types/Core/Utils/CircleWarp.d.ts +10 -0
  762. package/{Core → types/Core}/Utils/Constants.d.ts +0 -0
  763. package/{Core → types/Core}/Utils/EventListeners.d.ts +0 -0
  764. package/types/Core/Utils/ExternalInteractorBase.d.ts +13 -0
  765. package/{Core → types/Core}/Utils/FrameManager.d.ts +0 -0
  766. package/types/Core/Utils/InteractionManager.d.ts +16 -0
  767. package/types/Core/Utils/ParticlesInteractorBase.d.ts +13 -0
  768. package/types/Core/Utils/Plugins.d.ts +47 -0
  769. package/types/Core/Utils/Point.d.ts +7 -0
  770. package/types/Core/Utils/QuadTree.d.ts +24 -0
  771. package/types/Core/Utils/Range.d.ts +7 -0
  772. package/types/Core/Utils/Rectangle.d.ts +9 -0
  773. package/types/Core/Utils/Vector.d.ts +29 -0
  774. package/types/Core/Utils/Vector3d.d.ts +19 -0
  775. package/{Enums → types/Enums}/AnimationStatus.d.ts +0 -0
  776. package/{Enums → types/Enums}/Directions/MoveDirection.d.ts +0 -0
  777. package/{Enums → types/Enums}/Directions/OutModeDirection.d.ts +0 -0
  778. package/{Enums → types/Enums}/Directions/RotateDirection.d.ts +0 -0
  779. package/{Enums → types/Enums}/Directions/TiltDirection.d.ts +0 -0
  780. package/{Enums → types/Enums}/InteractivityDetect.d.ts +0 -0
  781. package/{Enums → types/Enums}/Modes/ClickMode.d.ts +0 -0
  782. package/{Enums → types/Enums}/Modes/CollisionMode.d.ts +0 -0
  783. package/{Enums → types/Enums}/Modes/DestroyMode.d.ts +0 -0
  784. package/{Enums → types/Enums}/Modes/DivMode.d.ts +0 -0
  785. package/{Enums → types/Enums}/Modes/HoverMode.d.ts +0 -0
  786. package/{Enums → types/Enums}/Modes/OutMode.d.ts +0 -0
  787. package/{Enums → types/Enums}/Modes/ResponsiveMode.d.ts +0 -0
  788. package/{Enums → types/Enums}/Modes/RollMode.d.ts +0 -0
  789. package/{Enums → types/Enums}/Modes/SizeMode.d.ts +0 -0
  790. package/{Enums → types/Enums}/Modes/ThemeMode.d.ts +0 -0
  791. package/{Enums → types/Enums}/Types/AlterType.d.ts +0 -0
  792. package/{Enums → types/Enums}/Types/DestroyType.d.ts +0 -0
  793. package/{Enums → types/Enums}/Types/DivType.d.ts +0 -0
  794. package/{Enums → types/Enums}/Types/EasingType.d.ts +0 -0
  795. package/{Enums → types/Enums}/Types/GradientType.d.ts +0 -0
  796. package/{Enums → types/Enums}/Types/InteractorType.d.ts +0 -0
  797. package/{Enums → types/Enums}/Types/ShapeType.d.ts +0 -0
  798. package/{Enums → types/Enums}/Types/StartValueType.d.ts +0 -0
  799. package/types/Interactions/External/Attract/Attractor.d.ts +24 -0
  800. package/{Interactions → types/Interactions}/External/Attract/index.d.ts +0 -0
  801. package/types/Interactions/External/Bounce/Bouncer.d.ts +11 -0
  802. package/{Interactions → types/Interactions}/External/Bounce/index.d.ts +0 -0
  803. package/types/Interactions/External/Bubble/Bubbler.d.ts +26 -0
  804. package/{Interactions → types/Interactions}/External/Bubble/IBubblerProcessParam.d.ts +0 -0
  805. package/{Interactions → types/Interactions}/External/Bubble/ProcessBubbleType.d.ts +0 -0
  806. package/{Interactions → types/Interactions}/External/Bubble/index.d.ts +0 -0
  807. package/types/Interactions/External/Connect/Connector.d.ts +8 -0
  808. package/{Interactions → types/Interactions}/External/Connect/index.d.ts +0 -0
  809. package/types/Interactions/External/Grab/Grabber.d.ts +8 -0
  810. package/{Interactions → types/Interactions}/External/Grab/index.d.ts +0 -0
  811. package/types/Interactions/External/Pause/Pauser.d.ts +9 -0
  812. package/types/Interactions/External/Pause/index.d.ts +2 -0
  813. package/types/Interactions/External/Push/Pusher.d.ts +10 -0
  814. package/types/Interactions/External/Push/index.d.ts +2 -0
  815. package/types/Interactions/External/Remove/Remover.d.ts +9 -0
  816. package/types/Interactions/External/Remove/index.d.ts +2 -0
  817. package/types/Interactions/External/Repulse/Repulser.d.ts +24 -0
  818. package/{Interactions → types/Interactions}/External/Repulse/index.d.ts +0 -0
  819. package/types/Interactions/External/Trail/TrailMaker.d.ts +11 -0
  820. package/{Interactions → types/Interactions}/External/Trail/index.d.ts +0 -0
  821. package/types/Interactions/Particles/Attract/Attractor.d.ts +10 -0
  822. package/{Interactions → types/Interactions}/Particles/Attract/index.d.ts +0 -0
  823. package/types/Interactions/Particles/Collisions/Collider.d.ts +11 -0
  824. package/{Interactions → types/Interactions}/Particles/Collisions/index.d.ts +0 -0
  825. package/{Interactions → types/Interactions}/Particles/Links/ILink.d.ts +0 -0
  826. package/types/Interactions/Particles/Links/LinkInstance.d.ts +12 -0
  827. package/types/Interactions/Particles/Links/LinkParticle.d.ts +5 -0
  828. package/types/Interactions/Particles/Links/Linker.d.ts +11 -0
  829. package/{Interactions → types/Interactions}/Particles/Links/index.d.ts +0 -0
  830. package/{Interactions → types/Interactions}/Particles/Links/interaction.d.ts +0 -0
  831. package/{Interactions → types/Interactions}/Particles/Links/plugin.d.ts +0 -0
  832. package/types/Movers/Base/BaseMover.d.ts +9 -0
  833. package/types/Movers/Base/IParticleSpin.d.ts +9 -0
  834. package/types/Movers/Base/Types.d.ts +8 -0
  835. package/types/Movers/Base/Utils.d.ts +7 -0
  836. package/types/Movers/Base/index.d.ts +2 -0
  837. package/types/Movers/Parallax/ParallaxMover.d.ts +7 -0
  838. package/types/Movers/Parallax/index.d.ts +2 -0
  839. package/types/Options/Classes/AnimatableColor.d.ts +12 -0
  840. package/types/Options/Classes/AnimatableGradient.d.ts +56 -0
  841. package/types/Options/Classes/AnimationOptions.d.ts +12 -0
  842. package/types/Options/Classes/Background/Background.d.ts +14 -0
  843. package/types/Options/Classes/BackgroundMask/BackgroundMask.d.ts +11 -0
  844. package/types/Options/Classes/BackgroundMask/BackgroundMaskCover.d.ts +10 -0
  845. package/types/Options/Classes/ColorAnimation.d.ts +13 -0
  846. package/types/Options/Classes/FullScreen/FullScreen.d.ts +9 -0
  847. package/types/Options/Classes/HslAnimation.d.ts +11 -0
  848. package/types/Options/Classes/Interactivity/Events/ClickEvent.d.ts +11 -0
  849. package/types/Options/Classes/Interactivity/Events/DivEvent.d.ts +20 -0
  850. package/types/Options/Classes/Interactivity/Events/Events.d.ts +21 -0
  851. package/types/Options/Classes/Interactivity/Events/HoverEvent.d.ts +13 -0
  852. package/types/Options/Classes/Interactivity/Events/Parallax.d.ts +10 -0
  853. package/types/Options/Classes/Interactivity/Interactivity.d.ts +15 -0
  854. package/types/Options/Classes/Interactivity/Modes/Attract.d.ts +14 -0
  855. package/types/Options/Classes/Interactivity/Modes/Bounce.d.ts +8 -0
  856. package/types/Options/Classes/Interactivity/Modes/Bubble.d.ts +10 -0
  857. package/types/Options/Classes/Interactivity/Modes/BubbleBase.d.ts +14 -0
  858. package/types/Options/Classes/Interactivity/Modes/BubbleDiv.d.ts +12 -0
  859. package/types/Options/Classes/Interactivity/Modes/Connect.d.ts +15 -0
  860. package/types/Options/Classes/Interactivity/Modes/ConnectLinks.d.ts +8 -0
  861. package/types/Options/Classes/Interactivity/Modes/Grab.d.ts +14 -0
  862. package/types/Options/Classes/Interactivity/Modes/GrabLinks.d.ts +12 -0
  863. package/types/Options/Classes/Interactivity/Modes/Light.d.ts +11 -0
  864. package/types/Options/Classes/Interactivity/Modes/LightArea.d.ts +10 -0
  865. package/types/Options/Classes/Interactivity/Modes/LightGradient.d.ts +10 -0
  866. package/types/Options/Classes/Interactivity/Modes/LightShadow.d.ts +10 -0
  867. package/types/Options/Classes/Interactivity/Modes/Modes.d.ts +29 -0
  868. package/types/Options/Classes/Interactivity/Modes/Push.d.ts +12 -0
  869. package/types/Options/Classes/Interactivity/Modes/Remove.d.ts +10 -0
  870. package/types/Options/Classes/Interactivity/Modes/Repulse.d.ts +10 -0
  871. package/types/Options/Classes/Interactivity/Modes/RepulseBase.d.ts +14 -0
  872. package/types/Options/Classes/Interactivity/Modes/RepulseDiv.d.ts +12 -0
  873. package/types/Options/Classes/Interactivity/Modes/Slow.d.ts +11 -0
  874. package/types/Options/Classes/Interactivity/Modes/Trail.d.ts +12 -0
  875. package/types/Options/Classes/ManualParticle.d.ts +10 -0
  876. package/types/Options/Classes/Motion/Motion.d.ts +10 -0
  877. package/types/Options/Classes/Motion/MotionReduce.d.ts +9 -0
  878. package/types/Options/Classes/Options.d.ts +49 -0
  879. package/types/Options/Classes/OptionsColor.d.ts +11 -0
  880. package/types/Options/Classes/Particles/Bounce/Bounce.d.ts +10 -0
  881. package/{Options → types/Options}/Classes/Particles/Bounce/BounceFactor.d.ts +0 -0
  882. package/types/Options/Classes/Particles/Collisions/Collisions.d.ts +14 -0
  883. package/types/Options/Classes/Particles/Collisions/CollisionsOverlap.d.ts +9 -0
  884. package/types/Options/Classes/Particles/Destroy/Destroy.d.ts +11 -0
  885. package/types/Options/Classes/Particles/Destroy/Split.d.ts +15 -0
  886. package/{Options → types/Options}/Classes/Particles/Destroy/SplitFactor.d.ts +0 -0
  887. package/{Options → types/Options}/Classes/Particles/Destroy/SplitRate.d.ts +0 -0
  888. package/types/Options/Classes/Particles/Life/Life.d.ts +12 -0
  889. package/types/Options/Classes/Particles/Life/LifeDelay.d.ts +9 -0
  890. package/types/Options/Classes/Particles/Life/LifeDuration.d.ts +9 -0
  891. package/types/Options/Classes/Particles/Links/Links.d.ts +22 -0
  892. package/types/Options/Classes/Particles/Links/LinksShadow.d.ts +11 -0
  893. package/types/Options/Classes/Particles/Links/LinksTriangle.d.ts +12 -0
  894. package/types/Options/Classes/Particles/Move/Attract.d.ts +16 -0
  895. package/types/Options/Classes/Particles/Move/Move.d.ts +46 -0
  896. package/types/Options/Classes/Particles/Move/MoveAngle.d.ts +10 -0
  897. package/types/Options/Classes/Particles/Move/MoveGravity.d.ts +12 -0
  898. package/types/Options/Classes/Particles/Move/OutModes.d.ts +13 -0
  899. package/types/Options/Classes/Particles/Move/Path/Path.d.ts +14 -0
  900. package/{Options → types/Options}/Classes/Particles/Move/Path/PathDelay.d.ts +0 -0
  901. package/types/Options/Classes/Particles/Move/Spin.d.ts +12 -0
  902. package/types/Options/Classes/Particles/Move/Trail.d.ts +11 -0
  903. package/types/Options/Classes/Particles/Number/Density.d.ts +12 -0
  904. package/types/Options/Classes/Particles/Number/ParticlesNumber.d.ts +13 -0
  905. package/types/Options/Classes/Particles/Opacity/Opacity.d.ts +12 -0
  906. package/types/Options/Classes/Particles/Opacity/OpacityAnimation.d.ts +15 -0
  907. package/types/Options/Classes/Particles/Orbit/Orbit.d.ts +19 -0
  908. package/types/Options/Classes/Particles/Orbit/OrbitRotation.d.ts +7 -0
  909. package/types/Options/Classes/Particles/ParticlesOptions.d.ts +59 -0
  910. package/types/Options/Classes/Particles/Repulse/Repulse.d.ts +14 -0
  911. package/types/Options/Classes/Particles/Roll/Roll.d.ts +17 -0
  912. package/types/Options/Classes/Particles/Roll/RollLight.d.ts +10 -0
  913. package/types/Options/Classes/Particles/Rotate/Rotate.d.ts +13 -0
  914. package/types/Options/Classes/Particles/Rotate/RotateAnimation.d.ts +11 -0
  915. package/types/Options/Classes/Particles/Shadow.d.ts +13 -0
  916. package/types/Options/Classes/Particles/Shape/Shape.d.ts +29 -0
  917. package/types/Options/Classes/Particles/Size/Size.d.ts +12 -0
  918. package/types/Options/Classes/Particles/Size/SizeAnimation.d.ts +15 -0
  919. package/types/Options/Classes/Particles/Stroke.d.ts +11 -0
  920. package/types/Options/Classes/Particles/Tilt/Tilt.d.ts +13 -0
  921. package/types/Options/Classes/Particles/Tilt/TiltAnimation.d.ts +11 -0
  922. package/types/Options/Classes/Particles/Twinkle/Twinkle.d.ts +10 -0
  923. package/types/Options/Classes/Particles/Twinkle/TwinkleValues.d.ts +13 -0
  924. package/types/Options/Classes/Particles/Wobble/Wobble.d.ts +11 -0
  925. package/types/Options/Classes/Particles/ZIndex/ZIndex.d.ts +11 -0
  926. package/types/Options/Classes/Random.d.ts +9 -0
  927. package/types/Options/Classes/Responsive.d.ts +12 -0
  928. package/types/Options/Classes/Theme/Theme.d.ts +12 -0
  929. package/types/Options/Classes/Theme/ThemeDefault.d.ts +11 -0
  930. package/types/Options/Classes/ValueWithRandom.d.ts +11 -0
  931. package/{Options → types/Options}/Interfaces/Background/IBackground.d.ts +0 -0
  932. package/types/Options/Interfaces/BackgroundMask/IBackgroundMask.d.ts +7 -0
  933. package/{Options → types/Options}/Interfaces/BackgroundMask/IBackgroundMaskCover.d.ts +0 -0
  934. package/{Options → types/Options}/Interfaces/FullScreen/IFullScreen.d.ts +0 -0
  935. package/{Options → types/Options}/Interfaces/IAnimatable.d.ts +0 -0
  936. package/{Options → types/Options}/Interfaces/IAnimatableColor.d.ts +0 -0
  937. package/types/Options/Interfaces/IAnimatableGradient.d.ts +8 -0
  938. package/types/Options/Interfaces/IAnimation.d.ts +7 -0
  939. package/types/Options/Interfaces/IColorAnimation.d.ts +5 -0
  940. package/{Options → types/Options}/Interfaces/IHslAnimation.d.ts +0 -0
  941. package/types/Options/Interfaces/IManualParticle.d.ts +7 -0
  942. package/types/Options/Interfaces/IOptionLoader.d.ts +4 -0
  943. package/types/Options/Interfaces/IOptions.d.ts +36 -0
  944. package/types/Options/Interfaces/IOptionsColor.d.ts +2 -0
  945. package/types/Options/Interfaces/IOptionsGradient.d.ts +13 -0
  946. package/{Options → types/Options}/Interfaces/IRandom.d.ts +0 -0
  947. package/types/Options/Interfaces/IResponsive.d.ts +8 -0
  948. package/types/Options/Interfaces/IValueWithRandom.d.ts +6 -0
  949. package/types/Options/Interfaces/Interactivity/Events/IClickEvent.d.ts +6 -0
  950. package/types/Options/Interfaces/Interactivity/Events/IDivEvent.d.ts +12 -0
  951. package/types/Options/Interfaces/Interactivity/Events/IEvents.d.ts +13 -0
  952. package/types/Options/Interfaces/Interactivity/Events/IHoverEvent.d.ts +8 -0
  953. package/{Options → types/Options}/Interfaces/Interactivity/Events/IParallax.d.ts +0 -0
  954. package/types/Options/Interfaces/Interactivity/IInteractivity.d.ts +9 -0
  955. package/types/Options/Interfaces/Interactivity/Modes/IAttract.d.ts +9 -0
  956. package/{Options → types/Options}/Interfaces/Interactivity/Modes/IBounce.d.ts +0 -0
  957. package/types/Options/Interfaces/Interactivity/Modes/IBubble.d.ts +6 -0
  958. package/types/Options/Interfaces/Interactivity/Modes/IBubbleBase.d.ts +10 -0
  959. package/{Options → types/Options}/Interfaces/Interactivity/Modes/IBubbleDiv.d.ts +0 -0
  960. package/{Options → types/Options}/Interfaces/Interactivity/Modes/IConnect.d.ts +0 -0
  961. package/{Options → types/Options}/Interfaces/Interactivity/Modes/IConnectLinks.d.ts +0 -0
  962. package/{Options → types/Options}/Interfaces/Interactivity/Modes/IGrab.d.ts +0 -0
  963. package/{Options → types/Options}/Interfaces/Interactivity/Modes/IGrabLinks.d.ts +0 -0
  964. package/{Options → types/Options}/Interfaces/Interactivity/Modes/ILight.d.ts +0 -0
  965. package/{Options → types/Options}/Interfaces/Interactivity/Modes/ILightArea.d.ts +0 -0
  966. package/{Options → types/Options}/Interfaces/Interactivity/Modes/ILightShadow.d.ts +0 -0
  967. package/types/Options/Interfaces/Interactivity/Modes/IModeDiv.d.ts +5 -0
  968. package/{Options → types/Options}/Interfaces/Interactivity/Modes/IModes.d.ts +0 -0
  969. package/{Options → types/Options}/Interfaces/Interactivity/Modes/IPush.d.ts +0 -0
  970. package/{Options → types/Options}/Interfaces/Interactivity/Modes/IRemove.d.ts +0 -0
  971. package/types/Options/Interfaces/Interactivity/Modes/IRepulse.d.ts +6 -0
  972. package/types/Options/Interfaces/Interactivity/Modes/IRepulseBase.d.ts +9 -0
  973. package/{Options → types/Options}/Interfaces/Interactivity/Modes/IRepulseDiv.d.ts +0 -0
  974. package/{Options → types/Options}/Interfaces/Interactivity/Modes/ISlow.d.ts +0 -0
  975. package/types/Options/Interfaces/Interactivity/Modes/ITrail.d.ts +8 -0
  976. package/{Options → types/Options}/Interfaces/Motion/IMotion.d.ts +0 -0
  977. package/{Options → types/Options}/Interfaces/Motion/IMotionReduce.d.ts +0 -0
  978. package/{Options → types/Options}/Interfaces/Particles/Bounce/IBounce.d.ts +0 -0
  979. package/types/Options/Interfaces/Particles/Collisions/ICollisions.d.ts +9 -0
  980. package/{Options → types/Options}/Interfaces/Particles/Collisions/ICollisionsOverlap.d.ts +0 -0
  981. package/types/Options/Interfaces/Particles/Destroy/IDestroy.d.ts +6 -0
  982. package/types/Options/Interfaces/Particles/Destroy/ISplit.d.ts +10 -0
  983. package/types/Options/Interfaces/Particles/IParticles.d.ts +52 -0
  984. package/{Options → types/Options}/Interfaces/Particles/IShadow.d.ts +0 -0
  985. package/types/Options/Interfaces/Particles/IStroke.d.ts +7 -0
  986. package/{Options → types/Options}/Interfaces/Particles/Life/ILife.d.ts +0 -0
  987. package/{Options → types/Options}/Interfaces/Particles/Life/ILifeDelay.d.ts +0 -0
  988. package/{Options → types/Options}/Interfaces/Particles/Life/ILifeDuration.d.ts +0 -0
  989. package/{Options → types/Options}/Interfaces/Particles/Links/ILinks.d.ts +0 -0
  990. package/{Options → types/Options}/Interfaces/Particles/Links/ILinksShadow.d.ts +0 -0
  991. package/{Options → types/Options}/Interfaces/Particles/Links/ILinksTriangle.d.ts +0 -0
  992. package/types/Options/Interfaces/Particles/Move/IAttract.d.ts +9 -0
  993. package/types/Options/Interfaces/Particles/Move/IMove.d.ts +36 -0
  994. package/types/Options/Interfaces/Particles/Move/IMoveAngle.d.ts +5 -0
  995. package/types/Options/Interfaces/Particles/Move/IMoveGravity.d.ts +7 -0
  996. package/types/Options/Interfaces/Particles/Move/IOutModes.d.ts +8 -0
  997. package/types/Options/Interfaces/Particles/Move/ISpin.d.ts +7 -0
  998. package/{Options → types/Options}/Interfaces/Particles/Move/ITrail.d.ts +0 -0
  999. package/types/Options/Interfaces/Particles/Move/Path/IPath.d.ts +9 -0
  1000. package/{Options → types/Options}/Interfaces/Particles/Number/IDensity.d.ts +0 -0
  1001. package/{Options → types/Options}/Interfaces/Particles/Number/IParticlesNumber.d.ts +0 -0
  1002. package/{Options → types/Options}/Interfaces/Particles/Opacity/IOpacity.d.ts +0 -0
  1003. package/types/Options/Interfaces/Particles/Opacity/IOpacityAnimation.d.ts +9 -0
  1004. package/types/Options/Interfaces/Particles/Orbit/IOrbit.d.ts +13 -0
  1005. package/types/Options/Interfaces/Particles/Repulse/IRepulse.d.ts +9 -0
  1006. package/types/Options/Interfaces/Particles/Roll/IRoll.d.ts +13 -0
  1007. package/types/Options/Interfaces/Particles/Roll/IRollLight.d.ts +5 -0
  1008. package/types/Options/Interfaces/Particles/Rotate/IRotate.d.ts +8 -0
  1009. package/types/Options/Interfaces/Particles/Rotate/IRotateAnimation.d.ts +6 -0
  1010. package/types/Options/Interfaces/Particles/Shape/ICharacterShape.d.ts +8 -0
  1011. package/{Options → types/Options}/Interfaces/Particles/Shape/IImageShape.d.ts +0 -0
  1012. package/{Options → types/Options}/Interfaces/Particles/Shape/IPolygonShape.d.ts +0 -0
  1013. package/types/Options/Interfaces/Particles/Shape/IShape.d.ts +17 -0
  1014. package/{Options → types/Options}/Interfaces/Particles/Shape/IShapeValues.d.ts +0 -0
  1015. package/{Options → types/Options}/Interfaces/Particles/Shape/IStarShape.d.ts +0 -0
  1016. package/{Options → types/Options}/Interfaces/Particles/Size/ISize.d.ts +0 -0
  1017. package/types/Options/Interfaces/Particles/Size/ISizeAnimation.d.ts +9 -0
  1018. package/types/Options/Interfaces/Particles/Tilt/ITilt.d.ts +8 -0
  1019. package/types/Options/Interfaces/Particles/Tilt/ITiltAnimation.d.ts +6 -0
  1020. package/{Options → types/Options}/Interfaces/Particles/Twinkle/ITwinkle.d.ts +0 -0
  1021. package/types/Options/Interfaces/Particles/Twinkle/ITwinkleValues.d.ts +8 -0
  1022. package/types/Options/Interfaces/Particles/Wobble/IWobble.d.ts +6 -0
  1023. package/{Options → types/Options}/Interfaces/Particles/ZIndex/IZIndex.d.ts +0 -0
  1024. package/types/Options/Interfaces/Theme/ITheme.d.ts +8 -0
  1025. package/types/Options/Interfaces/Theme/IThemeDefault.d.ts +6 -0
  1026. package/types/Plugins/Absorbers/AbsorberContainer.d.ts +7 -0
  1027. package/types/Plugins/Absorbers/AbsorberInstance.d.ts +36 -0
  1028. package/types/Plugins/Absorbers/Absorbers.d.ts +26 -0
  1029. package/{Plugins → types/Plugins}/Absorbers/Enums/AbsorberClickMode.d.ts +0 -0
  1030. package/types/Plugins/Absorbers/Options/Classes/Absorber.d.ts +18 -0
  1031. package/types/Plugins/Absorbers/Options/Classes/AbsorberSize.d.ts +11 -0
  1032. package/types/Plugins/Absorbers/Options/Classes/AbsorberSizeLimit.d.ts +9 -0
  1033. package/types/Plugins/Absorbers/Options/Interfaces/IAbsorber.d.ts +14 -0
  1034. package/types/Plugins/Absorbers/Options/Interfaces/IAbsorberOptions.d.ts +12 -0
  1035. package/{Plugins → types/Plugins}/Absorbers/Options/Interfaces/IAbsorberSize.d.ts +0 -0
  1036. package/{Plugins → types/Plugins}/Absorbers/Options/Interfaces/IAbsorberSizeLimit.d.ts +0 -0
  1037. package/types/Plugins/Absorbers/index.d.ts +4 -0
  1038. package/types/Plugins/Emitters/EmitterContainer.d.ts +10 -0
  1039. package/types/Plugins/Emitters/EmitterInstance.d.ts +49 -0
  1040. package/types/Plugins/Emitters/Emitters.d.ts +29 -0
  1041. package/{Plugins → types/Plugins}/Emitters/EmittersEngine.d.ts +0 -0
  1042. package/{Plugins → types/Plugins}/Emitters/Enums/EmitterClickMode.d.ts +0 -0
  1043. package/{Plugins → types/Plugins}/Emitters/Enums/EmitterShapeType.d.ts +0 -0
  1044. package/types/Plugins/Emitters/IEmitterShape.d.ts +5 -0
  1045. package/types/Plugins/Emitters/Options/Classes/Emitter.d.ts +28 -0
  1046. package/types/Plugins/Emitters/Options/Classes/EmitterLife.d.ts +11 -0
  1047. package/types/Plugins/Emitters/Options/Classes/EmitterRate.d.ts +10 -0
  1048. package/types/Plugins/Emitters/Options/Classes/EmitterSize.d.ts +11 -0
  1049. package/types/Plugins/Emitters/Options/Interfaces/IEmitter.d.ts +24 -0
  1050. package/{Plugins → types/Plugins}/Emitters/Options/Interfaces/IEmitterLife.d.ts +0 -0
  1051. package/types/Plugins/Emitters/Options/Interfaces/IEmitterOptions.d.ts +12 -0
  1052. package/types/Plugins/Emitters/Options/Interfaces/IEmitterRate.d.ts +5 -0
  1053. package/types/Plugins/Emitters/Options/Interfaces/IEmitterSize.d.ts +5 -0
  1054. package/{Plugins → types/Plugins}/Emitters/ShapeManager.d.ts +0 -0
  1055. package/types/Plugins/Emitters/Shapes/Circle/CircleShape.d.ts +6 -0
  1056. package/types/Plugins/Emitters/Shapes/Square/SquareShape.d.ts +6 -0
  1057. package/types/Plugins/Emitters/index.d.ts +6 -0
  1058. package/{Plugins → types/Plugins}/PolygonMask/Enums/PolygonMaskInlineArrangement.d.ts +0 -0
  1059. package/{Plugins → types/Plugins}/PolygonMask/Enums/PolygonMaskMoveType.d.ts +0 -0
  1060. package/{Plugins → types/Plugins}/PolygonMask/Enums/PolygonMaskType.d.ts +0 -0
  1061. package/{Plugins → types/Plugins}/PolygonMask/Interfaces/ISvgPath.d.ts +0 -0
  1062. package/types/Plugins/PolygonMask/Options/Classes/PolygonMask.d.ts +25 -0
  1063. package/types/Plugins/PolygonMask/Options/Classes/PolygonMaskDraw.d.ts +15 -0
  1064. package/types/Plugins/PolygonMask/Options/Classes/PolygonMaskDrawStroke.d.ts +11 -0
  1065. package/types/Plugins/PolygonMask/Options/Classes/PolygonMaskInline.d.ts +9 -0
  1066. package/types/Plugins/PolygonMask/Options/Classes/PolygonMaskLocalSvg.d.ts +11 -0
  1067. package/types/Plugins/PolygonMask/Options/Classes/PolygonMaskMove.d.ts +10 -0
  1068. package/types/Plugins/PolygonMask/Options/Interfaces/IPolygonMask.d.ts +19 -0
  1069. package/types/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskDraw.d.ts +8 -0
  1070. package/types/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskDrawStroke.d.ts +6 -0
  1071. package/types/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskInline.d.ts +4 -0
  1072. package/types/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskLocalSvg.d.ts +6 -0
  1073. package/types/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskMove.d.ts +5 -0
  1074. package/{Plugins → types/Plugins}/PolygonMask/Options/Interfaces/IPolygonMaskOptions.d.ts +0 -0
  1075. package/types/Plugins/PolygonMask/PolygonMaskInstance.d.ts +43 -0
  1076. package/{Plugins → types/Plugins}/PolygonMask/Types.d.ts +0 -0
  1077. package/types/Plugins/PolygonMask/Utils.d.ts +11 -0
  1078. package/types/Plugins/PolygonMask/index.d.ts +6 -0
  1079. package/{Plugins → types/Plugins}/PolygonMask/pathseg.d.ts +0 -0
  1080. package/types/Shapes/Circle/CircleDrawer.d.ts +6 -0
  1081. package/{Shapes → types/Shapes}/Circle/index.d.ts +0 -0
  1082. package/types/Shapes/Image/ImageDrawer.d.ts +15 -0
  1083. package/types/Shapes/Image/Utils.d.ts +30 -0
  1084. package/{Shapes → types/Shapes}/Image/index.d.ts +0 -0
  1085. package/types/Shapes/Line/LineDrawer.d.ts +6 -0
  1086. package/{Shapes → types/Shapes}/Line/index.d.ts +0 -0
  1087. package/types/Shapes/Polygon/PolygonDrawer.d.ts +8 -0
  1088. package/types/Shapes/Polygon/PolygonDrawerBase.d.ts +17 -0
  1089. package/types/Shapes/Polygon/TriangleDrawer.d.ts +9 -0
  1090. package/{Shapes → types/Shapes}/Polygon/index.d.ts +0 -0
  1091. package/types/Shapes/Square/SquareDrawer.d.ts +6 -0
  1092. package/{Shapes → types/Shapes}/Square/index.d.ts +0 -0
  1093. package/types/Shapes/Star/StarDrawer.d.ts +6 -0
  1094. package/{Shapes → types/Shapes}/Star/index.d.ts +0 -0
  1095. package/types/Shapes/Text/TextDrawer.d.ts +9 -0
  1096. package/{Shapes → types/Shapes}/Text/index.d.ts +0 -0
  1097. package/{Types → types/Types}/ParticlesGroups.d.ts +0 -0
  1098. package/{Types → types/Types}/PathOptions.d.ts +0 -0
  1099. package/{Types → types/Types}/RangeValue.d.ts +0 -0
  1100. package/{Types → types/Types}/RecursivePartial.d.ts +0 -0
  1101. package/types/Types/ShapeData.d.ts +5 -0
  1102. package/types/Types/ShapeDrawerFunctions.d.ts +11 -0
  1103. package/{Types → types/Types}/SingleOrMultiple.d.ts +0 -0
  1104. package/types/Updaters/Angle/AngleUpdater.d.ts +11 -0
  1105. package/{Updaters → types/Updaters}/Angle/index.d.ts +0 -0
  1106. package/types/Updaters/Color/ColorUpdater.d.ts +11 -0
  1107. package/{Updaters → types/Updaters}/Color/index.d.ts +0 -0
  1108. package/types/Updaters/Life/LifeUpdater.d.ts +11 -0
  1109. package/{Updaters → types/Updaters}/Life/index.d.ts +0 -0
  1110. package/types/Updaters/Opacity/OpacityUpdater.d.ts +11 -0
  1111. package/{Updaters → types/Updaters}/Opacity/index.d.ts +0 -0
  1112. package/types/Updaters/OutModes/IBounceData.d.ts +15 -0
  1113. package/types/Updaters/OutModes/OutOfCanvasUpdater.d.ts +16 -0
  1114. package/{Updaters → types/Updaters}/OutModes/Utils.d.ts +0 -0
  1115. package/{Updaters → types/Updaters}/OutModes/index.d.ts +0 -0
  1116. package/types/Updaters/Roll/RollUpdater.d.ts +8 -0
  1117. package/{Updaters → types/Updaters}/Roll/index.d.ts +0 -0
  1118. package/types/Updaters/Size/SizeUpdater.d.ts +8 -0
  1119. package/{Updaters → types/Updaters}/Size/index.d.ts +0 -0
  1120. package/types/Updaters/StrokeColor/StrokeColorUpdater.d.ts +11 -0
  1121. package/{Updaters → types/Updaters}/StrokeColor/index.d.ts +0 -0
  1122. package/types/Updaters/Tilt/TiltUpdater.d.ts +11 -0
  1123. package/{Updaters → types/Updaters}/Tilt/index.d.ts +0 -0
  1124. package/types/Updaters/Twinkle/TwinkleUpdater.d.ts +9 -0
  1125. package/types/Updaters/Twinkle/index.d.ts +2 -0
  1126. package/types/Updaters/Wobble/WobbleUpdater.d.ts +17 -0
  1127. package/{Updaters → types/Updaters}/Wobble/index.d.ts +0 -0
  1128. package/types/Utils/CanvasUtils.d.ts +26 -0
  1129. package/types/Utils/ColorUtils.d.ts +28 -0
  1130. package/types/Utils/NumberUtils.d.ts +30 -0
  1131. package/types/Utils/Utils.d.ts +43 -0
  1132. package/types/engine.d.ts +36 -0
  1133. package/{browser → types}/full.d.ts +0 -0
  1134. package/types/index.d.ts +114 -0
  1135. package/types/index.engine.d.ts +102 -0
  1136. package/types/index.slim.d.ts +102 -0
  1137. package/types/pjs.d.ts +14 -0
  1138. package/{browser → types}/slim.d.ts +0 -0
  1139. package/umd/Core/Canvas.js +54 -74
  1140. package/umd/Core/Container.js +22 -16
  1141. package/umd/Core/Interfaces/{IAttract.js → IParticleColorStyle.js} +0 -0
  1142. package/umd/Core/Interfaces/{IBubble.js → IParticlesMover.js} +0 -0
  1143. package/umd/Core/Interfaces/{IParticleGradientAnimation.js → IPositionFromSizeParams.js} +0 -0
  1144. package/umd/Core/Loader.js +10 -14
  1145. package/umd/Core/Particle.js +56 -75
  1146. package/umd/Core/Particles.js +33 -34
  1147. package/umd/Core/Retina.js +13 -22
  1148. package/umd/Core/Utils/Circle.js +6 -15
  1149. package/umd/Core/Utils/CircleWarp.js +2 -7
  1150. package/umd/Core/Utils/EventListeners.js +24 -95
  1151. package/umd/Core/Utils/FrameManager.js +1 -2
  1152. package/umd/Core/Utils/InteractionManager.js +7 -0
  1153. package/umd/Core/Utils/Plugins.js +16 -3
  1154. package/umd/Core/Utils/QuadTree.js +21 -28
  1155. package/umd/Core/Utils/Rectangle.js +6 -15
  1156. package/umd/Core/Utils/Vector.js +13 -15
  1157. package/umd/Core/Utils/Vector3d.js +17 -5
  1158. package/umd/Interactions/External/Attract/Attractor.js +44 -10
  1159. package/umd/Interactions/External/Bounce/Bouncer.js +18 -16
  1160. package/umd/Interactions/External/Bubble/Bubbler.js +41 -18
  1161. package/umd/Interactions/External/Connect/Connector.js +4 -4
  1162. package/umd/Interactions/External/Grab/Grabber.js +32 -27
  1163. package/umd/Interactions/External/Pause/Pauser.js +39 -0
  1164. package/umd/Interactions/External/Pause/index.js +18 -0
  1165. package/umd/Interactions/External/Push/Pusher.js +43 -0
  1166. package/umd/Interactions/External/Push/index.js +18 -0
  1167. package/umd/Interactions/External/Remove/Remover.js +36 -0
  1168. package/umd/Interactions/External/Remove/index.js +18 -0
  1169. package/umd/Interactions/External/Repulse/Repulser.js +47 -12
  1170. package/umd/Interactions/External/Trail/TrailMaker.js +4 -4
  1171. package/umd/Interactions/Particles/Attract/Attractor.js +5 -5
  1172. package/umd/Interactions/Particles/Collisions/Collider.js +13 -21
  1173. package/umd/Interactions/Particles/Links/LinkInstance.js +47 -65
  1174. package/umd/Interactions/Particles/Links/Linker.js +17 -22
  1175. package/umd/Movers/Base/BaseMover.js +90 -0
  1176. package/umd/{Core/Interfaces/IParticleGradientColorAnimation.js → Movers/Base/IParticleSpin.js} +0 -0
  1177. package/umd/{Core/Interfaces/IRepulse.js → Movers/Base/Types.js} +0 -0
  1178. package/umd/Movers/Base/Utils.js +114 -0
  1179. package/umd/Movers/Base/index.js +18 -0
  1180. package/umd/Movers/Parallax/ParallaxMover.js +43 -0
  1181. package/umd/Movers/Parallax/index.js +18 -0
  1182. package/umd/Options/Classes/AnimatableGradient.js +7 -7
  1183. package/umd/Options/Classes/AnimationOptions.js +4 -4
  1184. package/umd/Options/Classes/ColorAnimation.js +5 -5
  1185. package/umd/Options/Classes/Interactivity/Modes/Trail.js +2 -2
  1186. package/umd/Options/Classes/ManualParticle.js +2 -2
  1187. package/umd/Options/Classes/Options.js +2 -2
  1188. package/umd/Options/Classes/Particles/Destroy/Split.js +2 -2
  1189. package/umd/Options/Classes/Particles/Move/Attract.js +3 -3
  1190. package/umd/Options/Classes/Particles/Move/Move.js +5 -4
  1191. package/umd/Options/Classes/Particles/Move/MoveAngle.js +4 -4
  1192. package/umd/Options/Classes/Particles/Move/MoveGravity.js +4 -4
  1193. package/umd/Options/Classes/Particles/Move/Path/Path.js +2 -2
  1194. package/umd/Options/Classes/Particles/Move/Spin.js +4 -3
  1195. package/umd/Options/Classes/Particles/Opacity/Opacity.js +3 -3
  1196. package/umd/Options/Classes/Particles/Orbit/Orbit.js +5 -5
  1197. package/umd/Options/Classes/Particles/ParticlesOptions.js +2 -2
  1198. package/umd/Options/Classes/Particles/Repulse/Repulse.js +6 -6
  1199. package/umd/Options/Classes/Particles/Roll/Roll.js +3 -3
  1200. package/umd/Options/Classes/Particles/Roll/RollLight.js +3 -3
  1201. package/umd/Options/Classes/Particles/Rotate/RotateAnimation.js +3 -3
  1202. package/umd/Options/Classes/Particles/Shape/Shape.js +2 -2
  1203. package/umd/Options/Classes/Particles/Size/Size.js +3 -3
  1204. package/umd/Options/Classes/Particles/Tilt/TiltAnimation.js +3 -3
  1205. package/umd/Options/Classes/Particles/Twinkle/TwinkleValues.js +3 -3
  1206. package/umd/Options/Classes/Particles/Wobble/Wobble.js +4 -4
  1207. package/umd/Options/Classes/Responsive.js +2 -2
  1208. package/umd/Options/Classes/Theme/Theme.js +2 -2
  1209. package/umd/Options/Classes/ValueWithRandom.js +3 -3
  1210. package/umd/Options/Interfaces/Particles/Shape/IShapeValues.js +5 -1
  1211. package/umd/Plugins/Absorbers/AbsorberInstance.js +25 -29
  1212. package/umd/Plugins/Absorbers/Absorbers.js +4 -7
  1213. package/umd/Plugins/Absorbers/Options/Classes/Absorber.js +4 -4
  1214. package/umd/Plugins/Absorbers/index.js +23 -10
  1215. package/umd/Plugins/Emitters/EmitterInstance.js +23 -28
  1216. package/umd/Plugins/Emitters/Emitters.js +4 -7
  1217. package/umd/Plugins/Emitters/Options/Classes/Emitter.js +5 -4
  1218. package/umd/Plugins/Emitters/Options/Classes/EmitterRate.js +4 -4
  1219. package/umd/Plugins/Emitters/Shapes/Circle/CircleShape.js +2 -7
  1220. package/umd/Plugins/Emitters/index.js +10 -3
  1221. package/umd/Plugins/PolygonMask/Options/Classes/PolygonMask.js +2 -2
  1222. package/umd/Plugins/PolygonMask/Options/Classes/PolygonMaskDrawStroke.js +3 -3
  1223. package/umd/Plugins/PolygonMask/PolygonMaskInstance.js +27 -50
  1224. package/umd/Plugins/PolygonMask/Utils.js +11 -18
  1225. package/umd/Plugins/PolygonMask/index.js +15 -4
  1226. package/umd/Shapes/Image/ImageDrawer.js +20 -20
  1227. package/umd/Shapes/Image/Utils.js +3 -3
  1228. package/umd/Shapes/Text/TextDrawer.js +2 -2
  1229. package/umd/Updaters/Angle/AngleUpdater.js +4 -4
  1230. package/umd/Updaters/Color/ColorUpdater.js +6 -5
  1231. package/umd/Updaters/Life/LifeUpdater.js +7 -7
  1232. package/umd/Updaters/Opacity/OpacityUpdater.js +11 -11
  1233. package/umd/Updaters/OutModes/OutOfCanvasUpdater.js +2 -2
  1234. package/umd/Updaters/OutModes/Utils.js +4 -4
  1235. package/umd/Updaters/Roll/RollUpdater.js +8 -7
  1236. package/umd/Updaters/Size/SizeUpdater.js +3 -3
  1237. package/umd/Updaters/StrokeColor/StrokeColorUpdater.js +7 -5
  1238. package/umd/Updaters/Tilt/TiltUpdater.js +4 -4
  1239. package/umd/Updaters/Twinkle/TwinkleUpdater.js +31 -0
  1240. package/umd/Updaters/Twinkle/index.js +18 -0
  1241. package/umd/Updaters/Wobble/WobbleUpdater.js +4 -4
  1242. package/umd/Utils/CanvasUtils.js +26 -57
  1243. package/umd/Utils/ColorUtils.js +18 -34
  1244. package/umd/Utils/NumberUtils.js +57 -11
  1245. package/umd/Utils/Utils.js +32 -49
  1246. package/umd/engine.js +9 -4
  1247. package/umd/full.js +4 -2
  1248. package/umd/index.engine.js +99 -7
  1249. package/umd/index.js +111 -11
  1250. package/umd/index.slim.js +98 -7
  1251. package/umd/slim.js +11 -1
  1252. package/Core/Canvas.d.ts +0 -35
  1253. package/Core/Canvas.js +0 -326
  1254. package/Core/Container.d.ts +0 -68
  1255. package/Core/Container.js +0 -395
  1256. package/Core/Interfaces/Colors.d.ts +0 -33
  1257. package/Core/Interfaces/Gradients.d.ts +0 -21
  1258. package/Core/Interfaces/IAttract.d.ts +0 -7
  1259. package/Core/Interfaces/IBubble.d.ts +0 -4
  1260. package/Core/Interfaces/ICircleBouncer.d.ts +0 -9
  1261. package/Core/Interfaces/IContainerPlugin.d.ts +0 -32
  1262. package/Core/Interfaces/ICoordinates.d.ts +0 -15
  1263. package/Core/Interfaces/IExternalInteractor.d.ts +0 -6
  1264. package/Core/Interfaces/IInteractor.d.ts +0 -6
  1265. package/Core/Interfaces/IMovePathGenerator.d.ts +0 -8
  1266. package/Core/Interfaces/IParticle.d.ts +0 -55
  1267. package/Core/Interfaces/IParticleGradientAnimation.d.ts +0 -8
  1268. package/Core/Interfaces/IParticleGradientColorAnimation.d.ts +0 -7
  1269. package/Core/Interfaces/IParticleRoll.d.ts +0 -9
  1270. package/Core/Interfaces/IParticleSpin.d.ts +0 -9
  1271. package/Core/Interfaces/IParticleUpdater.d.ts +0 -9
  1272. package/Core/Interfaces/IParticleValueAnimation.d.ts +0 -17
  1273. package/Core/Interfaces/IPlugin.d.ts +0 -11
  1274. package/Core/Interfaces/IRepulse.d.ts +0 -7
  1275. package/Core/Interfaces/IShapeDrawer.d.ts +0 -10
  1276. package/Core/Interfaces/IShapeValues.d.ts +0 -8
  1277. package/Core/Interfaces/index.d.ts +0 -37
  1278. package/Core/Interfaces/index.js +0 -49
  1279. package/Core/Loader.d.ts +0 -32
  1280. package/Core/Loader.js +0 -183
  1281. package/Core/Particle.d.ts +0 -73
  1282. package/Core/Particle.js +0 -386
  1283. package/Core/Particles.d.ts +0 -46
  1284. package/Core/Particles.js +0 -321
  1285. package/Core/Retina.d.ts +0 -26
  1286. package/Core/Retina.js +0 -97
  1287. package/Core/Utils/Circle.d.ts +0 -8
  1288. package/Core/Utils/Circle.js +0 -42
  1289. package/Core/Utils/CircleWarp.d.ts +0 -9
  1290. package/Core/Utils/CircleWarp.js +0 -60
  1291. package/Core/Utils/EventListeners.js +0 -373
  1292. package/Core/Utils/ExternalInteractorBase.d.ts +0 -12
  1293. package/Core/Utils/FrameManager.js +0 -43
  1294. package/Core/Utils/InteractionManager.d.ts +0 -14
  1295. package/Core/Utils/InteractionManager.js +0 -59
  1296. package/Core/Utils/ParticlesInteractorBase.d.ts +0 -12
  1297. package/Core/Utils/ParticlesMover.d.ts +0 -13
  1298. package/Core/Utils/ParticlesMover.js +0 -186
  1299. package/Core/Utils/Plugins.d.ts +0 -36
  1300. package/Core/Utils/Plugins.js +0 -98
  1301. package/Core/Utils/Point.d.ts +0 -7
  1302. package/Core/Utils/QuadTree.d.ts +0 -23
  1303. package/Core/Utils/QuadTree.js +0 -78
  1304. package/Core/Utils/Range.d.ts +0 -7
  1305. package/Core/Utils/Rectangle.d.ts +0 -8
  1306. package/Core/Utils/Rectangle.js +0 -38
  1307. package/Core/Utils/Vector.d.ts +0 -29
  1308. package/Core/Utils/Vector.js +0 -96
  1309. package/Core/Utils/Vector3d.d.ts +0 -18
  1310. package/Core/Utils/Vector3d.js +0 -58
  1311. package/Core/Utils/index.d.ts +0 -16
  1312. package/Core/Utils/index.js +0 -28
  1313. package/Core/index.d.ts +0 -8
  1314. package/Core/index.js +0 -20
  1315. package/Enums/Directions/index.d.ts +0 -4
  1316. package/Enums/Directions/index.js +0 -16
  1317. package/Enums/Modes/index.d.ts +0 -10
  1318. package/Enums/Modes/index.js +0 -22
  1319. package/Enums/Types/OrbitType.d.ts +0 -4
  1320. package/Enums/Types/OrbitType.js +0 -2
  1321. package/Enums/Types/index.d.ts +0 -9
  1322. package/Enums/Types/index.js +0 -21
  1323. package/Enums/index.d.ts +0 -5
  1324. package/Enums/index.js +0 -17
  1325. package/Interactions/External/Attract/Attractor.d.ts +0 -11
  1326. package/Interactions/External/Attract/Attractor.js +0 -75
  1327. package/Interactions/External/Bounce/Bouncer.d.ts +0 -11
  1328. package/Interactions/External/Bounce/Bouncer.js +0 -67
  1329. package/Interactions/External/Bubble/Bubbler.d.ts +0 -16
  1330. package/Interactions/External/Bubble/Bubbler.js +0 -251
  1331. package/Interactions/External/Connect/Connector.d.ts +0 -8
  1332. package/Interactions/External/Connect/Connector.js +0 -41
  1333. package/Interactions/External/Grab/Grabber.d.ts +0 -8
  1334. package/Interactions/External/Grab/Grabber.js +0 -47
  1335. package/Interactions/External/Repulse/Repulser.d.ts +0 -12
  1336. package/Interactions/External/Repulse/Repulser.js +0 -98
  1337. package/Interactions/External/Trail/TrailMaker.d.ts +0 -10
  1338. package/Interactions/External/Trail/TrailMaker.js +0 -53
  1339. package/Interactions/Particles/Attract/Attractor.d.ts +0 -8
  1340. package/Interactions/Particles/Attract/Attractor.js +0 -30
  1341. package/Interactions/Particles/Collisions/Collider.d.ts +0 -10
  1342. package/Interactions/Particles/Collisions/Collider.js +0 -109
  1343. package/Interactions/Particles/Links/LinkInstance.d.ts +0 -10
  1344. package/Interactions/Particles/Links/LinkInstance.js +0 -124
  1345. package/Interactions/Particles/Links/LinkParticle.d.ts +0 -5
  1346. package/Interactions/Particles/Links/Linker.d.ts +0 -10
  1347. package/Interactions/Particles/Links/Linker.js +0 -105
  1348. package/Options/Classes/AnimatableColor.d.ts +0 -11
  1349. package/Options/Classes/AnimatableGradient.d.ts +0 -53
  1350. package/Options/Classes/AnimatableGradient.js +0 -146
  1351. package/Options/Classes/AnimationOptions.d.ts +0 -11
  1352. package/Options/Classes/AnimationOptions.js +0 -30
  1353. package/Options/Classes/Background/Background.d.ts +0 -14
  1354. package/Options/Classes/BackgroundMask/BackgroundMask.d.ts +0 -11
  1355. package/Options/Classes/BackgroundMask/BackgroundMaskCover.d.ts +0 -10
  1356. package/Options/Classes/ColorAnimation.d.ts +0 -12
  1357. package/Options/Classes/ColorAnimation.js +0 -34
  1358. package/Options/Classes/FullScreen/FullScreen.d.ts +0 -9
  1359. package/Options/Classes/HslAnimation.d.ts +0 -11
  1360. package/Options/Classes/Interactivity/Events/ClickEvent.d.ts +0 -10
  1361. package/Options/Classes/Interactivity/Events/DivEvent.d.ts +0 -18
  1362. package/Options/Classes/Interactivity/Events/Events.d.ts +0 -20
  1363. package/Options/Classes/Interactivity/Events/HoverEvent.d.ts +0 -12
  1364. package/Options/Classes/Interactivity/Events/Parallax.d.ts +0 -10
  1365. package/Options/Classes/Interactivity/Interactivity.d.ts +0 -15
  1366. package/Options/Classes/Interactivity/Modes/Attract.d.ts +0 -14
  1367. package/Options/Classes/Interactivity/Modes/Bounce.d.ts +0 -8
  1368. package/Options/Classes/Interactivity/Modes/Bubble.d.ts +0 -9
  1369. package/Options/Classes/Interactivity/Modes/BubbleBase.d.ts +0 -13
  1370. package/Options/Classes/Interactivity/Modes/BubbleDiv.d.ts +0 -11
  1371. package/Options/Classes/Interactivity/Modes/Connect.d.ts +0 -15
  1372. package/Options/Classes/Interactivity/Modes/ConnectLinks.d.ts +0 -8
  1373. package/Options/Classes/Interactivity/Modes/Grab.d.ts +0 -14
  1374. package/Options/Classes/Interactivity/Modes/GrabLinks.d.ts +0 -12
  1375. package/Options/Classes/Interactivity/Modes/Light.d.ts +0 -11
  1376. package/Options/Classes/Interactivity/Modes/LightArea.d.ts +0 -10
  1377. package/Options/Classes/Interactivity/Modes/LightGradient.d.ts +0 -10
  1378. package/Options/Classes/Interactivity/Modes/LightShadow.d.ts +0 -10
  1379. package/Options/Classes/Interactivity/Modes/Modes.d.ts +0 -29
  1380. package/Options/Classes/Interactivity/Modes/Push.d.ts +0 -12
  1381. package/Options/Classes/Interactivity/Modes/Remove.d.ts +0 -10
  1382. package/Options/Classes/Interactivity/Modes/Repulse.d.ts +0 -9
  1383. package/Options/Classes/Interactivity/Modes/RepulseBase.d.ts +0 -14
  1384. package/Options/Classes/Interactivity/Modes/RepulseDiv.d.ts +0 -11
  1385. package/Options/Classes/Interactivity/Modes/Slow.d.ts +0 -11
  1386. package/Options/Classes/Interactivity/Modes/Trail.d.ts +0 -12
  1387. package/Options/Classes/Interactivity/Modes/Trail.js +0 -29
  1388. package/Options/Classes/ManualParticle.d.ts +0 -10
  1389. package/Options/Classes/ManualParticle.js +0 -22
  1390. package/Options/Classes/Motion/Motion.d.ts +0 -10
  1391. package/Options/Classes/Motion/MotionReduce.d.ts +0 -9
  1392. package/Options/Classes/Options.d.ts +0 -48
  1393. package/Options/Classes/Options.js +0 -174
  1394. package/Options/Classes/OptionsColor.d.ts +0 -10
  1395. package/Options/Classes/Particles/Bounce/Bounce.d.ts +0 -10
  1396. package/Options/Classes/Particles/Collisions/Collisions.d.ts +0 -14
  1397. package/Options/Classes/Particles/Collisions/CollisionsOverlap.d.ts +0 -9
  1398. package/Options/Classes/Particles/Destroy/Destroy.d.ts +0 -11
  1399. package/Options/Classes/Particles/Destroy/Split.d.ts +0 -15
  1400. package/Options/Classes/Particles/Destroy/Split.js +0 -31
  1401. package/Options/Classes/Particles/Life/Life.d.ts +0 -12
  1402. package/Options/Classes/Particles/Life/LifeDelay.d.ts +0 -9
  1403. package/Options/Classes/Particles/Life/LifeDuration.d.ts +0 -9
  1404. package/Options/Classes/Particles/Links/Links.d.ts +0 -22
  1405. package/Options/Classes/Particles/Links/LinksShadow.d.ts +0 -11
  1406. package/Options/Classes/Particles/Links/LinksTriangle.d.ts +0 -12
  1407. package/Options/Classes/Particles/Move/Attract.d.ts +0 -15
  1408. package/Options/Classes/Particles/Move/Attract.js +0 -47
  1409. package/Options/Classes/Particles/Move/Move.d.ts +0 -44
  1410. package/Options/Classes/Particles/Move/Move.js +0 -132
  1411. package/Options/Classes/Particles/Move/MoveAngle.d.ts +0 -9
  1412. package/Options/Classes/Particles/Move/MoveAngle.js +0 -22
  1413. package/Options/Classes/Particles/Move/MoveGravity.d.ts +0 -11
  1414. package/Options/Classes/Particles/Move/MoveGravity.js +0 -30
  1415. package/Options/Classes/Particles/Move/OutModes.d.ts +0 -13
  1416. package/Options/Classes/Particles/Move/Path/Path.d.ts +0 -13
  1417. package/Options/Classes/Particles/Move/Path/Path.js +0 -30
  1418. package/Options/Classes/Particles/Move/Spin.d.ts +0 -11
  1419. package/Options/Classes/Particles/Move/Spin.js +0 -23
  1420. package/Options/Classes/Particles/Move/Trail.d.ts +0 -11
  1421. package/Options/Classes/Particles/Number/Density.d.ts +0 -12
  1422. package/Options/Classes/Particles/Number/ParticlesNumber.d.ts +0 -13
  1423. package/Options/Classes/Particles/Opacity/Opacity.d.ts +0 -12
  1424. package/Options/Classes/Particles/Opacity/Opacity.js +0 -33
  1425. package/Options/Classes/Particles/Opacity/OpacityAnimation.d.ts +0 -14
  1426. package/Options/Classes/Particles/Orbit/Orbit.d.ts +0 -18
  1427. package/Options/Classes/Particles/Orbit/Orbit.js +0 -39
  1428. package/Options/Classes/Particles/Orbit/OrbitRotation.d.ts +0 -7
  1429. package/Options/Classes/Particles/ParticlesOptions.d.ts +0 -58
  1430. package/Options/Classes/Particles/ParticlesOptions.js +0 -143
  1431. package/Options/Classes/Particles/Repulse/Repulse.d.ts +0 -13
  1432. package/Options/Classes/Particles/Repulse/Repulse.js +0 -37
  1433. package/Options/Classes/Particles/Roll/Roll.d.ts +0 -16
  1434. package/Options/Classes/Particles/Roll/Roll.js +0 -35
  1435. package/Options/Classes/Particles/Roll/RollLight.d.ts +0 -9
  1436. package/Options/Classes/Particles/Roll/RollLight.js +0 -22
  1437. package/Options/Classes/Particles/Rotate/Rotate.d.ts +0 -13
  1438. package/Options/Classes/Particles/Rotate/RotateAnimation.d.ts +0 -10
  1439. package/Options/Classes/Particles/Rotate/RotateAnimation.js +0 -26
  1440. package/Options/Classes/Particles/Shadow.d.ts +0 -13
  1441. package/Options/Classes/Particles/Shape/Shape.d.ts +0 -27
  1442. package/Options/Classes/Particles/Shape/Shape.js +0 -103
  1443. package/Options/Classes/Particles/Size/Size.d.ts +0 -12
  1444. package/Options/Classes/Particles/Size/Size.js +0 -33
  1445. package/Options/Classes/Particles/Size/SizeAnimation.d.ts +0 -14
  1446. package/Options/Classes/Particles/Stroke.d.ts +0 -11
  1447. package/Options/Classes/Particles/Tilt/Tilt.d.ts +0 -13
  1448. package/Options/Classes/Particles/Tilt/TiltAnimation.d.ts +0 -10
  1449. package/Options/Classes/Particles/Tilt/TiltAnimation.js +0 -26
  1450. package/Options/Classes/Particles/Twinkle/Twinkle.d.ts +0 -10
  1451. package/Options/Classes/Particles/Twinkle/TwinkleValues.d.ts +0 -12
  1452. package/Options/Classes/Particles/Twinkle/TwinkleValues.js +0 -30
  1453. package/Options/Classes/Particles/Wobble/Wobble.d.ts +0 -10
  1454. package/Options/Classes/Particles/Wobble/Wobble.js +0 -26
  1455. package/Options/Classes/Particles/ZIndex/ZIndex.d.ts +0 -11
  1456. package/Options/Classes/Random.d.ts +0 -9
  1457. package/Options/Classes/Responsive.d.ts +0 -12
  1458. package/Options/Classes/Responsive.js +0 -31
  1459. package/Options/Classes/Theme/Theme.d.ts +0 -12
  1460. package/Options/Classes/Theme/Theme.js +0 -24
  1461. package/Options/Classes/Theme/ThemeDefault.d.ts +0 -11
  1462. package/Options/Classes/ValueWithRandom.d.ts +0 -10
  1463. package/Options/Classes/ValueWithRandom.js +0 -26
  1464. package/Options/Interfaces/BackgroundMask/IBackgroundMask.d.ts +0 -7
  1465. package/Options/Interfaces/IAnimatableGradient.d.ts +0 -8
  1466. package/Options/Interfaces/IAnimation.d.ts +0 -7
  1467. package/Options/Interfaces/IColorAnimation.d.ts +0 -5
  1468. package/Options/Interfaces/IManualParticle.d.ts +0 -7
  1469. package/Options/Interfaces/IOptionLoader.d.ts +0 -4
  1470. package/Options/Interfaces/IOptions.d.ts +0 -34
  1471. package/Options/Interfaces/IOptionsColor.d.ts +0 -2
  1472. package/Options/Interfaces/IOptionsGradient.d.ts +0 -13
  1473. package/Options/Interfaces/IResponsive.d.ts +0 -8
  1474. package/Options/Interfaces/IValueWithRandom.d.ts +0 -6
  1475. package/Options/Interfaces/Interactivity/Events/IClickEvent.d.ts +0 -6
  1476. package/Options/Interfaces/Interactivity/Events/IDivEvent.d.ts +0 -11
  1477. package/Options/Interfaces/Interactivity/Events/IEvents.d.ts +0 -13
  1478. package/Options/Interfaces/Interactivity/Events/IHoverEvent.d.ts +0 -8
  1479. package/Options/Interfaces/Interactivity/IInteractivity.d.ts +0 -9
  1480. package/Options/Interfaces/Interactivity/Modes/IAttract.d.ts +0 -9
  1481. package/Options/Interfaces/Interactivity/Modes/IBubble.d.ts +0 -6
  1482. package/Options/Interfaces/Interactivity/Modes/IBubbleBase.d.ts +0 -10
  1483. package/Options/Interfaces/Interactivity/Modes/IModeDiv.d.ts +0 -5
  1484. package/Options/Interfaces/Interactivity/Modes/IRepulse.d.ts +0 -6
  1485. package/Options/Interfaces/Interactivity/Modes/IRepulseBase.d.ts +0 -9
  1486. package/Options/Interfaces/Interactivity/Modes/ITrail.d.ts +0 -8
  1487. package/Options/Interfaces/Particles/Collisions/ICollisions.d.ts +0 -9
  1488. package/Options/Interfaces/Particles/Destroy/IDestroy.d.ts +0 -6
  1489. package/Options/Interfaces/Particles/Destroy/ISplit.d.ts +0 -10
  1490. package/Options/Interfaces/Particles/IParticles.d.ts +0 -52
  1491. package/Options/Interfaces/Particles/IStroke.d.ts +0 -7
  1492. package/Options/Interfaces/Particles/Move/IAttract.d.ts +0 -9
  1493. package/Options/Interfaces/Particles/Move/IMove.d.ts +0 -35
  1494. package/Options/Interfaces/Particles/Move/IMoveAngle.d.ts +0 -5
  1495. package/Options/Interfaces/Particles/Move/IMoveGravity.d.ts +0 -7
  1496. package/Options/Interfaces/Particles/Move/IOutModes.d.ts +0 -8
  1497. package/Options/Interfaces/Particles/Move/ISpin.d.ts +0 -7
  1498. package/Options/Interfaces/Particles/Move/Path/IPath.d.ts +0 -9
  1499. package/Options/Interfaces/Particles/Opacity/IOpacityAnimation.d.ts +0 -8
  1500. package/Options/Interfaces/Particles/Orbit/IOrbit.d.ts +0 -13
  1501. package/Options/Interfaces/Particles/Repulse/IRepulse.d.ts +0 -9
  1502. package/Options/Interfaces/Particles/Roll/IRoll.d.ts +0 -12
  1503. package/Options/Interfaces/Particles/Roll/IRollLight.d.ts +0 -5
  1504. package/Options/Interfaces/Particles/Rotate/IRotate.d.ts +0 -8
  1505. package/Options/Interfaces/Particles/Rotate/IRotateAnimation.d.ts +0 -6
  1506. package/Options/Interfaces/Particles/Shape/ICharacterShape.d.ts +0 -8
  1507. package/Options/Interfaces/Particles/Shape/IShape.d.ts +0 -16
  1508. package/Options/Interfaces/Particles/Shape/IShapeValues.js +0 -13
  1509. package/Options/Interfaces/Particles/Size/ISizeAnimation.d.ts +0 -8
  1510. package/Options/Interfaces/Particles/Tilt/ITilt.d.ts +0 -8
  1511. package/Options/Interfaces/Particles/Tilt/ITiltAnimation.d.ts +0 -6
  1512. package/Options/Interfaces/Particles/Twinkle/ITwinkleValues.d.ts +0 -8
  1513. package/Options/Interfaces/Particles/Wobble/IWobble.d.ts +0 -6
  1514. package/Options/Interfaces/Theme/ITheme.d.ts +0 -8
  1515. package/Options/Interfaces/Theme/IThemeDefault.d.ts +0 -6
  1516. package/Plugins/Absorbers/AbsorberContainer.d.ts +0 -7
  1517. package/Plugins/Absorbers/AbsorberInstance.d.ts +0 -33
  1518. package/Plugins/Absorbers/AbsorberInstance.js +0 -162
  1519. package/Plugins/Absorbers/Absorbers.d.ts +0 -22
  1520. package/Plugins/Absorbers/Absorbers.js +0 -118
  1521. package/Plugins/Absorbers/Enums/index.d.ts +0 -1
  1522. package/Plugins/Absorbers/Enums/index.js +0 -13
  1523. package/Plugins/Absorbers/Options/Classes/Absorber.d.ts +0 -18
  1524. package/Plugins/Absorbers/Options/Classes/Absorber.js +0 -51
  1525. package/Plugins/Absorbers/Options/Classes/AbsorberSize.d.ts +0 -11
  1526. package/Plugins/Absorbers/Options/Classes/AbsorberSizeLimit.d.ts +0 -9
  1527. package/Plugins/Absorbers/Options/Interfaces/IAbsorber.d.ts +0 -13
  1528. package/Plugins/Absorbers/Options/Interfaces/IAbsorberOptions.d.ts +0 -12
  1529. package/Plugins/Absorbers/index.d.ts +0 -2
  1530. package/Plugins/Absorbers/index.js +0 -80
  1531. package/Plugins/Emitters/EmitterContainer.d.ts +0 -10
  1532. package/Plugins/Emitters/EmitterInstance.d.ts +0 -45
  1533. package/Plugins/Emitters/EmitterInstance.js +0 -269
  1534. package/Plugins/Emitters/Emitters.d.ts +0 -25
  1535. package/Plugins/Emitters/Emitters.js +0 -153
  1536. package/Plugins/Emitters/Enums/index.d.ts +0 -2
  1537. package/Plugins/Emitters/Enums/index.js +0 -14
  1538. package/Plugins/Emitters/IEmitterShape.d.ts +0 -4
  1539. package/Plugins/Emitters/Options/Classes/Emitter.d.ts +0 -28
  1540. package/Plugins/Emitters/Options/Classes/Emitter.js +0 -67
  1541. package/Plugins/Emitters/Options/Classes/EmitterLife.d.ts +0 -11
  1542. package/Plugins/Emitters/Options/Classes/EmitterRate.d.ts +0 -9
  1543. package/Plugins/Emitters/Options/Classes/EmitterRate.js +0 -22
  1544. package/Plugins/Emitters/Options/Classes/EmitterSize.d.ts +0 -11
  1545. package/Plugins/Emitters/Options/Interfaces/IEmitter.d.ts +0 -24
  1546. package/Plugins/Emitters/Options/Interfaces/IEmitterOptions.d.ts +0 -12
  1547. package/Plugins/Emitters/Options/Interfaces/IEmitterRate.d.ts +0 -5
  1548. package/Plugins/Emitters/Options/Interfaces/IEmitterSize.d.ts +0 -5
  1549. package/Plugins/Emitters/Shapes/Circle/CircleShape.d.ts +0 -5
  1550. package/Plugins/Emitters/Shapes/Circle/CircleShape.js +0 -32
  1551. package/Plugins/Emitters/Shapes/Square/SquareShape.d.ts +0 -5
  1552. package/Plugins/Emitters/index.d.ts +0 -3
  1553. package/Plugins/Emitters/index.js +0 -110
  1554. package/Plugins/PolygonMask/Enums/index.d.ts +0 -3
  1555. package/Plugins/PolygonMask/Enums/index.js +0 -15
  1556. package/Plugins/PolygonMask/Options/Classes/PolygonMask.d.ts +0 -24
  1557. package/Plugins/PolygonMask/Options/Classes/PolygonMask.js +0 -66
  1558. package/Plugins/PolygonMask/Options/Classes/PolygonMaskDraw.d.ts +0 -15
  1559. package/Plugins/PolygonMask/Options/Classes/PolygonMaskDrawStroke.d.ts +0 -11
  1560. package/Plugins/PolygonMask/Options/Classes/PolygonMaskDrawStroke.js +0 -29
  1561. package/Plugins/PolygonMask/Options/Classes/PolygonMaskInline.d.ts +0 -9
  1562. package/Plugins/PolygonMask/Options/Classes/PolygonMaskLocalSvg.d.ts +0 -11
  1563. package/Plugins/PolygonMask/Options/Classes/PolygonMaskMove.d.ts +0 -10
  1564. package/Plugins/PolygonMask/Options/Interfaces/IPolygonMask.d.ts +0 -18
  1565. package/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskDraw.d.ts +0 -8
  1566. package/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskDrawStroke.d.ts +0 -6
  1567. package/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskInline.d.ts +0 -4
  1568. package/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskLocalSvg.d.ts +0 -6
  1569. package/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskMove.d.ts +0 -5
  1570. package/Plugins/PolygonMask/PolygonMaskInstance.d.ts +0 -38
  1571. package/Plugins/PolygonMask/PolygonMaskInstance.js +0 -386
  1572. package/Plugins/PolygonMask/Utils.d.ts +0 -11
  1573. package/Plugins/PolygonMask/Utils.js +0 -124
  1574. package/Plugins/PolygonMask/index.d.ts +0 -2
  1575. package/Plugins/PolygonMask/index.js +0 -56
  1576. package/Shapes/Circle/CircleDrawer.d.ts +0 -5
  1577. package/Shapes/Image/ImageDrawer.d.ts +0 -18
  1578. package/Shapes/Image/ImageDrawer.js +0 -132
  1579. package/Shapes/Image/Utils.d.ts +0 -28
  1580. package/Shapes/Image/Utils.js +0 -89
  1581. package/Shapes/Line/LineDrawer.d.ts +0 -5
  1582. package/Shapes/Polygon/PolygonDrawer.d.ts +0 -7
  1583. package/Shapes/Polygon/PolygonDrawerBase.d.ts +0 -15
  1584. package/Shapes/Polygon/TriangleDrawer.d.ts +0 -8
  1585. package/Shapes/Square/SquareDrawer.d.ts +0 -5
  1586. package/Shapes/Star/StarDrawer.d.ts +0 -5
  1587. package/Shapes/Text/TextDrawer.d.ts +0 -7
  1588. package/Shapes/Text/TextDrawer.js +0 -65
  1589. package/Types/ShapeData.d.ts +0 -5
  1590. package/Types/ShapeDrawerFunctions.d.ts +0 -11
  1591. package/Types/index.d.ts +0 -6
  1592. package/Types/index.js +0 -18
  1593. package/Updaters/Angle/AngleUpdater.d.ts +0 -8
  1594. package/Updaters/Angle/AngleUpdater.js +0 -79
  1595. package/Updaters/Color/ColorUpdater.d.ts +0 -8
  1596. package/Updaters/Color/ColorUpdater.js +0 -67
  1597. package/Updaters/Life/LifeUpdater.d.ts +0 -8
  1598. package/Updaters/Life/LifeUpdater.js +0 -67
  1599. package/Updaters/Opacity/OpacityUpdater.d.ts +0 -8
  1600. package/Updaters/Opacity/OpacityUpdater.js +0 -122
  1601. package/Updaters/OutModes/IBounceData.d.ts +0 -11
  1602. package/Updaters/OutModes/OutOfCanvasUpdater.d.ts +0 -13
  1603. package/Updaters/OutModes/OutOfCanvasUpdater.js +0 -146
  1604. package/Updaters/OutModes/Utils.js +0 -65
  1605. package/Updaters/Roll/RollUpdater.d.ts +0 -6
  1606. package/Updaters/Roll/RollUpdater.js +0 -63
  1607. package/Updaters/Size/SizeUpdater.d.ts +0 -6
  1608. package/Updaters/Size/SizeUpdater.js +0 -77
  1609. package/Updaters/StrokeColor/StrokeColorUpdater.d.ts +0 -8
  1610. package/Updaters/StrokeColor/StrokeColorUpdater.js +0 -84
  1611. package/Updaters/Tilt/TiltUpdater.d.ts +0 -8
  1612. package/Updaters/Tilt/TiltUpdater.js +0 -79
  1613. package/Updaters/Wobble/WobbleUpdater.d.ts +0 -14
  1614. package/Updaters/Wobble/WobbleUpdater.js +0 -51
  1615. package/Utils/CanvasUtils.d.ts +0 -19
  1616. package/Utils/CanvasUtils.js +0 -287
  1617. package/Utils/ColorUtils.d.ts +0 -26
  1618. package/Utils/ColorUtils.js +0 -476
  1619. package/Utils/NumberUtils.d.ts +0 -23
  1620. package/Utils/NumberUtils.js +0 -128
  1621. package/Utils/Utils.d.ts +0 -38
  1622. package/Utils/Utils.js +0 -269
  1623. package/Utils/index.d.ts +0 -4
  1624. package/Utils/index.js +0 -16
  1625. package/browser/Core/Canvas.d.ts +0 -64
  1626. package/browser/Core/Container.d.ts +0 -163
  1627. package/browser/Core/Interfaces/Colors.d.ts +0 -56
  1628. package/browser/Core/Interfaces/Gradients.d.ts +0 -21
  1629. package/browser/Core/Interfaces/IAttract.d.ts +0 -10
  1630. package/browser/Core/Interfaces/IBounds.d.ts +0 -9
  1631. package/browser/Core/Interfaces/IBubble.d.ts +0 -7
  1632. package/browser/Core/Interfaces/IBubbleParticleData.d.ts +0 -12
  1633. package/browser/Core/Interfaces/ICircleBouncer.d.ts +0 -9
  1634. package/browser/Core/Interfaces/IContainerInteractivity.d.ts +0 -9
  1635. package/browser/Core/Interfaces/IContainerPlugin.d.ts +0 -35
  1636. package/browser/Core/Interfaces/ICoordinates.d.ts +0 -18
  1637. package/browser/Core/Interfaces/IDelta.d.ts +0 -7
  1638. package/browser/Core/Interfaces/IDimension.d.ts +0 -7
  1639. package/browser/Core/Interfaces/IDistance.d.ts +0 -4
  1640. package/browser/Core/Interfaces/IExternalInteractor.d.ts +0 -9
  1641. package/browser/Core/Interfaces/IInteractor.d.ts +0 -9
  1642. package/browser/Core/Interfaces/IMouseData.d.ts +0 -12
  1643. package/browser/Core/Interfaces/IMovePathGenerator.d.ts +0 -11
  1644. package/browser/Core/Interfaces/IParticle.d.ts +0 -58
  1645. package/browser/Core/Interfaces/IParticleGradientAnimation.d.ts +0 -8
  1646. package/browser/Core/Interfaces/IParticleGradientColorAnimation.d.ts +0 -7
  1647. package/browser/Core/Interfaces/IParticleGravity.d.ts +0 -5
  1648. package/browser/Core/Interfaces/IParticleHslAnimation.d.ts +0 -6
  1649. package/browser/Core/Interfaces/IParticleLife.d.ts +0 -7
  1650. package/browser/Core/Interfaces/IParticleLoops.d.ts +0 -4
  1651. package/browser/Core/Interfaces/IParticleRetinaProps.d.ts +0 -12
  1652. package/browser/Core/Interfaces/IParticleRoll.d.ts +0 -9
  1653. package/browser/Core/Interfaces/IParticleSpin.d.ts +0 -9
  1654. package/browser/Core/Interfaces/IParticleUpdater.d.ts +0 -9
  1655. package/browser/Core/Interfaces/IParticleValueAnimation.d.ts +0 -20
  1656. package/browser/Core/Interfaces/IParticleWobble.d.ts +0 -4
  1657. package/browser/Core/Interfaces/IParticlesFrequencies.d.ts +0 -4
  1658. package/browser/Core/Interfaces/IParticlesInteractor.d.ts +0 -10
  1659. package/browser/Core/Interfaces/IPlugin.d.ts +0 -19
  1660. package/browser/Core/Interfaces/IRangeValue.d.ts +0 -4
  1661. package/browser/Core/Interfaces/IRectSideResult.d.ts +0 -5
  1662. package/browser/Core/Interfaces/IRepulse.d.ts +0 -10
  1663. package/browser/Core/Interfaces/IShapeDrawer.d.ts +0 -13
  1664. package/browser/Core/Interfaces/IShapeValues.d.ts +0 -11
  1665. package/browser/Core/Interfaces/index.d.ts +0 -37
  1666. package/browser/Core/Interfaces/index.js +0 -37
  1667. package/browser/Core/Loader.d.ts +0 -77
  1668. package/browser/Core/Particle.d.ts +0 -80
  1669. package/browser/Core/Particles.d.ts +0 -59
  1670. package/browser/Core/Retina.d.ts +0 -32
  1671. package/browser/Core/Utils/Circle.d.ts +0 -11
  1672. package/browser/Core/Utils/CircleWarp.d.ts +0 -12
  1673. package/browser/Core/Utils/Constants.d.ts +0 -22
  1674. package/browser/Core/Utils/EventListeners.d.ts +0 -65
  1675. package/browser/Core/Utils/ExternalInteractorBase.d.ts +0 -12
  1676. package/browser/Core/Utils/FrameManager.d.ts +0 -14
  1677. package/browser/Core/Utils/InteractionManager.d.ts +0 -17
  1678. package/browser/Core/Utils/ParticlesInteractorBase.d.ts +0 -12
  1679. package/browser/Core/Utils/ParticlesMover.d.ts +0 -16
  1680. package/browser/Core/Utils/ParticlesMover.js +0 -187
  1681. package/browser/Core/Utils/Plugins.d.ts +0 -39
  1682. package/browser/Core/Utils/Point.d.ts +0 -10
  1683. package/browser/Core/Utils/QuadTree.d.ts +0 -26
  1684. package/browser/Core/Utils/Range.d.ts +0 -10
  1685. package/browser/Core/Utils/Rectangle.d.ts +0 -11
  1686. package/browser/Core/Utils/Vector.d.ts +0 -29
  1687. package/browser/Core/Utils/Vector3d.d.ts +0 -18
  1688. package/browser/Core/Utils/index.d.ts +0 -16
  1689. package/browser/Core/Utils/index.js +0 -16
  1690. package/browser/Core/index.d.ts +0 -8
  1691. package/browser/Core/index.js +0 -8
  1692. package/browser/Enums/AnimationStatus.d.ts +0 -4
  1693. package/browser/Enums/Directions/MoveDirection.d.ts +0 -15
  1694. package/browser/Enums/Directions/OutModeDirection.d.ts +0 -6
  1695. package/browser/Enums/Directions/RotateDirection.d.ts +0 -9
  1696. package/browser/Enums/Directions/TiltDirection.d.ts +0 -9
  1697. package/browser/Enums/Directions/index.d.ts +0 -4
  1698. package/browser/Enums/Directions/index.js +0 -4
  1699. package/browser/Enums/InteractivityDetect.d.ts +0 -8
  1700. package/browser/Enums/Modes/ClickMode.d.ts +0 -12
  1701. package/browser/Enums/Modes/CollisionMode.d.ts +0 -8
  1702. package/browser/Enums/Modes/DestroyMode.d.ts +0 -4
  1703. package/browser/Enums/Modes/DivMode.d.ts +0 -8
  1704. package/browser/Enums/Modes/HoverMode.d.ts +0 -14
  1705. package/browser/Enums/Modes/OutMode.d.ts +0 -13
  1706. package/browser/Enums/Modes/ResponsiveMode.d.ts +0 -4
  1707. package/browser/Enums/Modes/RollMode.d.ts +0 -5
  1708. package/browser/Enums/Modes/SizeMode.d.ts +0 -7
  1709. package/browser/Enums/Modes/ThemeMode.d.ts +0 -5
  1710. package/browser/Enums/Modes/index.d.ts +0 -10
  1711. package/browser/Enums/Modes/index.js +0 -10
  1712. package/browser/Enums/Types/AlterType.d.ts +0 -4
  1713. package/browser/Enums/Types/DestroyType.d.ts +0 -8
  1714. package/browser/Enums/Types/DivType.d.ts +0 -7
  1715. package/browser/Enums/Types/EasingType.d.ts +0 -10
  1716. package/browser/Enums/Types/GradientType.d.ts +0 -5
  1717. package/browser/Enums/Types/InteractorType.d.ts +0 -4
  1718. package/browser/Enums/Types/OrbitType.d.ts +0 -7
  1719. package/browser/Enums/Types/ShapeType.d.ts +0 -16
  1720. package/browser/Enums/Types/StartValueType.d.ts +0 -8
  1721. package/browser/Enums/Types/index.d.ts +0 -9
  1722. package/browser/Enums/Types/index.js +0 -9
  1723. package/browser/Enums/index.d.ts +0 -5
  1724. package/browser/Enums/index.js +0 -5
  1725. package/browser/Interactions/External/Attract/Attractor.d.ts +0 -15
  1726. package/browser/Interactions/External/Attract/index.d.ts +0 -2
  1727. package/browser/Interactions/External/Bounce/Bouncer.d.ts +0 -11
  1728. package/browser/Interactions/External/Bounce/index.d.ts +0 -2
  1729. package/browser/Interactions/External/Bubble/Bubbler.d.ts +0 -20
  1730. package/browser/Interactions/External/Bubble/IBubblerProcessParam.d.ts +0 -16
  1731. package/browser/Interactions/External/Bubble/ProcessBubbleType.d.ts +0 -8
  1732. package/browser/Interactions/External/Bubble/index.d.ts +0 -2
  1733. package/browser/Interactions/External/Connect/Connector.d.ts +0 -15
  1734. package/browser/Interactions/External/Connect/index.d.ts +0 -2
  1735. package/browser/Interactions/External/Grab/Grabber.d.ts +0 -12
  1736. package/browser/Interactions/External/Grab/index.d.ts +0 -2
  1737. package/browser/Interactions/External/Repulse/Repulser.d.ts +0 -16
  1738. package/browser/Interactions/External/Repulse/index.d.ts +0 -2
  1739. package/browser/Interactions/External/Trail/TrailMaker.d.ts +0 -13
  1740. package/browser/Interactions/External/Trail/index.d.ts +0 -2
  1741. package/browser/Interactions/Particles/Attract/Attractor.d.ts +0 -11
  1742. package/browser/Interactions/Particles/Attract/index.d.ts +0 -2
  1743. package/browser/Interactions/Particles/Collisions/Collider.d.ts +0 -13
  1744. package/browser/Interactions/Particles/Collisions/index.d.ts +0 -2
  1745. package/browser/Interactions/Particles/Links/ILink.d.ts +0 -15
  1746. package/browser/Interactions/Particles/Links/LinkInstance.d.ts +0 -10
  1747. package/browser/Interactions/Particles/Links/LinkParticle.d.ts +0 -5
  1748. package/browser/Interactions/Particles/Links/Linker.d.ts +0 -10
  1749. package/browser/Interactions/Particles/Links/index.d.ts +0 -2
  1750. package/browser/Interactions/Particles/Links/interaction.d.ts +0 -2
  1751. package/browser/Interactions/Particles/Links/plugin.d.ts +0 -2
  1752. package/browser/Options/Classes/AnimatableColor.d.ts +0 -15
  1753. package/browser/Options/Classes/AnimatableGradient.d.ts +0 -53
  1754. package/browser/Options/Classes/AnimationOptions.d.ts +0 -11
  1755. package/browser/Options/Classes/Background/Background.d.ts +0 -18
  1756. package/browser/Options/Classes/BackgroundMask/BackgroundMask.d.ts +0 -25
  1757. package/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.d.ts +0 -13
  1758. package/browser/Options/Classes/ColorAnimation.d.ts +0 -15
  1759. package/browser/Options/Classes/FullScreen/FullScreen.d.ts +0 -25
  1760. package/browser/Options/Classes/HslAnimation.d.ts +0 -11
  1761. package/browser/Options/Classes/Interactivity/Events/ClickEvent.d.ts +0 -20
  1762. package/browser/Options/Classes/Interactivity/Events/DivEvent.d.ts +0 -55
  1763. package/browser/Options/Classes/Interactivity/Events/Events.d.ts +0 -51
  1764. package/browser/Options/Classes/Interactivity/Events/HoverEvent.d.ts +0 -16
  1765. package/browser/Options/Classes/Interactivity/Events/Parallax.d.ts +0 -13
  1766. package/browser/Options/Classes/Interactivity/Interactivity.d.ts +0 -28
  1767. package/browser/Options/Classes/Interactivity/Modes/Attract.d.ts +0 -17
  1768. package/browser/Options/Classes/Interactivity/Modes/Bounce.d.ts +0 -8
  1769. package/browser/Options/Classes/Interactivity/Modes/Bubble.d.ts +0 -12
  1770. package/browser/Options/Classes/Interactivity/Modes/BubbleBase.d.ts +0 -16
  1771. package/browser/Options/Classes/Interactivity/Modes/BubbleDiv.d.ts +0 -20
  1772. package/browser/Options/Classes/Interactivity/Modes/Connect.d.ts +0 -36
  1773. package/browser/Options/Classes/Interactivity/Modes/ConnectLinks.d.ts +0 -11
  1774. package/browser/Options/Classes/Interactivity/Modes/Grab.d.ts +0 -35
  1775. package/browser/Options/Classes/Interactivity/Modes/GrabLinks.d.ts +0 -15
  1776. package/browser/Options/Classes/Interactivity/Modes/Light.d.ts +0 -11
  1777. package/browser/Options/Classes/Interactivity/Modes/LightArea.d.ts +0 -10
  1778. package/browser/Options/Classes/Interactivity/Modes/LightGradient.d.ts +0 -10
  1779. package/browser/Options/Classes/Interactivity/Modes/LightShadow.d.ts +0 -10
  1780. package/browser/Options/Classes/Interactivity/Modes/Modes.d.ts +0 -33
  1781. package/browser/Options/Classes/Interactivity/Modes/Push.d.ts +0 -24
  1782. package/browser/Options/Classes/Interactivity/Modes/Remove.d.ts +0 -22
  1783. package/browser/Options/Classes/Interactivity/Modes/Repulse.d.ts +0 -12
  1784. package/browser/Options/Classes/Interactivity/Modes/RepulseBase.d.ts +0 -17
  1785. package/browser/Options/Classes/Interactivity/Modes/RepulseDiv.d.ts +0 -20
  1786. package/browser/Options/Classes/Interactivity/Modes/Slow.d.ts +0 -20
  1787. package/browser/Options/Classes/Interactivity/Modes/Trail.d.ts +0 -15
  1788. package/browser/Options/Classes/ManualParticle.d.ts +0 -10
  1789. package/browser/Options/Classes/Motion/Motion.d.ts +0 -21
  1790. package/browser/Options/Classes/Motion/MotionReduce.d.ts +0 -18
  1791. package/browser/Options/Classes/Options.d.ts +0 -78
  1792. package/browser/Options/Classes/OptionsColor.d.ts +0 -14
  1793. package/browser/Options/Classes/Particles/Bounce/Bounce.d.ts +0 -10
  1794. package/browser/Options/Classes/Particles/Bounce/BounceFactor.d.ts +0 -4
  1795. package/browser/Options/Classes/Particles/Collisions/Collisions.d.ts +0 -18
  1796. package/browser/Options/Classes/Particles/Collisions/CollisionsOverlap.d.ts +0 -9
  1797. package/browser/Options/Classes/Particles/Destroy/Destroy.d.ts +0 -11
  1798. package/browser/Options/Classes/Particles/Destroy/Split.d.ts +0 -15
  1799. package/browser/Options/Classes/Particles/Destroy/SplitFactor.d.ts +0 -4
  1800. package/browser/Options/Classes/Particles/Destroy/SplitRate.d.ts +0 -4
  1801. package/browser/Options/Classes/Particles/Life/Life.d.ts +0 -12
  1802. package/browser/Options/Classes/Particles/Life/LifeDelay.d.ts +0 -9
  1803. package/browser/Options/Classes/Particles/Life/LifeDuration.d.ts +0 -9
  1804. package/browser/Options/Classes/Particles/Links/Links.d.ts +0 -26
  1805. package/browser/Options/Classes/Particles/Links/LinksShadow.d.ts +0 -14
  1806. package/browser/Options/Classes/Particles/Links/LinksTriangle.d.ts +0 -15
  1807. package/browser/Options/Classes/Particles/Move/Attract.d.ts +0 -36
  1808. package/browser/Options/Classes/Particles/Move/Move.d.ts +0 -86
  1809. package/browser/Options/Classes/Particles/Move/MoveAngle.d.ts +0 -12
  1810. package/browser/Options/Classes/Particles/Move/MoveGravity.d.ts +0 -11
  1811. package/browser/Options/Classes/Particles/Move/OutModes.d.ts +0 -13
  1812. package/browser/Options/Classes/Particles/Move/Path/Path.d.ts +0 -16
  1813. package/browser/Options/Classes/Particles/Move/Path/PathDelay.d.ts +0 -4
  1814. package/browser/Options/Classes/Particles/Move/Spin.d.ts +0 -11
  1815. package/browser/Options/Classes/Particles/Move/Trail.d.ts +0 -14
  1816. package/browser/Options/Classes/Particles/Number/Density.d.ts +0 -24
  1817. package/browser/Options/Classes/Particles/Number/ParticlesNumber.d.ts +0 -23
  1818. package/browser/Options/Classes/Particles/Opacity/Opacity.d.ts +0 -25
  1819. package/browser/Options/Classes/Particles/Opacity/OpacityAnimation.d.ts +0 -29
  1820. package/browser/Options/Classes/Particles/Orbit/Orbit.d.ts +0 -22
  1821. package/browser/Options/Classes/Particles/Orbit/OrbitRotation.d.ts +0 -10
  1822. package/browser/Options/Classes/Particles/ParticlesOptions.d.ts +0 -80
  1823. package/browser/Options/Classes/Particles/Repulse/Repulse.d.ts +0 -16
  1824. package/browser/Options/Classes/Particles/Roll/Roll.d.ts +0 -16
  1825. package/browser/Options/Classes/Particles/Roll/RollLight.d.ts +0 -9
  1826. package/browser/Options/Classes/Particles/Rotate/Rotate.d.ts +0 -17
  1827. package/browser/Options/Classes/Particles/Rotate/RotateAnimation.d.ts +0 -13
  1828. package/browser/Options/Classes/Particles/Shadow.d.ts +0 -17
  1829. package/browser/Options/Classes/Particles/Shape/Shape.d.ts +0 -69
  1830. package/browser/Options/Classes/Particles/Size/Size.d.ts +0 -25
  1831. package/browser/Options/Classes/Particles/Size/SizeAnimation.d.ts +0 -29
  1832. package/browser/Options/Classes/Particles/Stroke.d.ts +0 -15
  1833. package/browser/Options/Classes/Particles/Tilt/Tilt.d.ts +0 -17
  1834. package/browser/Options/Classes/Particles/Tilt/TiltAnimation.d.ts +0 -13
  1835. package/browser/Options/Classes/Particles/Twinkle/Twinkle.d.ts +0 -14
  1836. package/browser/Options/Classes/Particles/Twinkle/TwinkleValues.d.ts +0 -15
  1837. package/browser/Options/Classes/Particles/Wobble/Wobble.d.ts +0 -10
  1838. package/browser/Options/Classes/Particles/ZIndex/ZIndex.d.ts +0 -14
  1839. package/browser/Options/Classes/Random.d.ts +0 -9
  1840. package/browser/Options/Classes/Responsive.d.ts +0 -12
  1841. package/browser/Options/Classes/Theme/Theme.d.ts +0 -12
  1842. package/browser/Options/Classes/Theme/ThemeDefault.d.ts +0 -11
  1843. package/browser/Options/Classes/ValueWithRandom.d.ts +0 -13
  1844. package/browser/Options/Interfaces/Background/IBackground.d.ts +0 -44
  1845. package/browser/Options/Interfaces/BackgroundMask/IBackgroundMask.d.ts +0 -28
  1846. package/browser/Options/Interfaces/BackgroundMask/IBackgroundMaskCover.d.ts +0 -15
  1847. package/browser/Options/Interfaces/FullScreen/IFullScreen.d.ts +0 -20
  1848. package/browser/Options/Interfaces/IAnimatable.d.ts +0 -4
  1849. package/browser/Options/Interfaces/IAnimatableColor.d.ts +0 -14
  1850. package/browser/Options/Interfaces/IAnimatableGradient.d.ts +0 -8
  1851. package/browser/Options/Interfaces/IAnimation.d.ts +0 -17
  1852. package/browser/Options/Interfaces/IColorAnimation.d.ts +0 -12
  1853. package/browser/Options/Interfaces/IHslAnimation.d.ts +0 -6
  1854. package/browser/Options/Interfaces/IManualParticle.d.ts +0 -18
  1855. package/browser/Options/Interfaces/IOptionLoader.d.ts +0 -13
  1856. package/browser/Options/Interfaces/IOptions.d.ts +0 -105
  1857. package/browser/Options/Interfaces/IOptionsColor.d.ts +0 -7
  1858. package/browser/Options/Interfaces/IOptionsGradient.d.ts +0 -13
  1859. package/browser/Options/Interfaces/IRandom.d.ts +0 -4
  1860. package/browser/Options/Interfaces/IResponsive.d.ts +0 -8
  1861. package/browser/Options/Interfaces/IValueWithRandom.d.ts +0 -9
  1862. package/browser/Options/Interfaces/Interactivity/Events/IClickEvent.d.ts +0 -18
  1863. package/browser/Options/Interfaces/Interactivity/Events/IDivEvent.d.ts +0 -24
  1864. package/browser/Options/Interfaces/Interactivity/Events/IEvents.d.ts +0 -26
  1865. package/browser/Options/Interfaces/Interactivity/Events/IHoverEvent.d.ts +0 -12
  1866. package/browser/Options/Interfaces/Interactivity/Events/IParallax.d.ts +0 -8
  1867. package/browser/Options/Interfaces/Interactivity/IInteractivity.d.ts +0 -29
  1868. package/browser/Options/Interfaces/Interactivity/Modes/IAttract.d.ts +0 -12
  1869. package/browser/Options/Interfaces/Interactivity/Modes/IBounce.d.ts +0 -3
  1870. package/browser/Options/Interfaces/Interactivity/Modes/IBubble.d.ts +0 -9
  1871. package/browser/Options/Interfaces/Interactivity/Modes/IBubbleBase.d.ts +0 -13
  1872. package/browser/Options/Interfaces/Interactivity/Modes/IBubbleDiv.d.ts +0 -7
  1873. package/browser/Options/Interfaces/Interactivity/Modes/IConnect.d.ts +0 -17
  1874. package/browser/Options/Interfaces/Interactivity/Modes/IConnectLinks.d.ts +0 -6
  1875. package/browser/Options/Interfaces/Interactivity/Modes/IGrab.d.ts +0 -16
  1876. package/browser/Options/Interfaces/Interactivity/Modes/IGrabLinks.d.ts +0 -10
  1877. package/browser/Options/Interfaces/Interactivity/Modes/ILight.d.ts +0 -6
  1878. package/browser/Options/Interfaces/Interactivity/Modes/ILightArea.d.ts +0 -9
  1879. package/browser/Options/Interfaces/Interactivity/Modes/ILightShadow.d.ts +0 -5
  1880. package/browser/Options/Interfaces/Interactivity/Modes/IModeDiv.d.ts +0 -11
  1881. package/browser/Options/Interfaces/Interactivity/Modes/IModes.d.ts +0 -26
  1882. package/browser/Options/Interfaces/Interactivity/Modes/IPush.d.ts +0 -12
  1883. package/browser/Options/Interfaces/Interactivity/Modes/IRemove.d.ts +0 -10
  1884. package/browser/Options/Interfaces/Interactivity/Modes/IRepulse.d.ts +0 -9
  1885. package/browser/Options/Interfaces/Interactivity/Modes/IRepulseBase.d.ts +0 -12
  1886. package/browser/Options/Interfaces/Interactivity/Modes/IRepulseDiv.d.ts +0 -7
  1887. package/browser/Options/Interfaces/Interactivity/Modes/ISlow.d.ts +0 -11
  1888. package/browser/Options/Interfaces/Interactivity/Modes/ITrail.d.ts +0 -11
  1889. package/browser/Options/Interfaces/Motion/IMotion.d.ts +0 -16
  1890. package/browser/Options/Interfaces/Motion/IMotionReduce.d.ts +0 -13
  1891. package/browser/Options/Interfaces/Particles/Bounce/IBounce.d.ts +0 -5
  1892. package/browser/Options/Interfaces/Particles/Collisions/ICollisions.d.ts +0 -13
  1893. package/browser/Options/Interfaces/Particles/Collisions/ICollisionsOverlap.d.ts +0 -4
  1894. package/browser/Options/Interfaces/Particles/Destroy/IDestroy.d.ts +0 -10
  1895. package/browser/Options/Interfaces/Particles/Destroy/ISplit.d.ts +0 -10
  1896. package/browser/Options/Interfaces/Particles/IParticles.d.ts +0 -62
  1897. package/browser/Options/Interfaces/Particles/IShadow.d.ts +0 -12
  1898. package/browser/Options/Interfaces/Particles/IStroke.d.ts +0 -21
  1899. package/browser/Options/Interfaces/Particles/Life/ILife.d.ts +0 -7
  1900. package/browser/Options/Interfaces/Particles/Life/ILifeDelay.d.ts +0 -4
  1901. package/browser/Options/Interfaces/Particles/Life/ILifeDuration.d.ts +0 -4
  1902. package/browser/Options/Interfaces/Particles/Links/ILinks.d.ts +0 -60
  1903. package/browser/Options/Interfaces/Particles/Links/ILinksShadow.d.ts +0 -9
  1904. package/browser/Options/Interfaces/Particles/Links/ILinksTriangle.d.ts +0 -10
  1905. package/browser/Options/Interfaces/Particles/Move/IAttract.d.ts +0 -18
  1906. package/browser/Options/Interfaces/Particles/Move/IMove.d.ts +0 -54
  1907. package/browser/Options/Interfaces/Particles/Move/IMoveAngle.d.ts +0 -8
  1908. package/browser/Options/Interfaces/Particles/Move/IMoveGravity.d.ts +0 -7
  1909. package/browser/Options/Interfaces/Particles/Move/IOutModes.d.ts +0 -8
  1910. package/browser/Options/Interfaces/Particles/Move/ISpin.d.ts +0 -7
  1911. package/browser/Options/Interfaces/Particles/Move/ITrail.d.ts +0 -9
  1912. package/browser/Options/Interfaces/Particles/Move/Path/IPath.d.ts +0 -12
  1913. package/browser/Options/Interfaces/Particles/Number/IDensity.d.ts +0 -12
  1914. package/browser/Options/Interfaces/Particles/Number/IParticlesNumber.d.ts +0 -14
  1915. package/browser/Options/Interfaces/Particles/Opacity/IOpacity.d.ts +0 -13
  1916. package/browser/Options/Interfaces/Particles/Opacity/IOpacityAnimation.d.ts +0 -17
  1917. package/browser/Options/Interfaces/Particles/Orbit/IOrbit.d.ts +0 -20
  1918. package/browser/Options/Interfaces/Particles/Repulse/IRepulse.d.ts +0 -13
  1919. package/browser/Options/Interfaces/Particles/Roll/IRoll.d.ts +0 -12
  1920. package/browser/Options/Interfaces/Particles/Roll/IRollLight.d.ts +0 -5
  1921. package/browser/Options/Interfaces/Particles/Rotate/IRotate.d.ts +0 -12
  1922. package/browser/Options/Interfaces/Particles/Rotate/IRotateAnimation.d.ts +0 -9
  1923. package/browser/Options/Interfaces/Particles/Shape/ICharacterShape.d.ts +0 -11
  1924. package/browser/Options/Interfaces/Particles/Shape/IImageShape.d.ts +0 -14
  1925. package/browser/Options/Interfaces/Particles/Shape/IPolygonShape.d.ts +0 -11
  1926. package/browser/Options/Interfaces/Particles/Shape/IShape.d.ts +0 -38
  1927. package/browser/Options/Interfaces/Particles/Shape/IShapeValues.d.ts +0 -1
  1928. package/browser/Options/Interfaces/Particles/Shape/IStarShape.d.ts +0 -12
  1929. package/browser/Options/Interfaces/Particles/Size/ISize.d.ts +0 -13
  1930. package/browser/Options/Interfaces/Particles/Size/ISizeAnimation.d.ts +0 -17
  1931. package/browser/Options/Interfaces/Particles/Tilt/ITilt.d.ts +0 -12
  1932. package/browser/Options/Interfaces/Particles/Tilt/ITiltAnimation.d.ts +0 -9
  1933. package/browser/Options/Interfaces/Particles/Twinkle/ITwinkle.d.ts +0 -9
  1934. package/browser/Options/Interfaces/Particles/Twinkle/ITwinkleValues.d.ts +0 -11
  1935. package/browser/Options/Interfaces/Particles/Wobble/IWobble.d.ts +0 -6
  1936. package/browser/Options/Interfaces/Particles/ZIndex/IZIndex.d.ts +0 -10
  1937. package/browser/Options/Interfaces/Theme/ITheme.d.ts +0 -22
  1938. package/browser/Options/Interfaces/Theme/IThemeDefault.d.ts +0 -22
  1939. package/browser/Plugins/Absorbers/AbsorberContainer.d.ts +0 -7
  1940. package/browser/Plugins/Absorbers/AbsorberInstance.d.ts +0 -36
  1941. package/browser/Plugins/Absorbers/Absorbers.d.ts +0 -25
  1942. package/browser/Plugins/Absorbers/Enums/AbsorberClickMode.d.ts +0 -6
  1943. package/browser/Plugins/Absorbers/Enums/index.d.ts +0 -1
  1944. package/browser/Plugins/Absorbers/Enums/index.js +0 -1
  1945. package/browser/Plugins/Absorbers/Options/Classes/Absorber.d.ts +0 -22
  1946. package/browser/Plugins/Absorbers/Options/Classes/AbsorberSize.d.ts +0 -11
  1947. package/browser/Plugins/Absorbers/Options/Classes/AbsorberSizeLimit.d.ts +0 -9
  1948. package/browser/Plugins/Absorbers/Options/Interfaces/IAbsorber.d.ts +0 -42
  1949. package/browser/Plugins/Absorbers/Options/Interfaces/IAbsorberOptions.d.ts +0 -15
  1950. package/browser/Plugins/Absorbers/Options/Interfaces/IAbsorberSize.d.ts +0 -6
  1951. package/browser/Plugins/Absorbers/Options/Interfaces/IAbsorberSizeLimit.d.ts +0 -4
  1952. package/browser/Plugins/Absorbers/index.d.ts +0 -2
  1953. package/browser/Plugins/Emitters/EmitterContainer.d.ts +0 -10
  1954. package/browser/Plugins/Emitters/EmitterInstance.d.ts +0 -48
  1955. package/browser/Plugins/Emitters/Emitters.d.ts +0 -28
  1956. package/browser/Plugins/Emitters/EmittersEngine.d.ts +0 -7
  1957. package/browser/Plugins/Emitters/Enums/EmitterClickMode.d.ts +0 -6
  1958. package/browser/Plugins/Emitters/Enums/EmitterShapeType.d.ts +0 -4
  1959. package/browser/Plugins/Emitters/Enums/index.d.ts +0 -2
  1960. package/browser/Plugins/Emitters/Enums/index.js +0 -2
  1961. package/browser/Plugins/Emitters/IEmitterShape.d.ts +0 -4
  1962. package/browser/Plugins/Emitters/Options/Classes/Emitter.d.ts +0 -32
  1963. package/browser/Plugins/Emitters/Options/Classes/EmitterLife.d.ts +0 -14
  1964. package/browser/Plugins/Emitters/Options/Classes/EmitterRate.d.ts +0 -12
  1965. package/browser/Plugins/Emitters/Options/Classes/EmitterSize.d.ts +0 -14
  1966. package/browser/Plugins/Emitters/Options/Interfaces/IEmitter.d.ts +0 -71
  1967. package/browser/Plugins/Emitters/Options/Interfaces/IEmitterLife.d.ts +0 -25
  1968. package/browser/Plugins/Emitters/Options/Interfaces/IEmitterOptions.d.ts +0 -15
  1969. package/browser/Plugins/Emitters/Options/Interfaces/IEmitterRate.d.ts +0 -16
  1970. package/browser/Plugins/Emitters/Options/Interfaces/IEmitterSize.d.ts +0 -8
  1971. package/browser/Plugins/Emitters/ShapeManager.d.ts +0 -9
  1972. package/browser/Plugins/Emitters/Shapes/Circle/CircleShape.d.ts +0 -5
  1973. package/browser/Plugins/Emitters/Shapes/Square/SquareShape.d.ts +0 -5
  1974. package/browser/Plugins/Emitters/index.d.ts +0 -3
  1975. package/browser/Plugins/PolygonMask/Enums/PolygonMaskInlineArrangement.d.ts +0 -8
  1976. package/browser/Plugins/PolygonMask/Enums/PolygonMaskMoveType.d.ts +0 -4
  1977. package/browser/Plugins/PolygonMask/Enums/PolygonMaskType.d.ts +0 -6
  1978. package/browser/Plugins/PolygonMask/Enums/index.d.ts +0 -3
  1979. package/browser/Plugins/PolygonMask/Enums/index.js +0 -3
  1980. package/browser/Plugins/PolygonMask/Interfaces/ISvgPath.d.ts +0 -6
  1981. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMask.d.ts +0 -34
  1982. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMaskDraw.d.ts +0 -30
  1983. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMaskDrawStroke.d.ts +0 -14
  1984. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMaskInline.d.ts +0 -12
  1985. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMaskLocalSvg.d.ts +0 -14
  1986. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMaskMove.d.ts +0 -13
  1987. package/browser/Plugins/PolygonMask/Options/Interfaces/IPolygonMask.d.ts +0 -25
  1988. package/browser/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskDraw.d.ts +0 -17
  1989. package/browser/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskDrawStroke.d.ts +0 -9
  1990. package/browser/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskInline.d.ts +0 -7
  1991. package/browser/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskLocalSvg.d.ts +0 -9
  1992. package/browser/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskMove.d.ts +0 -8
  1993. package/browser/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskOptions.d.ts +0 -7
  1994. package/browser/Plugins/PolygonMask/PolygonMaskInstance.d.ts +0 -50
  1995. package/browser/Plugins/PolygonMask/Types.d.ts +0 -8
  1996. package/browser/Plugins/PolygonMask/Utils.d.ts +0 -11
  1997. package/browser/Plugins/PolygonMask/index.d.ts +0 -2
  1998. package/browser/Plugins/PolygonMask/pathseg.d.ts +0 -0
  1999. package/browser/Shapes/Circle/CircleDrawer.d.ts +0 -8
  2000. package/browser/Shapes/Circle/index.d.ts +0 -2
  2001. package/browser/Shapes/Image/ImageDrawer.d.ts +0 -21
  2002. package/browser/Shapes/Image/Utils.d.ts +0 -31
  2003. package/browser/Shapes/Image/index.d.ts +0 -2
  2004. package/browser/Shapes/Line/LineDrawer.d.ts +0 -8
  2005. package/browser/Shapes/Line/index.d.ts +0 -2
  2006. package/browser/Shapes/Polygon/PolygonDrawer.d.ts +0 -10
  2007. package/browser/Shapes/Polygon/PolygonDrawerBase.d.ts +0 -18
  2008. package/browser/Shapes/Polygon/TriangleDrawer.d.ts +0 -11
  2009. package/browser/Shapes/Polygon/index.d.ts +0 -4
  2010. package/browser/Shapes/Square/SquareDrawer.d.ts +0 -8
  2011. package/browser/Shapes/Square/index.d.ts +0 -2
  2012. package/browser/Shapes/Star/StarDrawer.d.ts +0 -8
  2013. package/browser/Shapes/Star/index.d.ts +0 -2
  2014. package/browser/Shapes/Text/TextDrawer.d.ts +0 -10
  2015. package/browser/Shapes/Text/index.d.ts +0 -2
  2016. package/browser/Types/ParticlesGroups.d.ts +0 -8
  2017. package/browser/Types/PathOptions.d.ts +0 -3
  2018. package/browser/Types/RangeValue.d.ts +0 -2
  2019. package/browser/Types/RecursivePartial.d.ts +0 -6
  2020. package/browser/Types/ShapeData.d.ts +0 -8
  2021. package/browser/Types/ShapeDrawerFunctions.d.ts +0 -32
  2022. package/browser/Types/SingleOrMultiple.d.ts +0 -4
  2023. package/browser/Types/index.d.ts +0 -6
  2024. package/browser/Types/index.js +0 -6
  2025. package/browser/Updaters/Angle/AngleUpdater.d.ts +0 -8
  2026. package/browser/Updaters/Angle/index.d.ts +0 -2
  2027. package/browser/Updaters/Color/ColorUpdater.d.ts +0 -8
  2028. package/browser/Updaters/Color/index.d.ts +0 -2
  2029. package/browser/Updaters/Life/LifeUpdater.d.ts +0 -8
  2030. package/browser/Updaters/Life/index.d.ts +0 -2
  2031. package/browser/Updaters/Opacity/OpacityUpdater.d.ts +0 -8
  2032. package/browser/Updaters/Opacity/index.d.ts +0 -2
  2033. package/browser/Updaters/OutModes/IBounceData.d.ts +0 -11
  2034. package/browser/Updaters/OutModes/OutOfCanvasUpdater.d.ts +0 -13
  2035. package/browser/Updaters/OutModes/Utils.d.ts +0 -3
  2036. package/browser/Updaters/OutModes/index.d.ts +0 -2
  2037. package/browser/Updaters/Roll/RollUpdater.d.ts +0 -6
  2038. package/browser/Updaters/Roll/index.d.ts +0 -2
  2039. package/browser/Updaters/Size/SizeUpdater.d.ts +0 -6
  2040. package/browser/Updaters/Size/index.d.ts +0 -2
  2041. package/browser/Updaters/StrokeColor/StrokeColorUpdater.d.ts +0 -8
  2042. package/browser/Updaters/StrokeColor/index.d.ts +0 -2
  2043. package/browser/Updaters/Tilt/TiltUpdater.d.ts +0 -8
  2044. package/browser/Updaters/Tilt/index.d.ts +0 -2
  2045. package/browser/Updaters/Wobble/WobbleUpdater.d.ts +0 -14
  2046. package/browser/Updaters/Wobble/index.d.ts +0 -2
  2047. package/browser/Utils/CanvasUtils.d.ts +0 -19
  2048. package/browser/Utils/ColorUtils.d.ts +0 -46
  2049. package/browser/Utils/NumberUtils.d.ts +0 -50
  2050. package/browser/Utils/Utils.d.ts +0 -43
  2051. package/browser/Utils/index.d.ts +0 -4
  2052. package/browser/Utils/index.js +0 -4
  2053. package/browser/engine.d.ts +0 -119
  2054. package/browser/index.d.ts +0 -20
  2055. package/browser/index.engine.d.ts +0 -13
  2056. package/browser/index.slim.d.ts +0 -14
  2057. package/browser/pjs.d.ts +0 -41
  2058. package/engine.d.ts +0 -26
  2059. package/engine.js +0 -98
  2060. package/esm/Core/Canvas.d.ts +0 -35
  2061. package/esm/Core/Container.d.ts +0 -68
  2062. package/esm/Core/Interfaces/Colors.d.ts +0 -33
  2063. package/esm/Core/Interfaces/Gradients.d.ts +0 -21
  2064. package/esm/Core/Interfaces/IAttract.d.ts +0 -7
  2065. package/esm/Core/Interfaces/IBounds.d.ts +0 -6
  2066. package/esm/Core/Interfaces/IBubble.d.ts +0 -4
  2067. package/esm/Core/Interfaces/IBubbleParticleData.d.ts +0 -9
  2068. package/esm/Core/Interfaces/ICircleBouncer.d.ts +0 -9
  2069. package/esm/Core/Interfaces/IContainerInteractivity.d.ts +0 -6
  2070. package/esm/Core/Interfaces/IContainerPlugin.d.ts +0 -32
  2071. package/esm/Core/Interfaces/ICoordinates.d.ts +0 -15
  2072. package/esm/Core/Interfaces/IDelta.d.ts +0 -4
  2073. package/esm/Core/Interfaces/IDimension.d.ts +0 -4
  2074. package/esm/Core/Interfaces/IDistance.d.ts +0 -4
  2075. package/esm/Core/Interfaces/IExternalInteractor.d.ts +0 -6
  2076. package/esm/Core/Interfaces/IInteractor.d.ts +0 -6
  2077. package/esm/Core/Interfaces/IMouseData.d.ts +0 -9
  2078. package/esm/Core/Interfaces/IMovePathGenerator.d.ts +0 -8
  2079. package/esm/Core/Interfaces/IParticle.d.ts +0 -55
  2080. package/esm/Core/Interfaces/IParticleGradientAnimation.d.ts +0 -8
  2081. package/esm/Core/Interfaces/IParticleGradientColorAnimation.d.ts +0 -7
  2082. package/esm/Core/Interfaces/IParticleGravity.d.ts +0 -5
  2083. package/esm/Core/Interfaces/IParticleHslAnimation.d.ts +0 -6
  2084. package/esm/Core/Interfaces/IParticleLife.d.ts +0 -7
  2085. package/esm/Core/Interfaces/IParticleLoops.d.ts +0 -4
  2086. package/esm/Core/Interfaces/IParticleRetinaProps.d.ts +0 -12
  2087. package/esm/Core/Interfaces/IParticleRoll.d.ts +0 -9
  2088. package/esm/Core/Interfaces/IParticleSpin.d.ts +0 -9
  2089. package/esm/Core/Interfaces/IParticleUpdater.d.ts +0 -9
  2090. package/esm/Core/Interfaces/IParticleValueAnimation.d.ts +0 -17
  2091. package/esm/Core/Interfaces/IParticleWobble.d.ts +0 -4
  2092. package/esm/Core/Interfaces/IParticlesFrequencies.d.ts +0 -4
  2093. package/esm/Core/Interfaces/IParticlesInteractor.d.ts +0 -7
  2094. package/esm/Core/Interfaces/IPlugin.d.ts +0 -11
  2095. package/esm/Core/Interfaces/IRangeValue.d.ts +0 -4
  2096. package/esm/Core/Interfaces/IRectSideResult.d.ts +0 -5
  2097. package/esm/Core/Interfaces/IRepulse.d.ts +0 -7
  2098. package/esm/Core/Interfaces/IRepulse.js +0 -1
  2099. package/esm/Core/Interfaces/IShapeDrawer.d.ts +0 -10
  2100. package/esm/Core/Interfaces/IShapeValues.d.ts +0 -8
  2101. package/esm/Core/Interfaces/index.d.ts +0 -37
  2102. package/esm/Core/Interfaces/index.js +0 -37
  2103. package/esm/Core/Loader.d.ts +0 -32
  2104. package/esm/Core/Particle.d.ts +0 -73
  2105. package/esm/Core/Particles.d.ts +0 -46
  2106. package/esm/Core/Retina.d.ts +0 -26
  2107. package/esm/Core/Utils/Circle.d.ts +0 -8
  2108. package/esm/Core/Utils/CircleWarp.d.ts +0 -9
  2109. package/esm/Core/Utils/Constants.d.ts +0 -18
  2110. package/esm/Core/Utils/EventListeners.d.ts +0 -33
  2111. package/esm/Core/Utils/ExternalInteractorBase.d.ts +0 -12
  2112. package/esm/Core/Utils/FrameManager.d.ts +0 -6
  2113. package/esm/Core/Utils/InteractionManager.d.ts +0 -14
  2114. package/esm/Core/Utils/ParticlesInteractorBase.d.ts +0 -12
  2115. package/esm/Core/Utils/ParticlesMover.d.ts +0 -13
  2116. package/esm/Core/Utils/ParticlesMover.js +0 -182
  2117. package/esm/Core/Utils/Plugins.d.ts +0 -36
  2118. package/esm/Core/Utils/Point.d.ts +0 -7
  2119. package/esm/Core/Utils/QuadTree.d.ts +0 -23
  2120. package/esm/Core/Utils/Range.d.ts +0 -7
  2121. package/esm/Core/Utils/Rectangle.d.ts +0 -8
  2122. package/esm/Core/Utils/Vector.d.ts +0 -29
  2123. package/esm/Core/Utils/Vector3d.d.ts +0 -18
  2124. package/esm/Core/Utils/index.d.ts +0 -16
  2125. package/esm/Core/Utils/index.js +0 -16
  2126. package/esm/Core/index.d.ts +0 -8
  2127. package/esm/Core/index.js +0 -8
  2128. package/esm/Enums/AnimationStatus.d.ts +0 -4
  2129. package/esm/Enums/Directions/MoveDirection.d.ts +0 -12
  2130. package/esm/Enums/Directions/OutModeDirection.d.ts +0 -6
  2131. package/esm/Enums/Directions/RotateDirection.d.ts +0 -6
  2132. package/esm/Enums/Directions/TiltDirection.d.ts +0 -6
  2133. package/esm/Enums/Directions/index.d.ts +0 -4
  2134. package/esm/Enums/Directions/index.js +0 -4
  2135. package/esm/Enums/InteractivityDetect.d.ts +0 -5
  2136. package/esm/Enums/Modes/ClickMode.d.ts +0 -9
  2137. package/esm/Enums/Modes/CollisionMode.d.ts +0 -5
  2138. package/esm/Enums/Modes/DestroyMode.d.ts +0 -4
  2139. package/esm/Enums/Modes/DivMode.d.ts +0 -5
  2140. package/esm/Enums/Modes/HoverMode.d.ts +0 -11
  2141. package/esm/Enums/Modes/OutMode.d.ts +0 -10
  2142. package/esm/Enums/Modes/ResponsiveMode.d.ts +0 -4
  2143. package/esm/Enums/Modes/RollMode.d.ts +0 -5
  2144. package/esm/Enums/Modes/SizeMode.d.ts +0 -4
  2145. package/esm/Enums/Modes/ThemeMode.d.ts +0 -5
  2146. package/esm/Enums/Modes/index.d.ts +0 -10
  2147. package/esm/Enums/Modes/index.js +0 -10
  2148. package/esm/Enums/Types/AlterType.d.ts +0 -4
  2149. package/esm/Enums/Types/DestroyType.d.ts +0 -5
  2150. package/esm/Enums/Types/DivType.d.ts +0 -4
  2151. package/esm/Enums/Types/EasingType.d.ts +0 -10
  2152. package/esm/Enums/Types/GradientType.d.ts +0 -5
  2153. package/esm/Enums/Types/InteractorType.d.ts +0 -4
  2154. package/esm/Enums/Types/OrbitType.d.ts +0 -4
  2155. package/esm/Enums/Types/OrbitType.js +0 -1
  2156. package/esm/Enums/Types/ShapeType.d.ts +0 -13
  2157. package/esm/Enums/Types/StartValueType.d.ts +0 -5
  2158. package/esm/Enums/Types/index.d.ts +0 -9
  2159. package/esm/Enums/Types/index.js +0 -9
  2160. package/esm/Enums/index.d.ts +0 -5
  2161. package/esm/Enums/index.js +0 -5
  2162. package/esm/Interactions/External/Attract/Attractor.d.ts +0 -11
  2163. package/esm/Interactions/External/Attract/index.d.ts +0 -2
  2164. package/esm/Interactions/External/Bounce/Bouncer.d.ts +0 -11
  2165. package/esm/Interactions/External/Bounce/index.d.ts +0 -2
  2166. package/esm/Interactions/External/Bubble/Bubbler.d.ts +0 -16
  2167. package/esm/Interactions/External/Bubble/IBubblerProcessParam.d.ts +0 -10
  2168. package/esm/Interactions/External/Bubble/ProcessBubbleType.d.ts +0 -5
  2169. package/esm/Interactions/External/Bubble/index.d.ts +0 -2
  2170. package/esm/Interactions/External/Connect/Connector.d.ts +0 -8
  2171. package/esm/Interactions/External/Connect/index.d.ts +0 -2
  2172. package/esm/Interactions/External/Grab/Grabber.d.ts +0 -8
  2173. package/esm/Interactions/External/Grab/index.d.ts +0 -2
  2174. package/esm/Interactions/External/Repulse/Repulser.d.ts +0 -12
  2175. package/esm/Interactions/External/Repulse/index.d.ts +0 -2
  2176. package/esm/Interactions/External/Trail/TrailMaker.d.ts +0 -10
  2177. package/esm/Interactions/External/Trail/index.d.ts +0 -2
  2178. package/esm/Interactions/Particles/Attract/Attractor.d.ts +0 -8
  2179. package/esm/Interactions/Particles/Attract/index.d.ts +0 -2
  2180. package/esm/Interactions/Particles/Collisions/Collider.d.ts +0 -10
  2181. package/esm/Interactions/Particles/Collisions/index.d.ts +0 -2
  2182. package/esm/Interactions/Particles/Links/ILink.d.ts +0 -9
  2183. package/esm/Interactions/Particles/Links/LinkInstance.d.ts +0 -10
  2184. package/esm/Interactions/Particles/Links/LinkParticle.d.ts +0 -5
  2185. package/esm/Interactions/Particles/Links/Linker.d.ts +0 -10
  2186. package/esm/Interactions/Particles/Links/index.d.ts +0 -2
  2187. package/esm/Interactions/Particles/Links/interaction.d.ts +0 -2
  2188. package/esm/Interactions/Particles/Links/plugin.d.ts +0 -2
  2189. package/esm/Options/Classes/AnimatableColor.d.ts +0 -11
  2190. package/esm/Options/Classes/AnimatableGradient.d.ts +0 -53
  2191. package/esm/Options/Classes/AnimationOptions.d.ts +0 -11
  2192. package/esm/Options/Classes/Background/Background.d.ts +0 -14
  2193. package/esm/Options/Classes/BackgroundMask/BackgroundMask.d.ts +0 -11
  2194. package/esm/Options/Classes/BackgroundMask/BackgroundMaskCover.d.ts +0 -10
  2195. package/esm/Options/Classes/ColorAnimation.d.ts +0 -12
  2196. package/esm/Options/Classes/FullScreen/FullScreen.d.ts +0 -9
  2197. package/esm/Options/Classes/HslAnimation.d.ts +0 -11
  2198. package/esm/Options/Classes/Interactivity/Events/ClickEvent.d.ts +0 -10
  2199. package/esm/Options/Classes/Interactivity/Events/DivEvent.d.ts +0 -18
  2200. package/esm/Options/Classes/Interactivity/Events/Events.d.ts +0 -20
  2201. package/esm/Options/Classes/Interactivity/Events/HoverEvent.d.ts +0 -12
  2202. package/esm/Options/Classes/Interactivity/Events/Parallax.d.ts +0 -10
  2203. package/esm/Options/Classes/Interactivity/Interactivity.d.ts +0 -15
  2204. package/esm/Options/Classes/Interactivity/Modes/Attract.d.ts +0 -14
  2205. package/esm/Options/Classes/Interactivity/Modes/Bounce.d.ts +0 -8
  2206. package/esm/Options/Classes/Interactivity/Modes/Bubble.d.ts +0 -9
  2207. package/esm/Options/Classes/Interactivity/Modes/BubbleBase.d.ts +0 -13
  2208. package/esm/Options/Classes/Interactivity/Modes/BubbleDiv.d.ts +0 -11
  2209. package/esm/Options/Classes/Interactivity/Modes/Connect.d.ts +0 -15
  2210. package/esm/Options/Classes/Interactivity/Modes/ConnectLinks.d.ts +0 -8
  2211. package/esm/Options/Classes/Interactivity/Modes/Grab.d.ts +0 -14
  2212. package/esm/Options/Classes/Interactivity/Modes/GrabLinks.d.ts +0 -12
  2213. package/esm/Options/Classes/Interactivity/Modes/Light.d.ts +0 -11
  2214. package/esm/Options/Classes/Interactivity/Modes/LightArea.d.ts +0 -10
  2215. package/esm/Options/Classes/Interactivity/Modes/LightGradient.d.ts +0 -10
  2216. package/esm/Options/Classes/Interactivity/Modes/LightShadow.d.ts +0 -10
  2217. package/esm/Options/Classes/Interactivity/Modes/Modes.d.ts +0 -29
  2218. package/esm/Options/Classes/Interactivity/Modes/Push.d.ts +0 -12
  2219. package/esm/Options/Classes/Interactivity/Modes/Remove.d.ts +0 -10
  2220. package/esm/Options/Classes/Interactivity/Modes/Repulse.d.ts +0 -9
  2221. package/esm/Options/Classes/Interactivity/Modes/RepulseBase.d.ts +0 -14
  2222. package/esm/Options/Classes/Interactivity/Modes/RepulseDiv.d.ts +0 -11
  2223. package/esm/Options/Classes/Interactivity/Modes/Slow.d.ts +0 -11
  2224. package/esm/Options/Classes/Interactivity/Modes/Trail.d.ts +0 -12
  2225. package/esm/Options/Classes/ManualParticle.d.ts +0 -10
  2226. package/esm/Options/Classes/Motion/Motion.d.ts +0 -10
  2227. package/esm/Options/Classes/Motion/MotionReduce.d.ts +0 -9
  2228. package/esm/Options/Classes/Options.d.ts +0 -48
  2229. package/esm/Options/Classes/OptionsColor.d.ts +0 -10
  2230. package/esm/Options/Classes/Particles/Bounce/Bounce.d.ts +0 -10
  2231. package/esm/Options/Classes/Particles/Bounce/BounceFactor.d.ts +0 -4
  2232. package/esm/Options/Classes/Particles/Collisions/Collisions.d.ts +0 -14
  2233. package/esm/Options/Classes/Particles/Collisions/CollisionsOverlap.d.ts +0 -9
  2234. package/esm/Options/Classes/Particles/Destroy/Destroy.d.ts +0 -11
  2235. package/esm/Options/Classes/Particles/Destroy/Split.d.ts +0 -15
  2236. package/esm/Options/Classes/Particles/Destroy/SplitFactor.d.ts +0 -4
  2237. package/esm/Options/Classes/Particles/Destroy/SplitRate.d.ts +0 -4
  2238. package/esm/Options/Classes/Particles/Life/Life.d.ts +0 -12
  2239. package/esm/Options/Classes/Particles/Life/LifeDelay.d.ts +0 -9
  2240. package/esm/Options/Classes/Particles/Life/LifeDuration.d.ts +0 -9
  2241. package/esm/Options/Classes/Particles/Links/Links.d.ts +0 -22
  2242. package/esm/Options/Classes/Particles/Links/LinksShadow.d.ts +0 -11
  2243. package/esm/Options/Classes/Particles/Links/LinksTriangle.d.ts +0 -12
  2244. package/esm/Options/Classes/Particles/Move/Attract.d.ts +0 -15
  2245. package/esm/Options/Classes/Particles/Move/Move.d.ts +0 -44
  2246. package/esm/Options/Classes/Particles/Move/MoveAngle.d.ts +0 -9
  2247. package/esm/Options/Classes/Particles/Move/MoveGravity.d.ts +0 -11
  2248. package/esm/Options/Classes/Particles/Move/OutModes.d.ts +0 -13
  2249. package/esm/Options/Classes/Particles/Move/Path/Path.d.ts +0 -13
  2250. package/esm/Options/Classes/Particles/Move/Path/PathDelay.d.ts +0 -4
  2251. package/esm/Options/Classes/Particles/Move/Spin.d.ts +0 -11
  2252. package/esm/Options/Classes/Particles/Move/Trail.d.ts +0 -11
  2253. package/esm/Options/Classes/Particles/Number/Density.d.ts +0 -12
  2254. package/esm/Options/Classes/Particles/Number/ParticlesNumber.d.ts +0 -13
  2255. package/esm/Options/Classes/Particles/Opacity/Opacity.d.ts +0 -12
  2256. package/esm/Options/Classes/Particles/Opacity/OpacityAnimation.d.ts +0 -14
  2257. package/esm/Options/Classes/Particles/Orbit/Orbit.d.ts +0 -18
  2258. package/esm/Options/Classes/Particles/Orbit/OrbitRotation.d.ts +0 -7
  2259. package/esm/Options/Classes/Particles/ParticlesOptions.d.ts +0 -58
  2260. package/esm/Options/Classes/Particles/Repulse/Repulse.d.ts +0 -13
  2261. package/esm/Options/Classes/Particles/Roll/Roll.d.ts +0 -16
  2262. package/esm/Options/Classes/Particles/Roll/RollLight.d.ts +0 -9
  2263. package/esm/Options/Classes/Particles/Rotate/Rotate.d.ts +0 -13
  2264. package/esm/Options/Classes/Particles/Rotate/RotateAnimation.d.ts +0 -10
  2265. package/esm/Options/Classes/Particles/Shadow.d.ts +0 -13
  2266. package/esm/Options/Classes/Particles/Shape/Shape.d.ts +0 -27
  2267. package/esm/Options/Classes/Particles/Size/Size.d.ts +0 -12
  2268. package/esm/Options/Classes/Particles/Size/SizeAnimation.d.ts +0 -14
  2269. package/esm/Options/Classes/Particles/Stroke.d.ts +0 -11
  2270. package/esm/Options/Classes/Particles/Tilt/Tilt.d.ts +0 -13
  2271. package/esm/Options/Classes/Particles/Tilt/TiltAnimation.d.ts +0 -10
  2272. package/esm/Options/Classes/Particles/Twinkle/Twinkle.d.ts +0 -10
  2273. package/esm/Options/Classes/Particles/Twinkle/TwinkleValues.d.ts +0 -12
  2274. package/esm/Options/Classes/Particles/Wobble/Wobble.d.ts +0 -10
  2275. package/esm/Options/Classes/Particles/ZIndex/ZIndex.d.ts +0 -11
  2276. package/esm/Options/Classes/Random.d.ts +0 -9
  2277. package/esm/Options/Classes/Responsive.d.ts +0 -12
  2278. package/esm/Options/Classes/Theme/Theme.d.ts +0 -12
  2279. package/esm/Options/Classes/Theme/ThemeDefault.d.ts +0 -11
  2280. package/esm/Options/Classes/ValueWithRandom.d.ts +0 -10
  2281. package/esm/Options/Interfaces/Background/IBackground.d.ts +0 -9
  2282. package/esm/Options/Interfaces/BackgroundMask/IBackgroundMask.d.ts +0 -7
  2283. package/esm/Options/Interfaces/BackgroundMask/IBackgroundMaskCover.d.ts +0 -5
  2284. package/esm/Options/Interfaces/FullScreen/IFullScreen.d.ts +0 -4
  2285. package/esm/Options/Interfaces/IAnimatable.d.ts +0 -4
  2286. package/esm/Options/Interfaces/IAnimatableColor.d.ts +0 -6
  2287. package/esm/Options/Interfaces/IAnimatableGradient.d.ts +0 -8
  2288. package/esm/Options/Interfaces/IAnimation.d.ts +0 -7
  2289. package/esm/Options/Interfaces/IColorAnimation.d.ts +0 -5
  2290. package/esm/Options/Interfaces/IHslAnimation.d.ts +0 -6
  2291. package/esm/Options/Interfaces/IManualParticle.d.ts +0 -7
  2292. package/esm/Options/Interfaces/IOptionLoader.d.ts +0 -4
  2293. package/esm/Options/Interfaces/IOptions.d.ts +0 -34
  2294. package/esm/Options/Interfaces/IOptionsColor.d.ts +0 -2
  2295. package/esm/Options/Interfaces/IOptionsGradient.d.ts +0 -13
  2296. package/esm/Options/Interfaces/IRandom.d.ts +0 -4
  2297. package/esm/Options/Interfaces/IResponsive.d.ts +0 -8
  2298. package/esm/Options/Interfaces/IValueWithRandom.d.ts +0 -6
  2299. package/esm/Options/Interfaces/Interactivity/Events/IClickEvent.d.ts +0 -6
  2300. package/esm/Options/Interfaces/Interactivity/Events/IDivEvent.d.ts +0 -11
  2301. package/esm/Options/Interfaces/Interactivity/Events/IEvents.d.ts +0 -13
  2302. package/esm/Options/Interfaces/Interactivity/Events/IHoverEvent.d.ts +0 -8
  2303. package/esm/Options/Interfaces/Interactivity/Events/IParallax.d.ts +0 -5
  2304. package/esm/Options/Interfaces/Interactivity/IInteractivity.d.ts +0 -9
  2305. package/esm/Options/Interfaces/Interactivity/Modes/IAttract.d.ts +0 -9
  2306. package/esm/Options/Interfaces/Interactivity/Modes/IBounce.d.ts +0 -3
  2307. package/esm/Options/Interfaces/Interactivity/Modes/IBubble.d.ts +0 -6
  2308. package/esm/Options/Interfaces/Interactivity/Modes/IBubbleBase.d.ts +0 -10
  2309. package/esm/Options/Interfaces/Interactivity/Modes/IBubbleDiv.d.ts +0 -4
  2310. package/esm/Options/Interfaces/Interactivity/Modes/IConnect.d.ts +0 -8
  2311. package/esm/Options/Interfaces/Interactivity/Modes/IConnectLinks.d.ts +0 -3
  2312. package/esm/Options/Interfaces/Interactivity/Modes/IGrab.d.ts +0 -7
  2313. package/esm/Options/Interfaces/Interactivity/Modes/IGrabLinks.d.ts +0 -7
  2314. package/esm/Options/Interfaces/Interactivity/Modes/ILight.d.ts +0 -6
  2315. package/esm/Options/Interfaces/Interactivity/Modes/ILightArea.d.ts +0 -9
  2316. package/esm/Options/Interfaces/Interactivity/Modes/ILightShadow.d.ts +0 -5
  2317. package/esm/Options/Interfaces/Interactivity/Modes/IModeDiv.d.ts +0 -5
  2318. package/esm/Options/Interfaces/Interactivity/Modes/IModes.d.ts +0 -22
  2319. package/esm/Options/Interfaces/Interactivity/Modes/IPush.d.ts +0 -6
  2320. package/esm/Options/Interfaces/Interactivity/Modes/IRemove.d.ts +0 -4
  2321. package/esm/Options/Interfaces/Interactivity/Modes/IRepulse.d.ts +0 -6
  2322. package/esm/Options/Interfaces/Interactivity/Modes/IRepulseBase.d.ts +0 -9
  2323. package/esm/Options/Interfaces/Interactivity/Modes/IRepulseDiv.d.ts +0 -4
  2324. package/esm/Options/Interfaces/Interactivity/Modes/ISlow.d.ts +0 -5
  2325. package/esm/Options/Interfaces/Interactivity/Modes/ITrail.d.ts +0 -8
  2326. package/esm/Options/Interfaces/Motion/IMotion.d.ts +0 -5
  2327. package/esm/Options/Interfaces/Motion/IMotionReduce.d.ts +0 -4
  2328. package/esm/Options/Interfaces/Particles/Bounce/IBounce.d.ts +0 -5
  2329. package/esm/Options/Interfaces/Particles/Collisions/ICollisions.d.ts +0 -9
  2330. package/esm/Options/Interfaces/Particles/Collisions/ICollisionsOverlap.d.ts +0 -4
  2331. package/esm/Options/Interfaces/Particles/Destroy/IDestroy.d.ts +0 -6
  2332. package/esm/Options/Interfaces/Particles/Destroy/ISplit.d.ts +0 -10
  2333. package/esm/Options/Interfaces/Particles/IParticles.d.ts +0 -52
  2334. package/esm/Options/Interfaces/Particles/IShadow.d.ts +0 -8
  2335. package/esm/Options/Interfaces/Particles/IStroke.d.ts +0 -7
  2336. package/esm/Options/Interfaces/Particles/Life/ILife.d.ts +0 -7
  2337. package/esm/Options/Interfaces/Particles/Life/ILifeDelay.d.ts +0 -4
  2338. package/esm/Options/Interfaces/Particles/Life/ILifeDuration.d.ts +0 -4
  2339. package/esm/Options/Interfaces/Particles/Links/ILinks.d.ts +0 -17
  2340. package/esm/Options/Interfaces/Particles/Links/ILinksShadow.d.ts +0 -6
  2341. package/esm/Options/Interfaces/Particles/Links/ILinksTriangle.d.ts +0 -7
  2342. package/esm/Options/Interfaces/Particles/Move/IAttract.d.ts +0 -9
  2343. package/esm/Options/Interfaces/Particles/Move/IMove.d.ts +0 -35
  2344. package/esm/Options/Interfaces/Particles/Move/IMoveAngle.d.ts +0 -5
  2345. package/esm/Options/Interfaces/Particles/Move/IMoveGravity.d.ts +0 -7
  2346. package/esm/Options/Interfaces/Particles/Move/IOutModes.d.ts +0 -8
  2347. package/esm/Options/Interfaces/Particles/Move/ISpin.d.ts +0 -7
  2348. package/esm/Options/Interfaces/Particles/Move/ITrail.d.ts +0 -6
  2349. package/esm/Options/Interfaces/Particles/Move/Path/IPath.d.ts +0 -9
  2350. package/esm/Options/Interfaces/Particles/Number/IDensity.d.ts +0 -6
  2351. package/esm/Options/Interfaces/Particles/Number/IParticlesNumber.d.ts +0 -7
  2352. package/esm/Options/Interfaces/Particles/Opacity/IOpacity.d.ts +0 -6
  2353. package/esm/Options/Interfaces/Particles/Opacity/IOpacityAnimation.d.ts +0 -8
  2354. package/esm/Options/Interfaces/Particles/Orbit/IOrbit.d.ts +0 -13
  2355. package/esm/Options/Interfaces/Particles/Repulse/IRepulse.d.ts +0 -9
  2356. package/esm/Options/Interfaces/Particles/Roll/IRoll.d.ts +0 -12
  2357. package/esm/Options/Interfaces/Particles/Roll/IRollLight.d.ts +0 -5
  2358. package/esm/Options/Interfaces/Particles/Rotate/IRotate.d.ts +0 -8
  2359. package/esm/Options/Interfaces/Particles/Rotate/IRotateAnimation.d.ts +0 -6
  2360. package/esm/Options/Interfaces/Particles/Shape/ICharacterShape.d.ts +0 -8
  2361. package/esm/Options/Interfaces/Particles/Shape/IImageShape.d.ts +0 -8
  2362. package/esm/Options/Interfaces/Particles/Shape/IPolygonShape.d.ts +0 -5
  2363. package/esm/Options/Interfaces/Particles/Shape/IShape.d.ts +0 -16
  2364. package/esm/Options/Interfaces/Particles/Shape/IShapeValues.d.ts +0 -1
  2365. package/esm/Options/Interfaces/Particles/Shape/IStarShape.d.ts +0 -6
  2366. package/esm/Options/Interfaces/Particles/Size/ISize.d.ts +0 -6
  2367. package/esm/Options/Interfaces/Particles/Size/ISizeAnimation.d.ts +0 -8
  2368. package/esm/Options/Interfaces/Particles/Tilt/ITilt.d.ts +0 -8
  2369. package/esm/Options/Interfaces/Particles/Tilt/ITiltAnimation.d.ts +0 -6
  2370. package/esm/Options/Interfaces/Particles/Twinkle/ITwinkle.d.ts +0 -5
  2371. package/esm/Options/Interfaces/Particles/Twinkle/ITwinkleValues.d.ts +0 -8
  2372. package/esm/Options/Interfaces/Particles/Wobble/IWobble.d.ts +0 -6
  2373. package/esm/Options/Interfaces/Particles/ZIndex/IZIndex.d.ts +0 -6
  2374. package/esm/Options/Interfaces/Theme/ITheme.d.ts +0 -8
  2375. package/esm/Options/Interfaces/Theme/IThemeDefault.d.ts +0 -6
  2376. package/esm/Plugins/Absorbers/AbsorberContainer.d.ts +0 -7
  2377. package/esm/Plugins/Absorbers/AbsorberInstance.d.ts +0 -33
  2378. package/esm/Plugins/Absorbers/Absorbers.d.ts +0 -22
  2379. package/esm/Plugins/Absorbers/Enums/AbsorberClickMode.d.ts +0 -3
  2380. package/esm/Plugins/Absorbers/Enums/index.d.ts +0 -1
  2381. package/esm/Plugins/Absorbers/Enums/index.js +0 -1
  2382. package/esm/Plugins/Absorbers/Options/Classes/Absorber.d.ts +0 -18
  2383. package/esm/Plugins/Absorbers/Options/Classes/AbsorberSize.d.ts +0 -11
  2384. package/esm/Plugins/Absorbers/Options/Classes/AbsorberSizeLimit.d.ts +0 -9
  2385. package/esm/Plugins/Absorbers/Options/Interfaces/IAbsorber.d.ts +0 -13
  2386. package/esm/Plugins/Absorbers/Options/Interfaces/IAbsorberOptions.d.ts +0 -12
  2387. package/esm/Plugins/Absorbers/Options/Interfaces/IAbsorberSize.d.ts +0 -6
  2388. package/esm/Plugins/Absorbers/Options/Interfaces/IAbsorberSizeLimit.d.ts +0 -4
  2389. package/esm/Plugins/Absorbers/index.d.ts +0 -2
  2390. package/esm/Plugins/Emitters/EmitterContainer.d.ts +0 -10
  2391. package/esm/Plugins/Emitters/EmitterInstance.d.ts +0 -45
  2392. package/esm/Plugins/Emitters/Emitters.d.ts +0 -25
  2393. package/esm/Plugins/Emitters/EmittersEngine.d.ts +0 -7
  2394. package/esm/Plugins/Emitters/Enums/EmitterClickMode.d.ts +0 -3
  2395. package/esm/Plugins/Emitters/Enums/EmitterShapeType.d.ts +0 -4
  2396. package/esm/Plugins/Emitters/Enums/index.d.ts +0 -2
  2397. package/esm/Plugins/Emitters/Enums/index.js +0 -2
  2398. package/esm/Plugins/Emitters/IEmitterShape.d.ts +0 -4
  2399. package/esm/Plugins/Emitters/Options/Classes/Emitter.d.ts +0 -28
  2400. package/esm/Plugins/Emitters/Options/Classes/EmitterLife.d.ts +0 -11
  2401. package/esm/Plugins/Emitters/Options/Classes/EmitterRate.d.ts +0 -9
  2402. package/esm/Plugins/Emitters/Options/Classes/EmitterSize.d.ts +0 -11
  2403. package/esm/Plugins/Emitters/Options/Interfaces/IEmitter.d.ts +0 -24
  2404. package/esm/Plugins/Emitters/Options/Interfaces/IEmitterLife.d.ts +0 -6
  2405. package/esm/Plugins/Emitters/Options/Interfaces/IEmitterOptions.d.ts +0 -12
  2406. package/esm/Plugins/Emitters/Options/Interfaces/IEmitterRate.d.ts +0 -5
  2407. package/esm/Plugins/Emitters/Options/Interfaces/IEmitterSize.d.ts +0 -5
  2408. package/esm/Plugins/Emitters/ShapeManager.d.ts +0 -9
  2409. package/esm/Plugins/Emitters/Shapes/Circle/CircleShape.d.ts +0 -5
  2410. package/esm/Plugins/Emitters/Shapes/Square/SquareShape.d.ts +0 -5
  2411. package/esm/Plugins/Emitters/index.d.ts +0 -3
  2412. package/esm/Plugins/PolygonMask/Enums/PolygonMaskInlineArrangement.d.ts +0 -8
  2413. package/esm/Plugins/PolygonMask/Enums/PolygonMaskMoveType.d.ts +0 -4
  2414. package/esm/Plugins/PolygonMask/Enums/PolygonMaskType.d.ts +0 -6
  2415. package/esm/Plugins/PolygonMask/Enums/index.d.ts +0 -3
  2416. package/esm/Plugins/PolygonMask/Enums/index.js +0 -3
  2417. package/esm/Plugins/PolygonMask/Interfaces/ISvgPath.d.ts +0 -6
  2418. package/esm/Plugins/PolygonMask/Options/Classes/PolygonMask.d.ts +0 -24
  2419. package/esm/Plugins/PolygonMask/Options/Classes/PolygonMaskDraw.d.ts +0 -15
  2420. package/esm/Plugins/PolygonMask/Options/Classes/PolygonMaskDrawStroke.d.ts +0 -11
  2421. package/esm/Plugins/PolygonMask/Options/Classes/PolygonMaskInline.d.ts +0 -9
  2422. package/esm/Plugins/PolygonMask/Options/Classes/PolygonMaskLocalSvg.d.ts +0 -11
  2423. package/esm/Plugins/PolygonMask/Options/Classes/PolygonMaskMove.d.ts +0 -10
  2424. package/esm/Plugins/PolygonMask/Options/Interfaces/IPolygonMask.d.ts +0 -18
  2425. package/esm/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskDraw.d.ts +0 -8
  2426. package/esm/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskDrawStroke.d.ts +0 -6
  2427. package/esm/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskInline.d.ts +0 -4
  2428. package/esm/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskLocalSvg.d.ts +0 -6
  2429. package/esm/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskMove.d.ts +0 -5
  2430. package/esm/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskOptions.d.ts +0 -4
  2431. package/esm/Plugins/PolygonMask/PolygonMaskInstance.d.ts +0 -38
  2432. package/esm/Plugins/PolygonMask/Types.d.ts +0 -8
  2433. package/esm/Plugins/PolygonMask/Utils.d.ts +0 -11
  2434. package/esm/Plugins/PolygonMask/index.d.ts +0 -2
  2435. package/esm/Plugins/PolygonMask/pathseg.d.ts +0 -0
  2436. package/esm/Shapes/Circle/CircleDrawer.d.ts +0 -5
  2437. package/esm/Shapes/Circle/index.d.ts +0 -2
  2438. package/esm/Shapes/Image/ImageDrawer.d.ts +0 -18
  2439. package/esm/Shapes/Image/Utils.d.ts +0 -28
  2440. package/esm/Shapes/Image/index.d.ts +0 -2
  2441. package/esm/Shapes/Line/LineDrawer.d.ts +0 -5
  2442. package/esm/Shapes/Line/index.d.ts +0 -2
  2443. package/esm/Shapes/Polygon/PolygonDrawer.d.ts +0 -7
  2444. package/esm/Shapes/Polygon/PolygonDrawerBase.d.ts +0 -15
  2445. package/esm/Shapes/Polygon/TriangleDrawer.d.ts +0 -8
  2446. package/esm/Shapes/Polygon/index.d.ts +0 -4
  2447. package/esm/Shapes/Square/SquareDrawer.d.ts +0 -5
  2448. package/esm/Shapes/Square/index.d.ts +0 -2
  2449. package/esm/Shapes/Star/StarDrawer.d.ts +0 -5
  2450. package/esm/Shapes/Star/index.d.ts +0 -2
  2451. package/esm/Shapes/Text/TextDrawer.d.ts +0 -7
  2452. package/esm/Shapes/Text/index.d.ts +0 -2
  2453. package/esm/Types/ParticlesGroups.d.ts +0 -4
  2454. package/esm/Types/PathOptions.d.ts +0 -3
  2455. package/esm/Types/RangeValue.d.ts +0 -2
  2456. package/esm/Types/RecursivePartial.d.ts +0 -3
  2457. package/esm/Types/ShapeData.d.ts +0 -5
  2458. package/esm/Types/ShapeDrawerFunctions.d.ts +0 -11
  2459. package/esm/Types/SingleOrMultiple.d.ts +0 -1
  2460. package/esm/Types/index.d.ts +0 -6
  2461. package/esm/Types/index.js +0 -6
  2462. package/esm/Updaters/Angle/AngleUpdater.d.ts +0 -8
  2463. package/esm/Updaters/Angle/index.d.ts +0 -2
  2464. package/esm/Updaters/Color/ColorUpdater.d.ts +0 -8
  2465. package/esm/Updaters/Color/index.d.ts +0 -2
  2466. package/esm/Updaters/Life/LifeUpdater.d.ts +0 -8
  2467. package/esm/Updaters/Life/index.d.ts +0 -2
  2468. package/esm/Updaters/Opacity/OpacityUpdater.d.ts +0 -8
  2469. package/esm/Updaters/Opacity/index.d.ts +0 -2
  2470. package/esm/Updaters/OutModes/IBounceData.d.ts +0 -11
  2471. package/esm/Updaters/OutModes/OutOfCanvasUpdater.d.ts +0 -13
  2472. package/esm/Updaters/OutModes/Utils.d.ts +0 -3
  2473. package/esm/Updaters/OutModes/index.d.ts +0 -2
  2474. package/esm/Updaters/Roll/RollUpdater.d.ts +0 -6
  2475. package/esm/Updaters/Roll/index.d.ts +0 -2
  2476. package/esm/Updaters/Size/SizeUpdater.d.ts +0 -6
  2477. package/esm/Updaters/Size/index.d.ts +0 -2
  2478. package/esm/Updaters/StrokeColor/StrokeColorUpdater.d.ts +0 -8
  2479. package/esm/Updaters/StrokeColor/index.d.ts +0 -2
  2480. package/esm/Updaters/Tilt/TiltUpdater.d.ts +0 -8
  2481. package/esm/Updaters/Tilt/index.d.ts +0 -2
  2482. package/esm/Updaters/Wobble/WobbleUpdater.d.ts +0 -14
  2483. package/esm/Updaters/Wobble/index.d.ts +0 -2
  2484. package/esm/Utils/CanvasUtils.d.ts +0 -19
  2485. package/esm/Utils/ColorUtils.d.ts +0 -26
  2486. package/esm/Utils/NumberUtils.d.ts +0 -23
  2487. package/esm/Utils/Utils.d.ts +0 -38
  2488. package/esm/Utils/index.d.ts +0 -4
  2489. package/esm/Utils/index.js +0 -4
  2490. package/esm/engine.d.ts +0 -26
  2491. package/esm/full.d.ts +0 -2
  2492. package/esm/index.d.ts +0 -20
  2493. package/esm/index.engine.d.ts +0 -13
  2494. package/esm/index.slim.d.ts +0 -14
  2495. package/esm/pjs.d.ts +0 -14
  2496. package/esm/slim.d.ts +0 -2
  2497. package/full.d.ts +0 -2
  2498. package/full.js +0 -22
  2499. package/index.d.ts +0 -20
  2500. package/index.engine.d.ts +0 -13
  2501. package/index.engine.js +0 -27
  2502. package/index.js +0 -33
  2503. package/index.slim.d.ts +0 -14
  2504. package/index.slim.js +0 -30
  2505. package/pjs.d.ts +0 -14
  2506. package/slim.d.ts +0 -2
  2507. package/slim.js +0 -52
  2508. package/umd/Core/Canvas.d.ts +0 -35
  2509. package/umd/Core/Container.d.ts +0 -68
  2510. package/umd/Core/Interfaces/Colors.d.ts +0 -33
  2511. package/umd/Core/Interfaces/Gradients.d.ts +0 -21
  2512. package/umd/Core/Interfaces/IAttract.d.ts +0 -7
  2513. package/umd/Core/Interfaces/IBounds.d.ts +0 -6
  2514. package/umd/Core/Interfaces/IBubble.d.ts +0 -4
  2515. package/umd/Core/Interfaces/IBubbleParticleData.d.ts +0 -9
  2516. package/umd/Core/Interfaces/ICircleBouncer.d.ts +0 -9
  2517. package/umd/Core/Interfaces/IContainerInteractivity.d.ts +0 -6
  2518. package/umd/Core/Interfaces/IContainerPlugin.d.ts +0 -32
  2519. package/umd/Core/Interfaces/ICoordinates.d.ts +0 -15
  2520. package/umd/Core/Interfaces/IDelta.d.ts +0 -4
  2521. package/umd/Core/Interfaces/IDimension.d.ts +0 -4
  2522. package/umd/Core/Interfaces/IDistance.d.ts +0 -4
  2523. package/umd/Core/Interfaces/IExternalInteractor.d.ts +0 -6
  2524. package/umd/Core/Interfaces/IInteractor.d.ts +0 -6
  2525. package/umd/Core/Interfaces/IMouseData.d.ts +0 -9
  2526. package/umd/Core/Interfaces/IMovePathGenerator.d.ts +0 -8
  2527. package/umd/Core/Interfaces/IParticle.d.ts +0 -55
  2528. package/umd/Core/Interfaces/IParticleGradientAnimation.d.ts +0 -8
  2529. package/umd/Core/Interfaces/IParticleGradientColorAnimation.d.ts +0 -7
  2530. package/umd/Core/Interfaces/IParticleGravity.d.ts +0 -5
  2531. package/umd/Core/Interfaces/IParticleHslAnimation.d.ts +0 -6
  2532. package/umd/Core/Interfaces/IParticleLife.d.ts +0 -7
  2533. package/umd/Core/Interfaces/IParticleLoops.d.ts +0 -4
  2534. package/umd/Core/Interfaces/IParticleRetinaProps.d.ts +0 -12
  2535. package/umd/Core/Interfaces/IParticleRoll.d.ts +0 -9
  2536. package/umd/Core/Interfaces/IParticleSpin.d.ts +0 -9
  2537. package/umd/Core/Interfaces/IParticleUpdater.d.ts +0 -9
  2538. package/umd/Core/Interfaces/IParticleValueAnimation.d.ts +0 -17
  2539. package/umd/Core/Interfaces/IParticleWobble.d.ts +0 -4
  2540. package/umd/Core/Interfaces/IParticlesFrequencies.d.ts +0 -4
  2541. package/umd/Core/Interfaces/IParticlesInteractor.d.ts +0 -7
  2542. package/umd/Core/Interfaces/IPlugin.d.ts +0 -11
  2543. package/umd/Core/Interfaces/IRangeValue.d.ts +0 -4
  2544. package/umd/Core/Interfaces/IRectSideResult.d.ts +0 -5
  2545. package/umd/Core/Interfaces/IRepulse.d.ts +0 -7
  2546. package/umd/Core/Interfaces/IShapeDrawer.d.ts +0 -10
  2547. package/umd/Core/Interfaces/IShapeValues.d.ts +0 -8
  2548. package/umd/Core/Interfaces/index.d.ts +0 -37
  2549. package/umd/Core/Interfaces/index.js +0 -59
  2550. package/umd/Core/Loader.d.ts +0 -32
  2551. package/umd/Core/Particle.d.ts +0 -73
  2552. package/umd/Core/Particles.d.ts +0 -46
  2553. package/umd/Core/Retina.d.ts +0 -26
  2554. package/umd/Core/Utils/Circle.d.ts +0 -8
  2555. package/umd/Core/Utils/CircleWarp.d.ts +0 -9
  2556. package/umd/Core/Utils/Constants.d.ts +0 -18
  2557. package/umd/Core/Utils/EventListeners.d.ts +0 -33
  2558. package/umd/Core/Utils/ExternalInteractorBase.d.ts +0 -12
  2559. package/umd/Core/Utils/FrameManager.d.ts +0 -6
  2560. package/umd/Core/Utils/InteractionManager.d.ts +0 -14
  2561. package/umd/Core/Utils/ParticlesInteractorBase.d.ts +0 -12
  2562. package/umd/Core/Utils/ParticlesMover.d.ts +0 -13
  2563. package/umd/Core/Utils/ParticlesMover.js +0 -196
  2564. package/umd/Core/Utils/Plugins.d.ts +0 -36
  2565. package/umd/Core/Utils/Point.d.ts +0 -7
  2566. package/umd/Core/Utils/QuadTree.d.ts +0 -23
  2567. package/umd/Core/Utils/Range.d.ts +0 -7
  2568. package/umd/Core/Utils/Rectangle.d.ts +0 -8
  2569. package/umd/Core/Utils/Vector.d.ts +0 -29
  2570. package/umd/Core/Utils/Vector3d.d.ts +0 -18
  2571. package/umd/Core/Utils/index.d.ts +0 -16
  2572. package/umd/Core/Utils/index.js +0 -38
  2573. package/umd/Core/index.d.ts +0 -8
  2574. package/umd/Core/index.js +0 -30
  2575. package/umd/Enums/AnimationStatus.d.ts +0 -4
  2576. package/umd/Enums/Directions/MoveDirection.d.ts +0 -12
  2577. package/umd/Enums/Directions/OutModeDirection.d.ts +0 -6
  2578. package/umd/Enums/Directions/RotateDirection.d.ts +0 -6
  2579. package/umd/Enums/Directions/TiltDirection.d.ts +0 -6
  2580. package/umd/Enums/Directions/index.d.ts +0 -4
  2581. package/umd/Enums/Directions/index.js +0 -26
  2582. package/umd/Enums/InteractivityDetect.d.ts +0 -5
  2583. package/umd/Enums/Modes/ClickMode.d.ts +0 -9
  2584. package/umd/Enums/Modes/CollisionMode.d.ts +0 -5
  2585. package/umd/Enums/Modes/DestroyMode.d.ts +0 -4
  2586. package/umd/Enums/Modes/DivMode.d.ts +0 -5
  2587. package/umd/Enums/Modes/HoverMode.d.ts +0 -11
  2588. package/umd/Enums/Modes/OutMode.d.ts +0 -10
  2589. package/umd/Enums/Modes/ResponsiveMode.d.ts +0 -4
  2590. package/umd/Enums/Modes/RollMode.d.ts +0 -5
  2591. package/umd/Enums/Modes/SizeMode.d.ts +0 -4
  2592. package/umd/Enums/Modes/ThemeMode.d.ts +0 -5
  2593. package/umd/Enums/Modes/index.d.ts +0 -10
  2594. package/umd/Enums/Modes/index.js +0 -32
  2595. package/umd/Enums/Types/AlterType.d.ts +0 -4
  2596. package/umd/Enums/Types/DestroyType.d.ts +0 -5
  2597. package/umd/Enums/Types/DivType.d.ts +0 -4
  2598. package/umd/Enums/Types/EasingType.d.ts +0 -10
  2599. package/umd/Enums/Types/GradientType.d.ts +0 -5
  2600. package/umd/Enums/Types/InteractorType.d.ts +0 -4
  2601. package/umd/Enums/Types/OrbitType.d.ts +0 -4
  2602. package/umd/Enums/Types/OrbitType.js +0 -12
  2603. package/umd/Enums/Types/ShapeType.d.ts +0 -13
  2604. package/umd/Enums/Types/StartValueType.d.ts +0 -5
  2605. package/umd/Enums/Types/index.d.ts +0 -9
  2606. package/umd/Enums/Types/index.js +0 -31
  2607. package/umd/Enums/index.d.ts +0 -5
  2608. package/umd/Enums/index.js +0 -27
  2609. package/umd/Interactions/External/Attract/Attractor.d.ts +0 -11
  2610. package/umd/Interactions/External/Attract/index.d.ts +0 -2
  2611. package/umd/Interactions/External/Bounce/Bouncer.d.ts +0 -11
  2612. package/umd/Interactions/External/Bounce/index.d.ts +0 -2
  2613. package/umd/Interactions/External/Bubble/Bubbler.d.ts +0 -16
  2614. package/umd/Interactions/External/Bubble/IBubblerProcessParam.d.ts +0 -10
  2615. package/umd/Interactions/External/Bubble/ProcessBubbleType.d.ts +0 -5
  2616. package/umd/Interactions/External/Bubble/index.d.ts +0 -2
  2617. package/umd/Interactions/External/Connect/Connector.d.ts +0 -8
  2618. package/umd/Interactions/External/Connect/index.d.ts +0 -2
  2619. package/umd/Interactions/External/Grab/Grabber.d.ts +0 -8
  2620. package/umd/Interactions/External/Grab/index.d.ts +0 -2
  2621. package/umd/Interactions/External/Repulse/Repulser.d.ts +0 -12
  2622. package/umd/Interactions/External/Repulse/index.d.ts +0 -2
  2623. package/umd/Interactions/External/Trail/TrailMaker.d.ts +0 -10
  2624. package/umd/Interactions/External/Trail/index.d.ts +0 -2
  2625. package/umd/Interactions/Particles/Attract/Attractor.d.ts +0 -8
  2626. package/umd/Interactions/Particles/Attract/index.d.ts +0 -2
  2627. package/umd/Interactions/Particles/Collisions/Collider.d.ts +0 -10
  2628. package/umd/Interactions/Particles/Collisions/index.d.ts +0 -2
  2629. package/umd/Interactions/Particles/Links/ILink.d.ts +0 -9
  2630. package/umd/Interactions/Particles/Links/LinkInstance.d.ts +0 -10
  2631. package/umd/Interactions/Particles/Links/LinkParticle.d.ts +0 -5
  2632. package/umd/Interactions/Particles/Links/Linker.d.ts +0 -10
  2633. package/umd/Interactions/Particles/Links/index.d.ts +0 -2
  2634. package/umd/Interactions/Particles/Links/interaction.d.ts +0 -2
  2635. package/umd/Interactions/Particles/Links/plugin.d.ts +0 -2
  2636. package/umd/Options/Classes/AnimatableColor.d.ts +0 -11
  2637. package/umd/Options/Classes/AnimatableGradient.d.ts +0 -53
  2638. package/umd/Options/Classes/AnimationOptions.d.ts +0 -11
  2639. package/umd/Options/Classes/Background/Background.d.ts +0 -14
  2640. package/umd/Options/Classes/BackgroundMask/BackgroundMask.d.ts +0 -11
  2641. package/umd/Options/Classes/BackgroundMask/BackgroundMaskCover.d.ts +0 -10
  2642. package/umd/Options/Classes/ColorAnimation.d.ts +0 -12
  2643. package/umd/Options/Classes/FullScreen/FullScreen.d.ts +0 -9
  2644. package/umd/Options/Classes/HslAnimation.d.ts +0 -11
  2645. package/umd/Options/Classes/Interactivity/Events/ClickEvent.d.ts +0 -10
  2646. package/umd/Options/Classes/Interactivity/Events/DivEvent.d.ts +0 -18
  2647. package/umd/Options/Classes/Interactivity/Events/Events.d.ts +0 -20
  2648. package/umd/Options/Classes/Interactivity/Events/HoverEvent.d.ts +0 -12
  2649. package/umd/Options/Classes/Interactivity/Events/Parallax.d.ts +0 -10
  2650. package/umd/Options/Classes/Interactivity/Interactivity.d.ts +0 -15
  2651. package/umd/Options/Classes/Interactivity/Modes/Attract.d.ts +0 -14
  2652. package/umd/Options/Classes/Interactivity/Modes/Bounce.d.ts +0 -8
  2653. package/umd/Options/Classes/Interactivity/Modes/Bubble.d.ts +0 -9
  2654. package/umd/Options/Classes/Interactivity/Modes/BubbleBase.d.ts +0 -13
  2655. package/umd/Options/Classes/Interactivity/Modes/BubbleDiv.d.ts +0 -11
  2656. package/umd/Options/Classes/Interactivity/Modes/Connect.d.ts +0 -15
  2657. package/umd/Options/Classes/Interactivity/Modes/ConnectLinks.d.ts +0 -8
  2658. package/umd/Options/Classes/Interactivity/Modes/Grab.d.ts +0 -14
  2659. package/umd/Options/Classes/Interactivity/Modes/GrabLinks.d.ts +0 -12
  2660. package/umd/Options/Classes/Interactivity/Modes/Light.d.ts +0 -11
  2661. package/umd/Options/Classes/Interactivity/Modes/LightArea.d.ts +0 -10
  2662. package/umd/Options/Classes/Interactivity/Modes/LightGradient.d.ts +0 -10
  2663. package/umd/Options/Classes/Interactivity/Modes/LightShadow.d.ts +0 -10
  2664. package/umd/Options/Classes/Interactivity/Modes/Modes.d.ts +0 -29
  2665. package/umd/Options/Classes/Interactivity/Modes/Push.d.ts +0 -12
  2666. package/umd/Options/Classes/Interactivity/Modes/Remove.d.ts +0 -10
  2667. package/umd/Options/Classes/Interactivity/Modes/Repulse.d.ts +0 -9
  2668. package/umd/Options/Classes/Interactivity/Modes/RepulseBase.d.ts +0 -14
  2669. package/umd/Options/Classes/Interactivity/Modes/RepulseDiv.d.ts +0 -11
  2670. package/umd/Options/Classes/Interactivity/Modes/Slow.d.ts +0 -11
  2671. package/umd/Options/Classes/Interactivity/Modes/Trail.d.ts +0 -12
  2672. package/umd/Options/Classes/ManualParticle.d.ts +0 -10
  2673. package/umd/Options/Classes/Motion/Motion.d.ts +0 -10
  2674. package/umd/Options/Classes/Motion/MotionReduce.d.ts +0 -9
  2675. package/umd/Options/Classes/Options.d.ts +0 -48
  2676. package/umd/Options/Classes/OptionsColor.d.ts +0 -10
  2677. package/umd/Options/Classes/Particles/Bounce/Bounce.d.ts +0 -10
  2678. package/umd/Options/Classes/Particles/Bounce/BounceFactor.d.ts +0 -4
  2679. package/umd/Options/Classes/Particles/Collisions/Collisions.d.ts +0 -14
  2680. package/umd/Options/Classes/Particles/Collisions/CollisionsOverlap.d.ts +0 -9
  2681. package/umd/Options/Classes/Particles/Destroy/Destroy.d.ts +0 -11
  2682. package/umd/Options/Classes/Particles/Destroy/Split.d.ts +0 -15
  2683. package/umd/Options/Classes/Particles/Destroy/SplitFactor.d.ts +0 -4
  2684. package/umd/Options/Classes/Particles/Destroy/SplitRate.d.ts +0 -4
  2685. package/umd/Options/Classes/Particles/Life/Life.d.ts +0 -12
  2686. package/umd/Options/Classes/Particles/Life/LifeDelay.d.ts +0 -9
  2687. package/umd/Options/Classes/Particles/Life/LifeDuration.d.ts +0 -9
  2688. package/umd/Options/Classes/Particles/Links/Links.d.ts +0 -22
  2689. package/umd/Options/Classes/Particles/Links/LinksShadow.d.ts +0 -11
  2690. package/umd/Options/Classes/Particles/Links/LinksTriangle.d.ts +0 -12
  2691. package/umd/Options/Classes/Particles/Move/Attract.d.ts +0 -15
  2692. package/umd/Options/Classes/Particles/Move/Move.d.ts +0 -44
  2693. package/umd/Options/Classes/Particles/Move/MoveAngle.d.ts +0 -9
  2694. package/umd/Options/Classes/Particles/Move/MoveGravity.d.ts +0 -11
  2695. package/umd/Options/Classes/Particles/Move/OutModes.d.ts +0 -13
  2696. package/umd/Options/Classes/Particles/Move/Path/Path.d.ts +0 -13
  2697. package/umd/Options/Classes/Particles/Move/Path/PathDelay.d.ts +0 -4
  2698. package/umd/Options/Classes/Particles/Move/Spin.d.ts +0 -11
  2699. package/umd/Options/Classes/Particles/Move/Trail.d.ts +0 -11
  2700. package/umd/Options/Classes/Particles/Number/Density.d.ts +0 -12
  2701. package/umd/Options/Classes/Particles/Number/ParticlesNumber.d.ts +0 -13
  2702. package/umd/Options/Classes/Particles/Opacity/Opacity.d.ts +0 -12
  2703. package/umd/Options/Classes/Particles/Opacity/OpacityAnimation.d.ts +0 -14
  2704. package/umd/Options/Classes/Particles/Orbit/Orbit.d.ts +0 -18
  2705. package/umd/Options/Classes/Particles/Orbit/OrbitRotation.d.ts +0 -7
  2706. package/umd/Options/Classes/Particles/ParticlesOptions.d.ts +0 -58
  2707. package/umd/Options/Classes/Particles/Repulse/Repulse.d.ts +0 -13
  2708. package/umd/Options/Classes/Particles/Roll/Roll.d.ts +0 -16
  2709. package/umd/Options/Classes/Particles/Roll/RollLight.d.ts +0 -9
  2710. package/umd/Options/Classes/Particles/Rotate/Rotate.d.ts +0 -13
  2711. package/umd/Options/Classes/Particles/Rotate/RotateAnimation.d.ts +0 -10
  2712. package/umd/Options/Classes/Particles/Shadow.d.ts +0 -13
  2713. package/umd/Options/Classes/Particles/Shape/Shape.d.ts +0 -27
  2714. package/umd/Options/Classes/Particles/Size/Size.d.ts +0 -12
  2715. package/umd/Options/Classes/Particles/Size/SizeAnimation.d.ts +0 -14
  2716. package/umd/Options/Classes/Particles/Stroke.d.ts +0 -11
  2717. package/umd/Options/Classes/Particles/Tilt/Tilt.d.ts +0 -13
  2718. package/umd/Options/Classes/Particles/Tilt/TiltAnimation.d.ts +0 -10
  2719. package/umd/Options/Classes/Particles/Twinkle/Twinkle.d.ts +0 -10
  2720. package/umd/Options/Classes/Particles/Twinkle/TwinkleValues.d.ts +0 -12
  2721. package/umd/Options/Classes/Particles/Wobble/Wobble.d.ts +0 -10
  2722. package/umd/Options/Classes/Particles/ZIndex/ZIndex.d.ts +0 -11
  2723. package/umd/Options/Classes/Random.d.ts +0 -9
  2724. package/umd/Options/Classes/Responsive.d.ts +0 -12
  2725. package/umd/Options/Classes/Theme/Theme.d.ts +0 -12
  2726. package/umd/Options/Classes/Theme/ThemeDefault.d.ts +0 -11
  2727. package/umd/Options/Classes/ValueWithRandom.d.ts +0 -10
  2728. package/umd/Options/Interfaces/Background/IBackground.d.ts +0 -9
  2729. package/umd/Options/Interfaces/BackgroundMask/IBackgroundMask.d.ts +0 -7
  2730. package/umd/Options/Interfaces/BackgroundMask/IBackgroundMaskCover.d.ts +0 -5
  2731. package/umd/Options/Interfaces/FullScreen/IFullScreen.d.ts +0 -4
  2732. package/umd/Options/Interfaces/IAnimatable.d.ts +0 -4
  2733. package/umd/Options/Interfaces/IAnimatableColor.d.ts +0 -6
  2734. package/umd/Options/Interfaces/IAnimatableGradient.d.ts +0 -8
  2735. package/umd/Options/Interfaces/IAnimation.d.ts +0 -7
  2736. package/umd/Options/Interfaces/IColorAnimation.d.ts +0 -5
  2737. package/umd/Options/Interfaces/IHslAnimation.d.ts +0 -6
  2738. package/umd/Options/Interfaces/IManualParticle.d.ts +0 -7
  2739. package/umd/Options/Interfaces/IOptionLoader.d.ts +0 -4
  2740. package/umd/Options/Interfaces/IOptions.d.ts +0 -34
  2741. package/umd/Options/Interfaces/IOptionsColor.d.ts +0 -2
  2742. package/umd/Options/Interfaces/IOptionsGradient.d.ts +0 -13
  2743. package/umd/Options/Interfaces/IRandom.d.ts +0 -4
  2744. package/umd/Options/Interfaces/IResponsive.d.ts +0 -8
  2745. package/umd/Options/Interfaces/IValueWithRandom.d.ts +0 -6
  2746. package/umd/Options/Interfaces/Interactivity/Events/IClickEvent.d.ts +0 -6
  2747. package/umd/Options/Interfaces/Interactivity/Events/IDivEvent.d.ts +0 -11
  2748. package/umd/Options/Interfaces/Interactivity/Events/IEvents.d.ts +0 -13
  2749. package/umd/Options/Interfaces/Interactivity/Events/IHoverEvent.d.ts +0 -8
  2750. package/umd/Options/Interfaces/Interactivity/Events/IParallax.d.ts +0 -5
  2751. package/umd/Options/Interfaces/Interactivity/IInteractivity.d.ts +0 -9
  2752. package/umd/Options/Interfaces/Interactivity/Modes/IAttract.d.ts +0 -9
  2753. package/umd/Options/Interfaces/Interactivity/Modes/IBounce.d.ts +0 -3
  2754. package/umd/Options/Interfaces/Interactivity/Modes/IBubble.d.ts +0 -6
  2755. package/umd/Options/Interfaces/Interactivity/Modes/IBubbleBase.d.ts +0 -10
  2756. package/umd/Options/Interfaces/Interactivity/Modes/IBubbleDiv.d.ts +0 -4
  2757. package/umd/Options/Interfaces/Interactivity/Modes/IConnect.d.ts +0 -8
  2758. package/umd/Options/Interfaces/Interactivity/Modes/IConnectLinks.d.ts +0 -3
  2759. package/umd/Options/Interfaces/Interactivity/Modes/IGrab.d.ts +0 -7
  2760. package/umd/Options/Interfaces/Interactivity/Modes/IGrabLinks.d.ts +0 -7
  2761. package/umd/Options/Interfaces/Interactivity/Modes/ILight.d.ts +0 -6
  2762. package/umd/Options/Interfaces/Interactivity/Modes/ILightArea.d.ts +0 -9
  2763. package/umd/Options/Interfaces/Interactivity/Modes/ILightShadow.d.ts +0 -5
  2764. package/umd/Options/Interfaces/Interactivity/Modes/IModeDiv.d.ts +0 -5
  2765. package/umd/Options/Interfaces/Interactivity/Modes/IModes.d.ts +0 -22
  2766. package/umd/Options/Interfaces/Interactivity/Modes/IPush.d.ts +0 -6
  2767. package/umd/Options/Interfaces/Interactivity/Modes/IRemove.d.ts +0 -4
  2768. package/umd/Options/Interfaces/Interactivity/Modes/IRepulse.d.ts +0 -6
  2769. package/umd/Options/Interfaces/Interactivity/Modes/IRepulseBase.d.ts +0 -9
  2770. package/umd/Options/Interfaces/Interactivity/Modes/IRepulseDiv.d.ts +0 -4
  2771. package/umd/Options/Interfaces/Interactivity/Modes/ISlow.d.ts +0 -5
  2772. package/umd/Options/Interfaces/Interactivity/Modes/ITrail.d.ts +0 -8
  2773. package/umd/Options/Interfaces/Motion/IMotion.d.ts +0 -5
  2774. package/umd/Options/Interfaces/Motion/IMotionReduce.d.ts +0 -4
  2775. package/umd/Options/Interfaces/Particles/Bounce/IBounce.d.ts +0 -5
  2776. package/umd/Options/Interfaces/Particles/Collisions/ICollisions.d.ts +0 -9
  2777. package/umd/Options/Interfaces/Particles/Collisions/ICollisionsOverlap.d.ts +0 -4
  2778. package/umd/Options/Interfaces/Particles/Destroy/IDestroy.d.ts +0 -6
  2779. package/umd/Options/Interfaces/Particles/Destroy/ISplit.d.ts +0 -10
  2780. package/umd/Options/Interfaces/Particles/IParticles.d.ts +0 -52
  2781. package/umd/Options/Interfaces/Particles/IShadow.d.ts +0 -8
  2782. package/umd/Options/Interfaces/Particles/IStroke.d.ts +0 -7
  2783. package/umd/Options/Interfaces/Particles/Life/ILife.d.ts +0 -7
  2784. package/umd/Options/Interfaces/Particles/Life/ILifeDelay.d.ts +0 -4
  2785. package/umd/Options/Interfaces/Particles/Life/ILifeDuration.d.ts +0 -4
  2786. package/umd/Options/Interfaces/Particles/Links/ILinks.d.ts +0 -17
  2787. package/umd/Options/Interfaces/Particles/Links/ILinksShadow.d.ts +0 -6
  2788. package/umd/Options/Interfaces/Particles/Links/ILinksTriangle.d.ts +0 -7
  2789. package/umd/Options/Interfaces/Particles/Move/IAttract.d.ts +0 -9
  2790. package/umd/Options/Interfaces/Particles/Move/IMove.d.ts +0 -35
  2791. package/umd/Options/Interfaces/Particles/Move/IMoveAngle.d.ts +0 -5
  2792. package/umd/Options/Interfaces/Particles/Move/IMoveGravity.d.ts +0 -7
  2793. package/umd/Options/Interfaces/Particles/Move/IOutModes.d.ts +0 -8
  2794. package/umd/Options/Interfaces/Particles/Move/ISpin.d.ts +0 -7
  2795. package/umd/Options/Interfaces/Particles/Move/ITrail.d.ts +0 -6
  2796. package/umd/Options/Interfaces/Particles/Move/Path/IPath.d.ts +0 -9
  2797. package/umd/Options/Interfaces/Particles/Number/IDensity.d.ts +0 -6
  2798. package/umd/Options/Interfaces/Particles/Number/IParticlesNumber.d.ts +0 -7
  2799. package/umd/Options/Interfaces/Particles/Opacity/IOpacity.d.ts +0 -6
  2800. package/umd/Options/Interfaces/Particles/Opacity/IOpacityAnimation.d.ts +0 -8
  2801. package/umd/Options/Interfaces/Particles/Orbit/IOrbit.d.ts +0 -13
  2802. package/umd/Options/Interfaces/Particles/Repulse/IRepulse.d.ts +0 -9
  2803. package/umd/Options/Interfaces/Particles/Roll/IRoll.d.ts +0 -12
  2804. package/umd/Options/Interfaces/Particles/Roll/IRollLight.d.ts +0 -5
  2805. package/umd/Options/Interfaces/Particles/Rotate/IRotate.d.ts +0 -8
  2806. package/umd/Options/Interfaces/Particles/Rotate/IRotateAnimation.d.ts +0 -6
  2807. package/umd/Options/Interfaces/Particles/Shape/ICharacterShape.d.ts +0 -8
  2808. package/umd/Options/Interfaces/Particles/Shape/IImageShape.d.ts +0 -8
  2809. package/umd/Options/Interfaces/Particles/Shape/IPolygonShape.d.ts +0 -5
  2810. package/umd/Options/Interfaces/Particles/Shape/IShape.d.ts +0 -16
  2811. package/umd/Options/Interfaces/Particles/Shape/IShapeValues.d.ts +0 -1
  2812. package/umd/Options/Interfaces/Particles/Shape/IStarShape.d.ts +0 -6
  2813. package/umd/Options/Interfaces/Particles/Size/ISize.d.ts +0 -6
  2814. package/umd/Options/Interfaces/Particles/Size/ISizeAnimation.d.ts +0 -8
  2815. package/umd/Options/Interfaces/Particles/Tilt/ITilt.d.ts +0 -8
  2816. package/umd/Options/Interfaces/Particles/Tilt/ITiltAnimation.d.ts +0 -6
  2817. package/umd/Options/Interfaces/Particles/Twinkle/ITwinkle.d.ts +0 -5
  2818. package/umd/Options/Interfaces/Particles/Twinkle/ITwinkleValues.d.ts +0 -8
  2819. package/umd/Options/Interfaces/Particles/Wobble/IWobble.d.ts +0 -6
  2820. package/umd/Options/Interfaces/Particles/ZIndex/IZIndex.d.ts +0 -6
  2821. package/umd/Options/Interfaces/Theme/ITheme.d.ts +0 -8
  2822. package/umd/Options/Interfaces/Theme/IThemeDefault.d.ts +0 -6
  2823. package/umd/Plugins/Absorbers/AbsorberContainer.d.ts +0 -7
  2824. package/umd/Plugins/Absorbers/AbsorberInstance.d.ts +0 -33
  2825. package/umd/Plugins/Absorbers/Absorbers.d.ts +0 -22
  2826. package/umd/Plugins/Absorbers/Enums/AbsorberClickMode.d.ts +0 -3
  2827. package/umd/Plugins/Absorbers/Enums/index.d.ts +0 -1
  2828. package/umd/Plugins/Absorbers/Enums/index.js +0 -23
  2829. package/umd/Plugins/Absorbers/Options/Classes/Absorber.d.ts +0 -18
  2830. package/umd/Plugins/Absorbers/Options/Classes/AbsorberSize.d.ts +0 -11
  2831. package/umd/Plugins/Absorbers/Options/Classes/AbsorberSizeLimit.d.ts +0 -9
  2832. package/umd/Plugins/Absorbers/Options/Interfaces/IAbsorber.d.ts +0 -13
  2833. package/umd/Plugins/Absorbers/Options/Interfaces/IAbsorberOptions.d.ts +0 -12
  2834. package/umd/Plugins/Absorbers/Options/Interfaces/IAbsorberSize.d.ts +0 -6
  2835. package/umd/Plugins/Absorbers/Options/Interfaces/IAbsorberSizeLimit.d.ts +0 -4
  2836. package/umd/Plugins/Absorbers/index.d.ts +0 -2
  2837. package/umd/Plugins/Emitters/EmitterContainer.d.ts +0 -10
  2838. package/umd/Plugins/Emitters/EmitterInstance.d.ts +0 -45
  2839. package/umd/Plugins/Emitters/Emitters.d.ts +0 -25
  2840. package/umd/Plugins/Emitters/EmittersEngine.d.ts +0 -7
  2841. package/umd/Plugins/Emitters/Enums/EmitterClickMode.d.ts +0 -3
  2842. package/umd/Plugins/Emitters/Enums/EmitterShapeType.d.ts +0 -4
  2843. package/umd/Plugins/Emitters/Enums/index.d.ts +0 -2
  2844. package/umd/Plugins/Emitters/Enums/index.js +0 -24
  2845. package/umd/Plugins/Emitters/IEmitterShape.d.ts +0 -4
  2846. package/umd/Plugins/Emitters/Options/Classes/Emitter.d.ts +0 -28
  2847. package/umd/Plugins/Emitters/Options/Classes/EmitterLife.d.ts +0 -11
  2848. package/umd/Plugins/Emitters/Options/Classes/EmitterRate.d.ts +0 -9
  2849. package/umd/Plugins/Emitters/Options/Classes/EmitterSize.d.ts +0 -11
  2850. package/umd/Plugins/Emitters/Options/Interfaces/IEmitter.d.ts +0 -24
  2851. package/umd/Plugins/Emitters/Options/Interfaces/IEmitterLife.d.ts +0 -6
  2852. package/umd/Plugins/Emitters/Options/Interfaces/IEmitterOptions.d.ts +0 -12
  2853. package/umd/Plugins/Emitters/Options/Interfaces/IEmitterRate.d.ts +0 -5
  2854. package/umd/Plugins/Emitters/Options/Interfaces/IEmitterSize.d.ts +0 -5
  2855. package/umd/Plugins/Emitters/ShapeManager.d.ts +0 -9
  2856. package/umd/Plugins/Emitters/Shapes/Circle/CircleShape.d.ts +0 -5
  2857. package/umd/Plugins/Emitters/Shapes/Square/SquareShape.d.ts +0 -5
  2858. package/umd/Plugins/Emitters/index.d.ts +0 -3
  2859. package/umd/Plugins/PolygonMask/Enums/PolygonMaskInlineArrangement.d.ts +0 -8
  2860. package/umd/Plugins/PolygonMask/Enums/PolygonMaskMoveType.d.ts +0 -4
  2861. package/umd/Plugins/PolygonMask/Enums/PolygonMaskType.d.ts +0 -6
  2862. package/umd/Plugins/PolygonMask/Enums/index.d.ts +0 -3
  2863. package/umd/Plugins/PolygonMask/Enums/index.js +0 -25
  2864. package/umd/Plugins/PolygonMask/Interfaces/ISvgPath.d.ts +0 -6
  2865. package/umd/Plugins/PolygonMask/Options/Classes/PolygonMask.d.ts +0 -24
  2866. package/umd/Plugins/PolygonMask/Options/Classes/PolygonMaskDraw.d.ts +0 -15
  2867. package/umd/Plugins/PolygonMask/Options/Classes/PolygonMaskDrawStroke.d.ts +0 -11
  2868. package/umd/Plugins/PolygonMask/Options/Classes/PolygonMaskInline.d.ts +0 -9
  2869. package/umd/Plugins/PolygonMask/Options/Classes/PolygonMaskLocalSvg.d.ts +0 -11
  2870. package/umd/Plugins/PolygonMask/Options/Classes/PolygonMaskMove.d.ts +0 -10
  2871. package/umd/Plugins/PolygonMask/Options/Interfaces/IPolygonMask.d.ts +0 -18
  2872. package/umd/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskDraw.d.ts +0 -8
  2873. package/umd/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskDrawStroke.d.ts +0 -6
  2874. package/umd/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskInline.d.ts +0 -4
  2875. package/umd/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskLocalSvg.d.ts +0 -6
  2876. package/umd/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskMove.d.ts +0 -5
  2877. package/umd/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskOptions.d.ts +0 -4
  2878. package/umd/Plugins/PolygonMask/PolygonMaskInstance.d.ts +0 -38
  2879. package/umd/Plugins/PolygonMask/Types.d.ts +0 -8
  2880. package/umd/Plugins/PolygonMask/Utils.d.ts +0 -11
  2881. package/umd/Plugins/PolygonMask/index.d.ts +0 -2
  2882. package/umd/Plugins/PolygonMask/pathseg.d.ts +0 -0
  2883. package/umd/Shapes/Circle/CircleDrawer.d.ts +0 -5
  2884. package/umd/Shapes/Circle/index.d.ts +0 -2
  2885. package/umd/Shapes/Image/ImageDrawer.d.ts +0 -18
  2886. package/umd/Shapes/Image/Utils.d.ts +0 -28
  2887. package/umd/Shapes/Image/index.d.ts +0 -2
  2888. package/umd/Shapes/Line/LineDrawer.d.ts +0 -5
  2889. package/umd/Shapes/Line/index.d.ts +0 -2
  2890. package/umd/Shapes/Polygon/PolygonDrawer.d.ts +0 -7
  2891. package/umd/Shapes/Polygon/PolygonDrawerBase.d.ts +0 -15
  2892. package/umd/Shapes/Polygon/TriangleDrawer.d.ts +0 -8
  2893. package/umd/Shapes/Polygon/index.d.ts +0 -4
  2894. package/umd/Shapes/Square/SquareDrawer.d.ts +0 -5
  2895. package/umd/Shapes/Square/index.d.ts +0 -2
  2896. package/umd/Shapes/Star/StarDrawer.d.ts +0 -5
  2897. package/umd/Shapes/Star/index.d.ts +0 -2
  2898. package/umd/Shapes/Text/TextDrawer.d.ts +0 -7
  2899. package/umd/Shapes/Text/index.d.ts +0 -2
  2900. package/umd/Types/ParticlesGroups.d.ts +0 -4
  2901. package/umd/Types/PathOptions.d.ts +0 -3
  2902. package/umd/Types/RangeValue.d.ts +0 -2
  2903. package/umd/Types/RecursivePartial.d.ts +0 -3
  2904. package/umd/Types/ShapeData.d.ts +0 -5
  2905. package/umd/Types/ShapeDrawerFunctions.d.ts +0 -11
  2906. package/umd/Types/SingleOrMultiple.d.ts +0 -1
  2907. package/umd/Types/index.d.ts +0 -6
  2908. package/umd/Types/index.js +0 -28
  2909. package/umd/Updaters/Angle/AngleUpdater.d.ts +0 -8
  2910. package/umd/Updaters/Angle/index.d.ts +0 -2
  2911. package/umd/Updaters/Color/ColorUpdater.d.ts +0 -8
  2912. package/umd/Updaters/Color/index.d.ts +0 -2
  2913. package/umd/Updaters/Life/LifeUpdater.d.ts +0 -8
  2914. package/umd/Updaters/Life/index.d.ts +0 -2
  2915. package/umd/Updaters/Opacity/OpacityUpdater.d.ts +0 -8
  2916. package/umd/Updaters/Opacity/index.d.ts +0 -2
  2917. package/umd/Updaters/OutModes/IBounceData.d.ts +0 -11
  2918. package/umd/Updaters/OutModes/OutOfCanvasUpdater.d.ts +0 -13
  2919. package/umd/Updaters/OutModes/Utils.d.ts +0 -3
  2920. package/umd/Updaters/OutModes/index.d.ts +0 -2
  2921. package/umd/Updaters/Roll/RollUpdater.d.ts +0 -6
  2922. package/umd/Updaters/Roll/index.d.ts +0 -2
  2923. package/umd/Updaters/Size/SizeUpdater.d.ts +0 -6
  2924. package/umd/Updaters/Size/index.d.ts +0 -2
  2925. package/umd/Updaters/StrokeColor/StrokeColorUpdater.d.ts +0 -8
  2926. package/umd/Updaters/StrokeColor/index.d.ts +0 -2
  2927. package/umd/Updaters/Tilt/TiltUpdater.d.ts +0 -8
  2928. package/umd/Updaters/Tilt/index.d.ts +0 -2
  2929. package/umd/Updaters/Wobble/WobbleUpdater.d.ts +0 -14
  2930. package/umd/Updaters/Wobble/index.d.ts +0 -2
  2931. package/umd/Utils/CanvasUtils.d.ts +0 -19
  2932. package/umd/Utils/ColorUtils.d.ts +0 -26
  2933. package/umd/Utils/NumberUtils.d.ts +0 -23
  2934. package/umd/Utils/Utils.d.ts +0 -38
  2935. package/umd/Utils/index.d.ts +0 -4
  2936. package/umd/Utils/index.js +0 -26
  2937. package/umd/engine.d.ts +0 -26
  2938. package/umd/full.d.ts +0 -2
  2939. package/umd/index.d.ts +0 -20
  2940. package/umd/index.engine.d.ts +0 -13
  2941. package/umd/index.slim.d.ts +0 -14
  2942. package/umd/pjs.d.ts +0 -14
  2943. package/umd/slim.d.ts +0 -2
package/tsparticles.js CHANGED
@@ -340,6 +340,12 @@
340
340
  Main: function() {
341
341
  return Engine;
342
342
  },
343
+ Options: function() {
344
+ return Options;
345
+ },
346
+ OptionsColor: function() {
347
+ return OptionsColor;
348
+ },
343
349
  Particle: function() {
344
350
  return Particle;
345
351
  },
@@ -349,9 +355,6 @@
349
355
  ParticlesInteractorBase: function() {
350
356
  return ParticlesInteractorBase;
351
357
  },
352
- ParticlesMover: function() {
353
- return ParticlesMover;
354
- },
355
358
  Plugins: function() {
356
359
  return Plugins;
357
360
  },
@@ -391,6 +394,21 @@
391
394
  calcEasing: function() {
392
395
  return calcEasing;
393
396
  },
397
+ calcExactPositionOrRandomFromSize: function() {
398
+ return calcExactPositionOrRandomFromSize;
399
+ },
400
+ calcExactPositionOrRandomFromSizeRanged: function() {
401
+ return calcExactPositionOrRandomFromSizeRanged;
402
+ },
403
+ calcPositionFromSize: function() {
404
+ return calcPositionFromSize;
405
+ },
406
+ calcPositionOrRandomFromSize: function() {
407
+ return calcPositionOrRandomFromSize;
408
+ },
409
+ calcPositionOrRandomFromSizeRanged: function() {
410
+ return calcPositionOrRandomFromSizeRanged;
411
+ },
394
412
  calculateBounds: function() {
395
413
  return calculateBounds;
396
414
  },
@@ -550,9 +568,18 @@
550
568
  itemFromArray: function() {
551
569
  return itemFromArray;
552
570
  },
571
+ loadAbsorbersPlugin: function() {
572
+ return loadAbsorbersPlugin;
573
+ },
574
+ loadEmittersPlugin: function() {
575
+ return loadEmittersPlugin;
576
+ },
553
577
  loadFont: function() {
554
578
  return loadFont;
555
579
  },
580
+ loadPolygonMaskPlugin: function() {
581
+ return loadPolygonMaskPlugin;
582
+ },
556
583
  mix: function() {
557
584
  return mix;
558
585
  },
@@ -596,6 +623,111 @@
596
623
  return tsParticles;
597
624
  }
598
625
  });
626
+ class Constants {}
627
+ Constants.generatedAttribute = "generated";
628
+ Constants.randomColorValue = "random";
629
+ Constants.midColorValue = "mid";
630
+ Constants.touchEndEvent = "touchend";
631
+ Constants.mouseDownEvent = "mousedown";
632
+ Constants.mouseUpEvent = "mouseup";
633
+ Constants.mouseMoveEvent = "mousemove";
634
+ Constants.touchStartEvent = "touchstart";
635
+ Constants.touchMoveEvent = "touchmove";
636
+ Constants.mouseLeaveEvent = "mouseleave";
637
+ Constants.mouseOutEvent = "mouseout";
638
+ Constants.touchCancelEvent = "touchcancel";
639
+ Constants.resizeEvent = "resize";
640
+ Constants.visibilityChangeEvent = "visibilitychange";
641
+ Constants.noPolygonDataLoaded = "No polygon data loaded.";
642
+ Constants.noPolygonFound = "No polygon found, you need to specify SVG url in config.";
643
+ class Vector {
644
+ constructor(xOrCoords, y) {
645
+ if (typeof xOrCoords !== "number" && xOrCoords) {
646
+ this.x = xOrCoords.x;
647
+ this.y = xOrCoords.y;
648
+ } else if (xOrCoords !== undefined && y !== undefined) {
649
+ this.x = xOrCoords;
650
+ this.y = y;
651
+ } else {
652
+ throw new Error("tsParticles - Vector not initialized correctly");
653
+ }
654
+ }
655
+ static clone(source) {
656
+ return Vector.create(source.x, source.y);
657
+ }
658
+ static create(x, y) {
659
+ return new Vector(x, y);
660
+ }
661
+ static get origin() {
662
+ return Vector.create(0, 0);
663
+ }
664
+ get angle() {
665
+ return Math.atan2(this.y, this.x);
666
+ }
667
+ set angle(angle) {
668
+ this.updateFromAngle(angle, this.length);
669
+ }
670
+ get length() {
671
+ return Math.sqrt(this.getLengthSq());
672
+ }
673
+ set length(length) {
674
+ this.updateFromAngle(this.angle, length);
675
+ }
676
+ add(v) {
677
+ return Vector.create(this.x + v.x, this.y + v.y);
678
+ }
679
+ addTo(v) {
680
+ this.x += v.x;
681
+ this.y += v.y;
682
+ }
683
+ sub(v) {
684
+ return Vector.create(this.x - v.x, this.y - v.y);
685
+ }
686
+ subFrom(v) {
687
+ this.x -= v.x;
688
+ this.y -= v.y;
689
+ }
690
+ mult(n) {
691
+ return Vector.create(this.x * n, this.y * n);
692
+ }
693
+ multTo(n) {
694
+ this.x *= n;
695
+ this.y *= n;
696
+ }
697
+ div(n) {
698
+ return Vector.create(this.x / n, this.y / n);
699
+ }
700
+ divTo(n) {
701
+ this.x /= n;
702
+ this.y /= n;
703
+ }
704
+ distanceTo(v) {
705
+ return this.sub(v).length;
706
+ }
707
+ getLengthSq() {
708
+ return this.x ** 2 + this.y ** 2;
709
+ }
710
+ distanceToSq(v) {
711
+ return this.sub(v).getLengthSq();
712
+ }
713
+ manhattanDistanceTo(v) {
714
+ return Math.abs(v.x - this.x) + Math.abs(v.y - this.y);
715
+ }
716
+ copy() {
717
+ return Vector.clone(this);
718
+ }
719
+ setTo(v) {
720
+ this.x = v.x;
721
+ this.y = v.y;
722
+ }
723
+ rotate(angle) {
724
+ return Vector.create(this.x * Math.cos(angle) - this.y * Math.sin(angle), this.x * Math.sin(angle) + this.y * Math.cos(angle));
725
+ }
726
+ updateFromAngle(angle, length) {
727
+ this.x = Math.cos(angle) * length;
728
+ this.y = Math.sin(angle) * length;
729
+ }
730
+ }
599
731
  function clamp(num, min, max) {
600
732
  return Math.min(Math.max(num, min), max);
601
733
  }
@@ -630,16 +762,14 @@
630
762
  } : setRangeValue(min, max);
631
763
  }
632
764
  function getValue(options) {
633
- const random = options.random;
634
- const {enable: enable, minimumValue: minimumValue} = typeof random === "boolean" ? {
765
+ const random = options.random, {enable: enable, minimumValue: minimumValue} = typeof random === "boolean" ? {
635
766
  enable: random,
636
767
  minimumValue: 0
637
768
  } : random;
638
769
  return enable ? getRangeValue(setRangeValue(options.value, minimumValue)) : getRangeValue(options.value);
639
770
  }
640
771
  function getDistances(pointA, pointB) {
641
- const dx = pointA.x - pointB.x;
642
- const dy = pointA.y - pointB.y;
772
+ const dx = pointA.x - pointB.x, dy = pointA.y - pointB.y;
643
773
  return {
644
774
  dx: dx,
645
775
  dy: dy,
@@ -715,8 +845,7 @@
715
845
 
716
846
  case "ease-out-back":
717
847
  {
718
- const c1 = 1.70158;
719
- const c3 = c1 + 1;
848
+ const c1 = 1.70158, c3 = c1 + 1;
720
849
  return 1 + c3 * Math.pow(value - 1, 3) + c1 * Math.pow(value - 1, 2);
721
850
  }
722
851
 
@@ -727,29 +856,72 @@
727
856
  return value;
728
857
  }
729
858
  }
859
+ function calcPositionFromSize(data) {
860
+ var _a, _b;
861
+ return ((_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== undefined && ((_b = data.position) === null || _b === void 0 ? void 0 : _b.y) !== undefined ? {
862
+ x: data.position.x * data.size.width / 100,
863
+ y: data.position.y * data.size.height / 100
864
+ } : undefined;
865
+ }
866
+ function calcPositionOrRandomFromSize(data) {
867
+ var _a, _b, _c, _d;
868
+ return {
869
+ x: ((_b = (_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : Math.random() * 100) * data.size.width / 100,
870
+ y: ((_d = (_c = data.position) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : Math.random() * 100) * data.size.height / 100
871
+ };
872
+ }
873
+ function calcPositionOrRandomFromSizeRanged(data) {
874
+ var _a, _b;
875
+ const position = {
876
+ x: ((_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== undefined ? getRangeValue(data.position.x) : undefined,
877
+ y: ((_b = data.position) === null || _b === void 0 ? void 0 : _b.y) !== undefined ? getRangeValue(data.position.y) : undefined
878
+ };
879
+ return calcPositionOrRandomFromSize({
880
+ size: data.size,
881
+ position: position
882
+ });
883
+ }
884
+ function calcExactPositionOrRandomFromSize(data) {
885
+ var _a, _b, _c, _d;
886
+ return {
887
+ x: (_b = (_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : Math.random() * data.size.width,
888
+ y: (_d = (_c = data.position) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : Math.random() * data.size.height
889
+ };
890
+ }
891
+ function calcExactPositionOrRandomFromSizeRanged(data) {
892
+ var _a, _b;
893
+ const position = {
894
+ x: ((_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== undefined ? getRangeValue(data.position.x) : undefined,
895
+ y: ((_b = data.position) === null || _b === void 0 ? void 0 : _b.y) !== undefined ? getRangeValue(data.position.y) : undefined
896
+ };
897
+ return calcExactPositionOrRandomFromSize({
898
+ size: data.size,
899
+ position: position
900
+ });
901
+ }
730
902
  function rectSideBounce(pSide, pOtherSide, rectSide, rectOtherSide, velocity, factor) {
731
903
  const res = {
732
904
  bounced: false
733
905
  };
734
- if (pOtherSide.min >= rectOtherSide.min && pOtherSide.min <= rectOtherSide.max && pOtherSide.max >= rectOtherSide.min && pOtherSide.max <= rectOtherSide.max) {
735
- if (pSide.max >= rectSide.min && pSide.max <= (rectSide.max + rectSide.min) / 2 && velocity > 0 || pSide.min <= rectSide.max && pSide.min > (rectSide.max + rectSide.min) / 2 && velocity < 0) {
736
- res.velocity = velocity * -factor;
737
- res.bounced = true;
738
- }
906
+ if (pOtherSide.min < rectOtherSide.min || pOtherSide.min > rectOtherSide.max || pOtherSide.max < rectOtherSide.min || pOtherSide.max > rectOtherSide.max) {
907
+ return res;
908
+ }
909
+ if (pSide.max >= rectSide.min && pSide.max <= (rectSide.max + rectSide.min) / 2 && velocity > 0 || pSide.min <= rectSide.max && pSide.min > (rectSide.max + rectSide.min) / 2 && velocity < 0) {
910
+ res.velocity = velocity * -factor;
911
+ res.bounced = true;
739
912
  }
740
913
  return res;
741
914
  }
742
915
  function checkSelector(element, selectors) {
743
- if (selectors instanceof Array) {
744
- for (const selector of selectors) {
745
- if (element.matches(selector)) {
746
- return true;
747
- }
748
- }
749
- return false;
750
- } else {
916
+ if (!(selectors instanceof Array)) {
751
917
  return element.matches(selectors);
752
918
  }
919
+ for (const selector of selectors) {
920
+ if (element.matches(selector)) {
921
+ return true;
922
+ }
923
+ }
924
+ return false;
753
925
  }
754
926
  function isSsr() {
755
927
  return typeof window === "undefined" || !window || typeof window.document === "undefined" || !window.document;
@@ -822,10 +994,7 @@
822
994
  if (key === "__proto__") {
823
995
  continue;
824
996
  }
825
- const sourceDict = source;
826
- const value = sourceDict[key];
827
- const isObject = typeof value === "object";
828
- const destDict = destination;
997
+ const sourceDict = source, value = sourceDict[key], isObject = typeof value === "object", destDict = destination;
829
998
  destDict[key] = isObject && Array.isArray(value) ? value.map((v => deepExtend(destDict[key], v))) : deepExtend(destDict[key], value);
830
999
  }
831
1000
  }
@@ -837,15 +1006,13 @@
837
1006
  function divModeExecute(mode, divs, callback) {
838
1007
  if (divs instanceof Array) {
839
1008
  for (const div of divs) {
840
- const divMode = div.mode;
841
- const divEnabled = div.enable;
1009
+ const divMode = div.mode, divEnabled = div.enable;
842
1010
  if (divEnabled && isInArray(mode, divMode)) {
843
1011
  singleDivModeExecute(div, callback);
844
1012
  }
845
1013
  }
846
1014
  } else {
847
- const divMode = divs.mode;
848
- const divEnabled = divs.enable;
1015
+ const divMode = divs.mode, divEnabled = divs.enable;
849
1016
  if (divEnabled && isInArray(mode, divMode)) {
850
1017
  singleDivModeExecute(divs, callback);
851
1018
  }
@@ -881,29 +1048,18 @@
881
1048
  };
882
1049
  }
883
1050
  function circleBounce(p1, p2) {
884
- const {x: xVelocityDiff, y: yVelocityDiff} = p1.velocity.sub(p2.velocity);
885
- const [pos1, pos2] = [ p1.position, p2.position ];
886
- const {dx: xDist, dy: yDist} = getDistances(pos2, pos1);
887
- if (xVelocityDiff * xDist + yVelocityDiff * yDist >= 0) {
888
- const angle = -Math.atan2(yDist, xDist);
889
- const m1 = p1.mass;
890
- const m2 = p2.mass;
891
- const u1 = p1.velocity.rotate(angle);
892
- const u2 = p2.velocity.rotate(angle);
893
- const v1 = collisionVelocity(u1, u2, m1, m2);
894
- const v2 = collisionVelocity(u2, u1, m1, m2);
895
- const vFinal1 = v1.rotate(-angle);
896
- const vFinal2 = v2.rotate(-angle);
897
- p1.velocity.x = vFinal1.x * p1.factor.x;
898
- p1.velocity.y = vFinal1.y * p1.factor.y;
899
- p2.velocity.x = vFinal2.x * p2.factor.x;
900
- p2.velocity.y = vFinal2.y * p2.factor.y;
1051
+ const {x: xVelocityDiff, y: yVelocityDiff} = p1.velocity.sub(p2.velocity), [pos1, pos2] = [ p1.position, p2.position ], {dx: xDist, dy: yDist} = getDistances(pos2, pos1);
1052
+ if (xVelocityDiff * xDist + yVelocityDiff * yDist < 0) {
1053
+ return;
901
1054
  }
1055
+ const angle = -Math.atan2(yDist, xDist), m1 = p1.mass, m2 = p2.mass, u1 = p1.velocity.rotate(angle), u2 = p2.velocity.rotate(angle), v1 = collisionVelocity(u1, u2, m1, m2), v2 = collisionVelocity(u2, u1, m1, m2), vFinal1 = v1.rotate(-angle), vFinal2 = v2.rotate(-angle);
1056
+ p1.velocity.x = vFinal1.x * p1.factor.x;
1057
+ p1.velocity.y = vFinal1.y * p1.factor.y;
1058
+ p2.velocity.x = vFinal2.x * p2.factor.x;
1059
+ p2.velocity.y = vFinal2.y * p2.factor.y;
902
1060
  }
903
1061
  function rectBounce(particle, divBounds) {
904
- const pPos = particle.getPosition();
905
- const size = particle.getRadius();
906
- const bounds = calculateBounds(pPos, size);
1062
+ const pPos = particle.getPosition(), size = particle.getRadius(), bounds = calculateBounds(pPos, size);
907
1063
  const resH = rectSideBounce({
908
1064
  min: bounds.left,
909
1065
  max: bounds.right
@@ -1017,11 +1173,7 @@
1017
1173
  } : input;
1018
1174
  let res;
1019
1175
  if (typeof color.value === "string") {
1020
- if (color.value === Constants.randomColorValue) {
1021
- res = getRandomRgbColor();
1022
- } else {
1023
- res = stringToRgb(color.value);
1024
- }
1176
+ res = color.value === Constants.randomColorValue ? getRandomRgbColor() : stringToRgb(color.value);
1025
1177
  } else {
1026
1178
  if (color.value instanceof Array) {
1027
1179
  const colorSelected = itemFromArray(color.value, index, useIndex);
@@ -1029,8 +1181,7 @@
1029
1181
  value: colorSelected
1030
1182
  });
1031
1183
  } else {
1032
- const colorValue = color.value;
1033
- const rgbColor = (_a = colorValue.rgb) !== null && _a !== void 0 ? _a : color.value;
1184
+ const colorValue = color.value, rgbColor = (_a = colorValue.rgb) !== null && _a !== void 0 ? _a : color.value;
1034
1185
  if (rgbColor.r !== undefined) {
1035
1186
  res = rgbColor;
1036
1187
  } else {
@@ -1053,17 +1204,14 @@
1053
1204
  return rgb !== undefined ? rgbToHsl(rgb) : undefined;
1054
1205
  }
1055
1206
  function rgbToHsl(color) {
1056
- const r1 = color.r / 255;
1057
- const g1 = color.g / 255;
1058
- const b1 = color.b / 255;
1059
- const max = Math.max(r1, g1, b1);
1060
- const min = Math.min(r1, g1, b1);
1207
+ const r1 = color.r / 255, g1 = color.g / 255, b1 = color.b / 255;
1208
+ const max = Math.max(r1, g1, b1), min = Math.min(r1, g1, b1);
1061
1209
  const res = {
1062
1210
  h: 0,
1063
1211
  l: (max + min) / 2,
1064
1212
  s: 0
1065
1213
  };
1066
- if (max != min) {
1214
+ if (max !== min) {
1067
1215
  res.s = res.l < .5 ? (max - min) / (max + min) : (max - min) / (2 - max - min);
1068
1216
  res.h = r1 === max ? (g1 - b1) / (max - min) : res.h = g1 === max ? 2 + (b1 - r1) / (max - min) : 4 + (r1 - g1) / (max - min);
1069
1217
  }
@@ -1087,8 +1235,7 @@
1087
1235
  b: 0,
1088
1236
  g: 0,
1089
1237
  r: 0
1090
- };
1091
- const hslPercent = {
1238
+ }, hslPercent = {
1092
1239
  h: hsl.h / 360,
1093
1240
  l: hsl.l / 100,
1094
1241
  s: hsl.s / 100
@@ -1098,8 +1245,7 @@
1098
1245
  result.g = hslPercent.l;
1099
1246
  result.r = hslPercent.l;
1100
1247
  } else {
1101
- const q = hslPercent.l < .5 ? hslPercent.l * (1 + hslPercent.s) : hslPercent.l + hslPercent.s - hslPercent.l * hslPercent.s;
1102
- const p = 2 * hslPercent.l - q;
1248
+ const q = hslPercent.l < .5 ? hslPercent.l * (1 + hslPercent.s) : hslPercent.l + hslPercent.s - hslPercent.l * hslPercent.s, p = 2 * hslPercent.l - q;
1103
1249
  result.r = hue2rgb(p, q, hslPercent.h + 1 / 3);
1104
1250
  result.g = hue2rgb(p, q, hslPercent.h);
1105
1251
  result.b = hue2rgb(p, q, hslPercent.h - 1 / 3);
@@ -1119,8 +1265,7 @@
1119
1265
  };
1120
1266
  }
1121
1267
  function hslToHsv(hsl) {
1122
- const l = hsl.l / 100, sl = hsl.s / 100;
1123
- const v = l + sl * Math.min(l, 1 - l), sv = !v ? 0 : 2 * (1 - l / v);
1268
+ const l = hsl.l / 100, sl = hsl.s / 100, v = l + sl * Math.min(l, 1 - l), sv = !v ? 0 : 2 * (1 - l / v);
1124
1269
  return {
1125
1270
  h: hsl.h,
1126
1271
  s: sv * 100,
@@ -1137,8 +1282,7 @@
1137
1282
  };
1138
1283
  }
1139
1284
  function hsvToHsl(hsv) {
1140
- const v = hsv.v / 100, sv = hsv.s / 100;
1141
- const l = v * (1 - sv / 2), sl = l === 0 || l === 1 ? 0 : (v - l) / Math.min(l, 1 - l);
1285
+ const v = hsv.v / 100, sv = hsv.s / 100, l = v * (1 - sv / 2), sl = l === 0 || l === 1 ? 0 : (v - l) / Math.min(l, 1 - l);
1142
1286
  return {
1143
1287
  h: hsv.h,
1144
1288
  l: l * 100,
@@ -1159,8 +1303,7 @@
1159
1303
  b: 0,
1160
1304
  g: 0,
1161
1305
  r: 0
1162
- };
1163
- const hsvPercent = {
1306
+ }, hsvPercent = {
1164
1307
  h: hsv.h / 60,
1165
1308
  s: hsv.s / 100,
1166
1309
  v: hsv.v / 100
@@ -1269,8 +1412,7 @@
1269
1412
  return getStyleFromHsl(hsvToHsl(color), opacity);
1270
1413
  }
1271
1414
  function colorMix(color1, color2, size1, size2) {
1272
- let rgb1 = color1;
1273
- let rgb2 = color2;
1415
+ let rgb1 = color1, rgb2 = color2;
1274
1416
  if (rgb1.r === undefined) {
1275
1417
  rgb1 = hslToRgb(color1);
1276
1418
  }
@@ -1288,8 +1430,7 @@
1288
1430
  if (linkColor === Constants.randomColorValue) {
1289
1431
  return getRandomRgbColor();
1290
1432
  } else if (linkColor === "mid") {
1291
- const sourceColor = (_a = p1.getFillColor()) !== null && _a !== void 0 ? _a : p1.getStrokeColor();
1292
- const destColor = (_b = p2 === null || p2 === void 0 ? void 0 : p2.getFillColor()) !== null && _b !== void 0 ? _b : p2 === null || p2 === void 0 ? void 0 : p2.getStrokeColor();
1433
+ const sourceColor = (_a = p1.getFillColor()) !== null && _a !== void 0 ? _a : p1.getStrokeColor(), destColor = (_b = p2 === null || p2 === void 0 ? void 0 : p2.getFillColor()) !== null && _b !== void 0 ? _b : p2 === null || p2 === void 0 ? void 0 : p2.getStrokeColor();
1293
1434
  if (sourceColor && destColor && p2) {
1294
1435
  return colorMix(sourceColor, destColor, p1.getRadius(), p2.getRadius());
1295
1436
  } else {
@@ -1393,13 +1534,11 @@
1393
1534
  drawLine(context, begin, end);
1394
1535
  drawn = true;
1395
1536
  } else if (warp) {
1396
- let pi1;
1397
- let pi2;
1537
+ let pi1, pi2;
1398
1538
  const endNE = {
1399
1539
  x: end.x - canvasSize.width,
1400
1540
  y: end.y
1401
- };
1402
- const d1 = getDistances(begin, endNE);
1541
+ }, d1 = getDistances(begin, endNE);
1403
1542
  if (d1.distance <= maxDistance) {
1404
1543
  const yi = begin.y - d1.dy / d1.dx * begin.x;
1405
1544
  pi1 = {
@@ -1414,11 +1553,9 @@
1414
1553
  const endSW = {
1415
1554
  x: end.x,
1416
1555
  y: end.y - canvasSize.height
1417
- };
1418
- const d2 = getDistances(begin, endSW);
1556
+ }, d2 = getDistances(begin, endSW);
1419
1557
  if (d2.distance <= maxDistance) {
1420
- const yi = begin.y - d2.dy / d2.dx * begin.x;
1421
- const xi = -yi / (d2.dy / d2.dx);
1558
+ const yi = begin.y - d2.dy / d2.dx * begin.x, xi = -yi / (d2.dy / d2.dx);
1422
1559
  pi1 = {
1423
1560
  x: xi,
1424
1561
  y: 0
@@ -1431,11 +1568,9 @@
1431
1568
  const endSE = {
1432
1569
  x: end.x - canvasSize.width,
1433
1570
  y: end.y - canvasSize.height
1434
- };
1435
- const d3 = getDistances(begin, endSE);
1571
+ }, d3 = getDistances(begin, endSE);
1436
1572
  if (d3.distance <= maxDistance) {
1437
- const yi = begin.y - d3.dy / d3.dx * begin.x;
1438
- const xi = -yi / (d3.dy / d3.dx);
1573
+ const yi = begin.y - d3.dy / d3.dx * begin.x, xi = -yi / (d3.dy / d3.dx);
1439
1574
  pi1 = {
1440
1575
  x: xi,
1441
1576
  y: yi
@@ -1487,16 +1622,11 @@
1487
1622
  context.restore();
1488
1623
  }
1489
1624
  function gradient(context, p1, p2, opacity) {
1490
- const gradStop = Math.floor(p2.getRadius() / p1.getRadius());
1491
- const color1 = p1.getFillColor();
1492
- const color2 = p2.getFillColor();
1625
+ const gradStop = Math.floor(p2.getRadius() / p1.getRadius()), color1 = p1.getFillColor(), color2 = p2.getFillColor();
1493
1626
  if (!color1 || !color2) {
1494
1627
  return;
1495
1628
  }
1496
- const sourcePos = p1.getPosition();
1497
- const destPos = p2.getPosition();
1498
- const midRgb = colorMix(color1, color2, p1.getRadius(), p2.getRadius());
1499
- const grad = context.createLinearGradient(sourcePos.x, sourcePos.y, destPos.x, destPos.y);
1629
+ const sourcePos = p1.getPosition(), destPos = p2.getPosition(), midRgb = colorMix(color1, color2, p1.getRadius(), p2.getRadius()), grad = context.createLinearGradient(sourcePos.x, sourcePos.y, destPos.x, destPos.y);
1500
1630
  grad.addColorStop(0, getStyleFromHsl(color1, opacity));
1501
1631
  grad.addColorStop(gradStop > 1 ? 1 : gradStop, getStyleFromRgb(midRgb, opacity));
1502
1632
  grad.addColorStop(1, getStyleFromHsl(color2, opacity));
@@ -1510,17 +1640,12 @@
1510
1640
  context.stroke();
1511
1641
  context.restore();
1512
1642
  }
1513
- function drawParticle(container, context, particle, delta, fillColorValue, strokeColorValue, backgroundMask, composite, radius, opacity, shadow, gradient) {
1514
- var _a, _b, _c, _d, _e, _f;
1515
- const pos = particle.getPosition();
1516
- const tiltOptions = particle.options.tilt;
1517
- const rollOptions = particle.options.roll;
1643
+ function drawParticle(container, context, particle, delta, colorStyles, backgroundMask, composite, radius, opacity, shadow) {
1644
+ var _a, _b, _c, _d;
1645
+ const pos = particle.getPosition(), tiltOptions = particle.options.tilt, rollOptions = particle.options.roll;
1518
1646
  context.save();
1519
1647
  if (tiltOptions.enable || rollOptions.enable) {
1520
- const roll = rollOptions.enable && particle.roll;
1521
- const tilt = tiltOptions.enable && particle.tilt;
1522
- const rollHorizontal = roll && (rollOptions.mode === "horizontal" || rollOptions.mode === "both");
1523
- const rollVertical = roll && (rollOptions.mode === "vertical" || rollOptions.mode === "both");
1648
+ const roll = rollOptions.enable && particle.roll, tilt = tiltOptions.enable && particle.tilt, rollHorizontal = roll && (rollOptions.mode === "horizontal" || rollOptions.mode === "both"), rollVertical = roll && (rollOptions.mode === "vertical" || rollOptions.mode === "both");
1524
1649
  context.setTransform(rollHorizontal ? Math.cos(particle.roll.angle) : 1, tilt ? Math.cos(particle.tilt.value) * particle.tilt.cosDirection : 0, tilt ? Math.sin(particle.tilt.value) * particle.tilt.sinDirection : 0, rollVertical ? Math.sin(particle.roll.angle) : 1, pos.x, pos.y);
1525
1650
  } else {
1526
1651
  context.translate(pos.x, pos.y);
@@ -1540,29 +1665,16 @@
1540
1665
  context.shadowOffsetX = shadow.offset.x;
1541
1666
  context.shadowOffsetY = shadow.offset.y;
1542
1667
  }
1543
- if (gradient) {
1544
- const gradientAngle = gradient.angle.value;
1545
- const fillGradient = gradient.type === "radial" ? context.createRadialGradient(0, 0, 0, 0, 0, radius) : context.createLinearGradient(Math.cos(gradientAngle) * -radius, Math.sin(gradientAngle) * -radius, Math.cos(gradientAngle) * radius, Math.sin(gradientAngle) * radius);
1546
- for (const color of gradient.colors) {
1547
- fillGradient.addColorStop(color.stop, getStyleFromHsl({
1548
- h: color.value.h.value,
1549
- s: color.value.s.value,
1550
- l: color.value.l.value
1551
- }, (_d = (_c = color.opacity) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : opacity));
1552
- }
1553
- context.fillStyle = fillGradient;
1554
- } else {
1555
- if (fillColorValue) {
1556
- context.fillStyle = fillColorValue;
1557
- }
1668
+ if (colorStyles.fill) {
1669
+ context.fillStyle = colorStyles.fill;
1558
1670
  }
1559
1671
  const stroke = particle.stroke;
1560
- context.lineWidth = (_e = particle.strokeWidth) !== null && _e !== void 0 ? _e : 0;
1561
- if (strokeColorValue) {
1562
- context.strokeStyle = strokeColorValue;
1672
+ context.lineWidth = (_c = particle.strokeWidth) !== null && _c !== void 0 ? _c : 0;
1673
+ if (colorStyles.stroke) {
1674
+ context.strokeStyle = colorStyles.stroke;
1563
1675
  }
1564
1676
  drawShape(container, context, particle, radius, opacity, delta);
1565
- if (((_f = stroke === null || stroke === void 0 ? void 0 : stroke.width) !== null && _f !== void 0 ? _f : 0) > 0) {
1677
+ if (((_d = stroke === null || stroke === void 0 ? void 0 : stroke.width) !== null && _d !== void 0 ? _d : 0) > 0) {
1566
1678
  context.stroke();
1567
1679
  }
1568
1680
  if (particle.close) {
@@ -1616,20 +1728,21 @@
1616
1728
  context.restore();
1617
1729
  }
1618
1730
  function drawParticlePlugin(context, plugin, particle, delta) {
1619
- if (plugin.drawParticle !== undefined) {
1620
- context.save();
1621
- plugin.drawParticle(context, particle, delta);
1622
- context.restore();
1731
+ if (!plugin.drawParticle) {
1732
+ return;
1623
1733
  }
1734
+ context.save();
1735
+ plugin.drawParticle(context, particle, delta);
1736
+ context.restore();
1624
1737
  }
1625
1738
  function drawEllipse(context, particle, fillColorValue, radius, opacity, width, rotation, start, end) {
1739
+ if (width <= 0) {
1740
+ return;
1741
+ }
1626
1742
  const pos = particle.getPosition();
1627
1743
  if (fillColorValue) {
1628
1744
  context.strokeStyle = getStyleFromHsl(fillColorValue, opacity);
1629
1745
  }
1630
- if (width === 0) {
1631
- return;
1632
- }
1633
1746
  context.lineWidth = width;
1634
1747
  const rotationRadian = rotation * Math.PI / 180;
1635
1748
  context.beginPath();
@@ -1643,151 +1756,293 @@
1643
1756
  l: color.l + (type === "darken" ? -1 : 1) * value
1644
1757
  };
1645
1758
  }
1646
- class Range {
1647
- constructor(x, y) {
1648
- this.position = {
1649
- x: x,
1650
- y: y
1759
+ class Canvas {
1760
+ constructor(container) {
1761
+ this.container = container;
1762
+ this.size = {
1763
+ height: 0,
1764
+ width: 0
1651
1765
  };
1766
+ this.context = null;
1767
+ this.generatedCanvas = false;
1652
1768
  }
1653
- }
1654
- class Circle extends Range {
1655
- constructor(x, y, radius) {
1656
- super(x, y);
1657
- this.radius = radius;
1658
- }
1659
- contains(point) {
1660
- return getDistance(point, this.position) <= this.radius;
1769
+ init() {
1770
+ this.resize();
1771
+ this.initStyle();
1772
+ this.initCover();
1773
+ this.initTrail();
1774
+ this.initBackground();
1775
+ this.paint();
1661
1776
  }
1662
- intersects(range) {
1663
- const rect = range;
1664
- const circle = range;
1665
- const pos1 = this.position;
1666
- const pos2 = range.position;
1667
- const xDist = Math.abs(pos2.x - pos1.x);
1668
- const yDist = Math.abs(pos2.y - pos1.y);
1669
- const r = this.radius;
1670
- if (circle.radius !== undefined) {
1671
- const rSum = r + circle.radius;
1672
- const dist = Math.sqrt(xDist * xDist + yDist + yDist);
1673
- return rSum > dist;
1674
- } else if (rect.size !== undefined) {
1675
- const w = rect.size.width;
1676
- const h = rect.size.height;
1677
- const edges = Math.pow(xDist - w, 2) + Math.pow(yDist - h, 2);
1678
- if (xDist > r + w || yDist > r + h) {
1679
- return false;
1680
- }
1681
- if (xDist <= w || yDist <= h) {
1682
- return true;
1683
- }
1684
- return edges <= r * r;
1777
+ loadCanvas(canvas) {
1778
+ var _a;
1779
+ if (this.generatedCanvas) {
1780
+ (_a = this.element) === null || _a === void 0 ? void 0 : _a.remove();
1685
1781
  }
1686
- return false;
1782
+ this.generatedCanvas = canvas.dataset && Constants.generatedAttribute in canvas.dataset ? canvas.dataset[Constants.generatedAttribute] === "true" : this.generatedCanvas;
1783
+ this.element = canvas;
1784
+ this.originalStyle = deepExtend({}, this.element.style);
1785
+ this.size.height = canvas.offsetHeight;
1786
+ this.size.width = canvas.offsetWidth;
1787
+ this.context = this.element.getContext("2d");
1788
+ this.container.retina.init();
1789
+ this.initBackground();
1687
1790
  }
1688
- }
1689
- class Rectangle extends Range {
1690
- constructor(x, y, width, height) {
1691
- super(x, y);
1692
- this.size = {
1693
- height: height,
1694
- width: width
1695
- };
1791
+ destroy() {
1792
+ var _a;
1793
+ if (this.generatedCanvas) {
1794
+ (_a = this.element) === null || _a === void 0 ? void 0 : _a.remove();
1795
+ }
1796
+ this.draw((ctx => {
1797
+ clear(ctx, this.size);
1798
+ }));
1696
1799
  }
1697
- contains(point) {
1698
- const w = this.size.width;
1699
- const h = this.size.height;
1700
- const pos = this.position;
1701
- return point.x >= pos.x && point.x <= pos.x + w && point.y >= pos.y && point.y <= pos.y + h;
1800
+ paint() {
1801
+ const options = this.container.actualOptions;
1802
+ this.draw((ctx => {
1803
+ if (options.backgroundMask.enable && options.backgroundMask.cover) {
1804
+ clear(ctx, this.size);
1805
+ this.paintBase(this.coverColorStyle);
1806
+ } else {
1807
+ this.paintBase();
1808
+ }
1809
+ }));
1702
1810
  }
1703
- intersects(range) {
1704
- const rect = range;
1705
- const circle = range;
1706
- const w = this.size.width;
1707
- const h = this.size.height;
1708
- const pos1 = this.position;
1709
- const pos2 = range.position;
1710
- if (circle.radius !== undefined) {
1711
- return circle.intersects(this);
1712
- } else if (rect.size !== undefined) {
1713
- const size2 = rect.size;
1714
- const w2 = size2.width;
1715
- const h2 = size2.height;
1716
- return pos2.x < pos1.x + w && pos2.x + w2 > pos1.x && pos2.y < pos1.y + h && pos2.y + h2 > pos1.y;
1811
+ clear() {
1812
+ const options = this.container.actualOptions, trail = options.particles.move.trail;
1813
+ if (options.backgroundMask.enable) {
1814
+ this.paint();
1815
+ } else if (trail.enable && trail.length > 0 && this.trailFillColor) {
1816
+ this.paintBase(getStyleFromRgb(this.trailFillColor, 1 / trail.length));
1817
+ } else {
1818
+ this.draw((ctx => {
1819
+ clear(ctx, this.size);
1820
+ }));
1717
1821
  }
1718
- return false;
1719
1822
  }
1720
- }
1721
- class CircleWarp extends Circle {
1722
- constructor(x, y, radius, canvasSize) {
1723
- super(x, y, radius);
1724
- this.canvasSize = canvasSize;
1725
- this.canvasSize = {
1726
- height: canvasSize.height,
1727
- width: canvasSize.width
1728
- };
1823
+ async windowResize() {
1824
+ if (!this.element) {
1825
+ return;
1826
+ }
1827
+ this.resize();
1828
+ const container = this.container, needsRefresh = container.updateActualOptions();
1829
+ container.particles.setDensity();
1830
+ for (const [, plugin] of container.plugins) {
1831
+ if (plugin.resize !== undefined) {
1832
+ plugin.resize();
1833
+ }
1834
+ }
1835
+ if (needsRefresh) {
1836
+ await container.refresh();
1837
+ }
1729
1838
  }
1730
- contains(point) {
1731
- if (super.contains(point)) {
1732
- return true;
1839
+ resize() {
1840
+ if (!this.element) {
1841
+ return;
1733
1842
  }
1734
- const posNE = {
1735
- x: point.x - this.canvasSize.width,
1736
- y: point.y
1843
+ const container = this.container, pxRatio = container.retina.pixelRatio, size = container.canvas.size, newSize = {
1844
+ width: this.element.offsetWidth * pxRatio,
1845
+ height: this.element.offsetHeight * pxRatio
1737
1846
  };
1738
- if (super.contains(posNE)) {
1739
- return true;
1847
+ if (newSize.height === size.height && newSize.width === size.width && newSize.height === this.element.height && newSize.width === this.element.width) {
1848
+ return;
1740
1849
  }
1741
- const posSE = {
1742
- x: point.x - this.canvasSize.width,
1743
- y: point.y - this.canvasSize.height
1744
- };
1745
- if (super.contains(posSE)) {
1746
- return true;
1850
+ const oldSize = Object.assign({}, size);
1851
+ this.element.width = size.width = this.element.offsetWidth * pxRatio;
1852
+ this.element.height = size.height = this.element.offsetHeight * pxRatio;
1853
+ if (this.container.started) {
1854
+ this.resizeFactor = {
1855
+ width: size.width / oldSize.width,
1856
+ height: size.height / oldSize.height
1857
+ };
1747
1858
  }
1748
- const posSW = {
1749
- x: point.x,
1750
- y: point.y - this.canvasSize.height
1751
- };
1752
- return super.contains(posSW);
1753
1859
  }
1754
- intersects(range) {
1755
- if (super.intersects(range)) {
1756
- return true;
1860
+ drawConnectLine(p1, p2) {
1861
+ this.draw((ctx => {
1862
+ var _a;
1863
+ const lineStyle = this.lineStyle(p1, p2);
1864
+ if (!lineStyle) {
1865
+ return;
1866
+ }
1867
+ const pos1 = p1.getPosition(), pos2 = p2.getPosition();
1868
+ drawConnectLine(ctx, (_a = p1.retina.linksWidth) !== null && _a !== void 0 ? _a : this.container.retina.linksWidth, lineStyle, pos1, pos2);
1869
+ }));
1870
+ }
1871
+ drawGrabLine(particle, lineColor, opacity, mousePos) {
1872
+ const container = this.container;
1873
+ this.draw((ctx => {
1874
+ var _a;
1875
+ const beginPos = particle.getPosition();
1876
+ drawGrabLine(ctx, (_a = particle.retina.linksWidth) !== null && _a !== void 0 ? _a : container.retina.linksWidth, beginPos, mousePos, lineColor, opacity);
1877
+ }));
1878
+ }
1879
+ drawParticle(particle, delta) {
1880
+ var _a, _b, _c, _d, _e, _f;
1881
+ if (particle.spawning || particle.destroyed) {
1882
+ return;
1757
1883
  }
1758
- const rect = range;
1759
- const circle = range;
1760
- const newPos = {
1761
- x: range.position.x - this.canvasSize.width,
1762
- y: range.position.y - this.canvasSize.height
1884
+ const radius = particle.getRadius();
1885
+ if (radius <= 0) {
1886
+ return;
1887
+ }
1888
+ const pfColor = particle.getFillColor(), psColor = (_a = particle.getStrokeColor()) !== null && _a !== void 0 ? _a : pfColor;
1889
+ if (!pfColor && !psColor) {
1890
+ return;
1891
+ }
1892
+ let [fColor, sColor] = this.getPluginParticleColors(particle);
1893
+ if (!fColor || !sColor) {
1894
+ if (!fColor) {
1895
+ fColor = pfColor ? pfColor : undefined;
1896
+ }
1897
+ if (!sColor) {
1898
+ sColor = psColor ? psColor : undefined;
1899
+ }
1900
+ }
1901
+ const options = this.container.actualOptions, zIndexOptions = particle.options.zIndex, zOpacityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.opacityRate, 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, strokeOpacity = (_f = (_e = particle.stroke) === null || _e === void 0 ? void 0 : _e.opacity) !== null && _f !== void 0 ? _f : opacity, zOpacity = opacity * zOpacityFactor, zStrokeOpacity = strokeOpacity * zOpacityFactor;
1902
+ const colorStyles = {
1903
+ fill: fColor ? getStyleFromHsl(fColor, zOpacity) : undefined
1763
1904
  };
1764
- if (circle.radius !== undefined) {
1765
- const biggerCircle = new Circle(newPos.x, newPos.y, circle.radius * 2);
1766
- return super.intersects(biggerCircle);
1767
- } else if (rect.size !== undefined) {
1768
- const rectSW = new Rectangle(newPos.x, newPos.y, rect.size.width * 2, rect.size.height * 2);
1769
- return super.intersects(rectSW);
1905
+ colorStyles.stroke = sColor ? getStyleFromHsl(sColor, zStrokeOpacity) : colorStyles.fill;
1906
+ this.draw((ctx => {
1907
+ const zSizeFactor = (1 - particle.zIndexFactor) ** zIndexOptions.sizeRate, container = this.container;
1908
+ for (const updater of container.particles.updaters) {
1909
+ if (updater.beforeDraw) {
1910
+ updater.beforeDraw(particle);
1911
+ }
1912
+ if (updater.getColorStyles) {
1913
+ const {fill: fill, stroke: stroke} = updater.getColorStyles(particle, ctx, radius, zOpacity);
1914
+ if (fill) {
1915
+ colorStyles.fill = fill;
1916
+ }
1917
+ if (stroke) {
1918
+ colorStyles.stroke = stroke;
1919
+ }
1920
+ }
1921
+ }
1922
+ drawParticle(container, ctx, particle, delta, colorStyles, options.backgroundMask.enable, options.backgroundMask.composite, radius * zSizeFactor, zOpacity, particle.options.shadow);
1923
+ for (const updater of container.particles.updaters) {
1924
+ if (updater.afterDraw) {
1925
+ updater.afterDraw(particle);
1926
+ }
1927
+ }
1928
+ }));
1929
+ }
1930
+ drawPlugin(plugin, delta) {
1931
+ this.draw((ctx => {
1932
+ drawPlugin(ctx, plugin, delta);
1933
+ }));
1934
+ }
1935
+ drawParticlePlugin(plugin, particle, delta) {
1936
+ this.draw((ctx => {
1937
+ drawParticlePlugin(ctx, plugin, particle, delta);
1938
+ }));
1939
+ }
1940
+ initBackground() {
1941
+ const options = this.container.actualOptions, background = options.background, element = this.element, elementStyle = element === null || element === void 0 ? void 0 : element.style;
1942
+ if (!elementStyle) {
1943
+ return;
1770
1944
  }
1771
- return false;
1945
+ if (background.color) {
1946
+ const color = colorToRgb(background.color);
1947
+ elementStyle.backgroundColor = color ? getStyleFromRgb(color, background.opacity) : "";
1948
+ } else {
1949
+ elementStyle.backgroundColor = "";
1950
+ }
1951
+ elementStyle.backgroundImage = background.image || "";
1952
+ elementStyle.backgroundPosition = background.position || "";
1953
+ elementStyle.backgroundRepeat = background.repeat || "";
1954
+ elementStyle.backgroundSize = background.size || "";
1955
+ }
1956
+ draw(cb) {
1957
+ if (!this.context) {
1958
+ return;
1959
+ }
1960
+ return cb(this.context);
1961
+ }
1962
+ initCover() {
1963
+ const options = this.container.actualOptions, cover = options.backgroundMask.cover, color = cover.color, coverRgb = colorToRgb(color);
1964
+ if (coverRgb) {
1965
+ const coverColor = {
1966
+ r: coverRgb.r,
1967
+ g: coverRgb.g,
1968
+ b: coverRgb.b,
1969
+ a: cover.opacity
1970
+ };
1971
+ this.coverColorStyle = getStyleFromRgb(coverColor, coverColor.a);
1972
+ }
1973
+ }
1974
+ initTrail() {
1975
+ const options = this.container.actualOptions, trail = options.particles.move.trail, fillColor = colorToRgb(trail.fillColor);
1976
+ if (fillColor) {
1977
+ const trail = options.particles.move.trail;
1978
+ this.trailFillColor = {
1979
+ r: fillColor.r,
1980
+ g: fillColor.g,
1981
+ b: fillColor.b,
1982
+ a: 1 / trail.length
1983
+ };
1984
+ }
1985
+ }
1986
+ getPluginParticleColors(particle) {
1987
+ let fColor, sColor;
1988
+ for (const [, plugin] of this.container.plugins) {
1989
+ if (!fColor && plugin.particleFillColor) {
1990
+ fColor = colorToHsl(plugin.particleFillColor(particle));
1991
+ }
1992
+ if (!sColor && plugin.particleStrokeColor) {
1993
+ sColor = colorToHsl(plugin.particleStrokeColor(particle));
1994
+ }
1995
+ if (fColor && sColor) {
1996
+ break;
1997
+ }
1998
+ }
1999
+ return [ fColor, sColor ];
2000
+ }
2001
+ initStyle() {
2002
+ const element = this.element, options = this.container.actualOptions;
2003
+ if (!element) {
2004
+ return;
2005
+ }
2006
+ const originalStyle = this.originalStyle;
2007
+ if (options.fullScreen.enable) {
2008
+ this.originalStyle = deepExtend({}, element.style);
2009
+ element.style.setProperty("position", "fixed", "important");
2010
+ element.style.setProperty("z-index", options.fullScreen.zIndex.toString(10), "important");
2011
+ element.style.setProperty("top", "0", "important");
2012
+ element.style.setProperty("left", "0", "important");
2013
+ element.style.setProperty("width", "100%", "important");
2014
+ element.style.setProperty("height", "100%", "important");
2015
+ } else if (originalStyle) {
2016
+ element.style.position = originalStyle.position;
2017
+ element.style.zIndex = originalStyle.zIndex;
2018
+ element.style.top = originalStyle.top;
2019
+ element.style.left = originalStyle.left;
2020
+ element.style.width = originalStyle.width;
2021
+ element.style.height = originalStyle.height;
2022
+ }
2023
+ for (const key in options.style) {
2024
+ if (!key || !options.style) {
2025
+ continue;
2026
+ }
2027
+ const value = options.style[key];
2028
+ if (!value) {
2029
+ continue;
2030
+ }
2031
+ element.style.setProperty(key, value, "important");
2032
+ }
2033
+ }
2034
+ paintBase(baseColor) {
2035
+ this.draw((ctx => {
2036
+ paintBase(ctx, this.size, baseColor);
2037
+ }));
2038
+ }
2039
+ lineStyle(p1, p2) {
2040
+ return this.draw((ctx => {
2041
+ const options = this.container.actualOptions, connectOptions = options.interactivity.modes.connect;
2042
+ return gradient(ctx, p1, p2, connectOptions.links.opacity);
2043
+ }));
1772
2044
  }
1773
2045
  }
1774
- class Constants {}
1775
- Constants.generatedAttribute = "generated";
1776
- Constants.randomColorValue = "random";
1777
- Constants.midColorValue = "mid";
1778
- Constants.touchEndEvent = "touchend";
1779
- Constants.mouseDownEvent = "mousedown";
1780
- Constants.mouseUpEvent = "mouseup";
1781
- Constants.mouseMoveEvent = "mousemove";
1782
- Constants.touchStartEvent = "touchstart";
1783
- Constants.touchMoveEvent = "touchmove";
1784
- Constants.mouseLeaveEvent = "mouseleave";
1785
- Constants.mouseOutEvent = "mouseout";
1786
- Constants.touchCancelEvent = "touchcancel";
1787
- Constants.resizeEvent = "resize";
1788
- Constants.visibilityChangeEvent = "visibilitychange";
1789
- Constants.noPolygonDataLoaded = "No polygon data loaded.";
1790
- Constants.noPolygonFound = "No polygon found, you need to specify SVG url in config.";
1791
2046
  function manageListener(element, event, handler, add, options) {
1792
2047
  if (add) {
1793
2048
  let addOptions = {
@@ -1830,9 +2085,7 @@
1830
2085
  }
1831
2086
  manageListeners(add) {
1832
2087
  var _a;
1833
- const container = this.container;
1834
- const options = container.actualOptions;
1835
- const detectType = options.interactivity.detectsOn;
2088
+ const container = this.container, options = container.actualOptions, detectType = options.interactivity.detectsOn;
1836
2089
  let mouseLeaveEvent = Constants.mouseLeaveEvent;
1837
2090
  if (detectType === "window") {
1838
2091
  container.interactivity.element = window;
@@ -1914,8 +2167,7 @@
1914
2167
  }), 500);
1915
2168
  }
1916
2169
  handleVisibilityChange() {
1917
- const container = this.container;
1918
- const options = container.actualOptions;
2170
+ const container = this.container, options = container.actualOptions;
1919
2171
  this.mouseTouchFinish();
1920
2172
  if (!options.pauseOnBlur) {
1921
2173
  return;
@@ -1942,9 +2194,8 @@
1942
2194
  }
1943
2195
  mouseTouchMove(e) {
1944
2196
  var _a, _b, _c, _d, _e, _f, _g;
1945
- const container = this.container;
1946
- const options = container.actualOptions;
1947
- if (((_a = container.interactivity) === null || _a === void 0 ? void 0 : _a.element) === undefined) {
2197
+ const container = this.container, options = container.actualOptions;
2198
+ if (!((_a = container.interactivity) === null || _a === void 0 ? void 0 : _a.element)) {
1948
2199
  return;
1949
2200
  }
1950
2201
  container.interactivity.mouse.inside = true;
@@ -2007,7 +2258,7 @@
2007
2258
  }
2008
2259
  mouseTouchFinish() {
2009
2260
  const interactivity = this.container.interactivity;
2010
- if (interactivity === undefined) {
2261
+ if (!interactivity) {
2011
2262
  return;
2012
2263
  }
2013
2264
  const mouse = interactivity.mouse;
@@ -2016,1032 +2267,100 @@
2016
2267
  delete mouse.downPosition;
2017
2268
  interactivity.status = Constants.mouseLeaveEvent;
2018
2269
  mouse.inside = false;
2019
- mouse.clicking = false;
2020
- }
2021
- mouseTouchClick(e) {
2022
- const container = this.container;
2023
- const options = container.actualOptions;
2024
- const mouse = container.interactivity.mouse;
2025
- mouse.inside = true;
2026
- let handled = false;
2027
- const mousePosition = mouse.position;
2028
- if (mousePosition === undefined || !options.interactivity.events.onClick.enable) {
2029
- return;
2030
- }
2031
- for (const [, plugin] of container.plugins) {
2032
- if (plugin.clickPositionValid !== undefined) {
2033
- handled = plugin.clickPositionValid(mousePosition);
2034
- if (handled) {
2035
- break;
2036
- }
2037
- }
2038
- }
2039
- if (!handled) {
2040
- this.doMouseTouchClick(e);
2041
- }
2042
- mouse.clicking = false;
2043
- }
2044
- doMouseTouchClick(e) {
2045
- const container = this.container;
2046
- const options = container.actualOptions;
2047
- if (this.canPush) {
2048
- const mousePos = container.interactivity.mouse.position;
2049
- if (mousePos) {
2050
- container.interactivity.mouse.clickPosition = {
2051
- x: mousePos.x,
2052
- y: mousePos.y
2053
- };
2054
- } else {
2055
- return;
2056
- }
2057
- container.interactivity.mouse.clickTime = (new Date).getTime();
2058
- const onClick = options.interactivity.events.onClick;
2059
- if (onClick.mode instanceof Array) {
2060
- for (const mode of onClick.mode) {
2061
- this.handleClickMode(mode);
2062
- }
2063
- } else {
2064
- this.handleClickMode(onClick.mode);
2065
- }
2066
- }
2067
- if (e.type === "touchend") {
2068
- setTimeout((() => this.mouseTouchFinish()), 500);
2069
- }
2070
- }
2071
- handleThemeChange(e) {
2072
- const mediaEvent = e;
2073
- const themeName = mediaEvent.matches ? this.container.options.defaultDarkTheme : this.container.options.defaultLightTheme;
2074
- const theme = this.container.options.themes.find((theme => theme.name === themeName));
2075
- if (theme && theme.default.auto) {
2076
- this.container.loadTheme(themeName);
2077
- }
2078
- }
2079
- handleClickMode(mode) {
2080
- const container = this.container;
2081
- const options = container.actualOptions;
2082
- const pushNb = options.interactivity.modes.push.quantity;
2083
- const removeNb = options.interactivity.modes.remove.quantity;
2084
- switch (mode) {
2085
- case "push":
2086
- {
2087
- if (pushNb > 0) {
2088
- const pushOptions = options.interactivity.modes.push;
2089
- const group = itemFromArray([ undefined, ...pushOptions.groups ]);
2090
- const groupOptions = group !== undefined ? container.actualOptions.particles.groups[group] : undefined;
2091
- container.particles.push(pushNb, container.interactivity.mouse, groupOptions, group);
2092
- }
2093
- break;
2094
- }
2095
-
2096
- case "remove":
2097
- container.particles.removeQuantity(removeNb);
2098
- break;
2099
-
2100
- case "bubble":
2101
- container.bubble.clicking = true;
2102
- break;
2103
-
2104
- case "repulse":
2105
- container.repulse.clicking = true;
2106
- container.repulse.count = 0;
2107
- for (const particle of container.repulse.particles) {
2108
- particle.velocity.setTo(particle.initialVelocity);
2109
- }
2110
- container.repulse.particles = [];
2111
- container.repulse.finish = false;
2112
- setTimeout((() => {
2113
- if (!container.destroyed) {
2114
- container.repulse.clicking = false;
2115
- }
2116
- }), options.interactivity.modes.repulse.duration * 1e3);
2117
- break;
2118
-
2119
- case "attract":
2120
- container.attract.clicking = true;
2121
- container.attract.count = 0;
2122
- for (const particle of container.attract.particles) {
2123
- particle.velocity.setTo(particle.initialVelocity);
2124
- }
2125
- container.attract.particles = [];
2126
- container.attract.finish = false;
2127
- setTimeout((() => {
2128
- if (!container.destroyed) {
2129
- container.attract.clicking = false;
2130
- }
2131
- }), options.interactivity.modes.attract.duration * 1e3);
2132
- break;
2133
-
2134
- case "pause":
2135
- if (container.getAnimationStatus()) {
2136
- container.pause();
2137
- } else {
2138
- container.play();
2139
- }
2140
- break;
2141
- }
2142
- for (const [, plugin] of container.plugins) {
2143
- if (plugin.handleClickMode) {
2144
- plugin.handleClickMode(mode);
2145
- }
2146
- }
2147
- }
2148
- }
2149
- class ExternalInteractorBase {
2150
- constructor(container) {
2151
- this.container = container;
2152
- this.type = 0;
2153
- }
2154
- }
2155
- class FrameManager {
2156
- constructor(container) {
2157
- this.container = container;
2158
- }
2159
- async nextFrame(timestamp) {
2160
- var _a;
2161
- try {
2162
- const container = this.container;
2163
- if (container.lastFrameTime !== undefined && timestamp < container.lastFrameTime + 1e3 / container.fpsLimit) {
2164
- container.draw(false);
2165
- return;
2166
- }
2167
- (_a = container.lastFrameTime) !== null && _a !== void 0 ? _a : container.lastFrameTime = timestamp;
2168
- const deltaValue = timestamp - container.lastFrameTime;
2169
- const delta = {
2170
- value: deltaValue,
2171
- factor: 60 * deltaValue / 1e3
2172
- };
2173
- container.lifeTime += delta.value;
2174
- container.lastFrameTime = timestamp;
2175
- if (deltaValue > 1e3) {
2176
- container.draw(false);
2177
- return;
2178
- }
2179
- await container.particles.draw(delta);
2180
- if (container.duration > 0 && container.lifeTime > container.duration) {
2181
- container.destroy();
2182
- return;
2183
- }
2184
- if (container.getAnimationStatus()) {
2185
- container.draw(false);
2186
- }
2187
- } catch (e) {
2188
- console.error("tsParticles error in animation loop", e);
2189
- }
2190
- }
2191
- }
2192
- var __classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {
2193
- if (kind === "m") throw new TypeError("Private method is not writable");
2194
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
2195
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
2196
- return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value),
2197
- value;
2198
- };
2199
- var __classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {
2200
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
2201
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
2202
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
2203
- };
2204
- var _InteractionManager_engine;
2205
- class InteractionManager {
2206
- constructor(engine, container) {
2207
- this.container = container;
2208
- _InteractionManager_engine.set(this, void 0);
2209
- __classPrivateFieldSet(this, _InteractionManager_engine, engine, "f");
2210
- this.externalInteractors = [];
2211
- this.particleInteractors = [];
2212
- this.init();
2213
- }
2214
- init() {
2215
- const interactors = __classPrivateFieldGet(this, _InteractionManager_engine, "f").plugins.getInteractors(this.container, true);
2216
- this.externalInteractors = [];
2217
- this.particleInteractors = [];
2218
- for (const interactor of interactors) {
2219
- switch (interactor.type) {
2220
- case 0:
2221
- this.externalInteractors.push(interactor);
2222
- break;
2223
-
2224
- case 1:
2225
- this.particleInteractors.push(interactor);
2226
- break;
2227
- }
2228
- }
2229
- }
2230
- async externalInteract(delta) {
2231
- for (const interactor of this.externalInteractors) {
2232
- if (interactor.isEnabled()) {
2233
- await interactor.interact(delta);
2234
- }
2235
- }
2236
- }
2237
- async particlesInteract(particle, delta) {
2238
- for (const interactor of this.externalInteractors) {
2239
- interactor.reset(particle);
2240
- }
2241
- for (const interactor of this.particleInteractors) {
2242
- if (interactor.isEnabled(particle)) {
2243
- await interactor.interact(particle, delta);
2244
- }
2245
- }
2246
- }
2247
- }
2248
- _InteractionManager_engine = new WeakMap;
2249
- class ParticlesInteractorBase {
2250
- constructor(container) {
2251
- this.container = container;
2252
- this.type = 1;
2253
- }
2254
- }
2255
- function applyDistance(particle) {
2256
- const initialPosition = particle.initialPosition;
2257
- const {dx: dx, dy: dy} = getDistances(initialPosition, particle.position);
2258
- const dxFixed = Math.abs(dx), dyFixed = Math.abs(dy);
2259
- const hDistance = particle.retina.maxDistance.horizontal;
2260
- const vDistance = particle.retina.maxDistance.vertical;
2261
- if (!hDistance && !vDistance) {
2262
- return;
2263
- }
2264
- if ((hDistance && dxFixed >= hDistance || vDistance && dyFixed >= vDistance) && !particle.misplaced) {
2265
- particle.misplaced = !!hDistance && dxFixed > hDistance || !!vDistance && dyFixed > vDistance;
2266
- if (hDistance) {
2267
- particle.velocity.x = particle.velocity.y / 2 - particle.velocity.x;
2268
- }
2269
- if (vDistance) {
2270
- particle.velocity.y = particle.velocity.x / 2 - particle.velocity.y;
2271
- }
2272
- } else if ((!hDistance || dxFixed < hDistance) && (!vDistance || dyFixed < vDistance) && particle.misplaced) {
2273
- particle.misplaced = false;
2274
- } else if (particle.misplaced) {
2275
- const pos = particle.position, vel = particle.velocity;
2276
- if (hDistance && (pos.x < initialPosition.x && vel.x < 0 || pos.x > initialPosition.x && vel.x > 0)) {
2277
- vel.x *= -Math.random();
2278
- }
2279
- if (vDistance && (pos.y < initialPosition.y && vel.y < 0 || pos.y > initialPosition.y && vel.y > 0)) {
2280
- vel.y *= -Math.random();
2281
- }
2282
- }
2283
- }
2284
- class ParticlesMover {
2285
- constructor(container) {
2286
- this.container = container;
2287
- }
2288
- move(particle, delta) {
2289
- if (particle.destroyed) {
2290
- return;
2291
- }
2292
- this.moveParticle(particle, delta);
2293
- this.moveParallax(particle);
2294
- }
2295
- moveParticle(particle, delta) {
2296
- var _a, _b, _c;
2297
- var _d, _e;
2298
- const particleOptions = particle.options;
2299
- const moveOptions = particleOptions.move;
2300
- if (!moveOptions.enable) {
2301
- return;
2302
- }
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
- this.applyPath(particle, delta);
2305
- const gravityOptions = particle.gravity;
2306
- const gravityFactor = gravityOptions.enable && gravityOptions.inverse ? -1 : 1;
2307
- if (gravityOptions.enable && moveSpeed) {
2308
- particle.velocity.y += gravityFactor * (gravityOptions.acceleration * delta.factor) / (60 * moveSpeed);
2309
- }
2310
- if (moveDrift && moveSpeed) {
2311
- particle.velocity.x += moveDrift * delta.factor / (60 * moveSpeed);
2312
- }
2313
- const decay = particle.moveDecay;
2314
- if (decay != 1) {
2315
- particle.velocity.multTo(decay);
2316
- }
2317
- const velocity = particle.velocity.mult(moveSpeed);
2318
- const maxSpeed = (_c = particle.retina.maxSpeed) !== null && _c !== void 0 ? _c : container.retina.maxSpeed;
2319
- if (gravityOptions.enable && maxSpeed > 0 && (!gravityOptions.inverse && velocity.y >= 0 && velocity.y >= maxSpeed || gravityOptions.inverse && velocity.y <= 0 && velocity.y <= -maxSpeed)) {
2320
- velocity.y = gravityFactor * maxSpeed;
2321
- if (moveSpeed) {
2322
- particle.velocity.y = velocity.y / moveSpeed;
2323
- }
2324
- }
2325
- const zIndexOptions = particle.options.zIndex, zVelocityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.velocityRate;
2326
- if (moveOptions.spin.enable) {
2327
- this.spin(particle, moveSpeed);
2328
- } else {
2329
- if (zVelocityFactor != 1) {
2330
- velocity.multTo(zVelocityFactor);
2331
- }
2332
- particle.position.addTo(velocity);
2333
- if (moveOptions.vibrate) {
2334
- particle.position.x += Math.sin(particle.position.x * Math.cos(particle.position.y));
2335
- particle.position.y += Math.cos(particle.position.y * Math.sin(particle.position.x));
2336
- }
2337
- }
2338
- applyDistance(particle);
2339
- }
2340
- spin(particle, moveSpeed) {
2341
- const container = this.container;
2342
- if (!particle.spin) {
2343
- return;
2344
- }
2345
- const updateFunc = {
2346
- x: particle.spin.direction === "clockwise" ? Math.cos : Math.sin,
2347
- y: particle.spin.direction === "clockwise" ? Math.sin : Math.cos
2348
- };
2349
- particle.position.x = particle.spin.center.x + particle.spin.radius * updateFunc.x(particle.spin.angle);
2350
- particle.position.y = particle.spin.center.y + particle.spin.radius * updateFunc.y(particle.spin.angle);
2351
- particle.spin.radius += particle.spin.acceleration;
2352
- const maxCanvasSize = Math.max(container.canvas.size.width, container.canvas.size.height);
2353
- if (particle.spin.radius > maxCanvasSize / 2) {
2354
- particle.spin.radius = maxCanvasSize / 2;
2355
- particle.spin.acceleration *= -1;
2356
- } else if (particle.spin.radius < 0) {
2357
- particle.spin.radius = 0;
2358
- particle.spin.acceleration *= -1;
2359
- }
2360
- particle.spin.angle += moveSpeed / 100 * (1 - particle.spin.radius / maxCanvasSize);
2361
- }
2362
- applyPath(particle, delta) {
2363
- const particlesOptions = particle.options;
2364
- const pathOptions = particlesOptions.move.path;
2365
- const pathEnabled = pathOptions.enable;
2366
- if (!pathEnabled) {
2367
- return;
2368
- }
2369
- const container = this.container;
2370
- if (particle.lastPathTime <= particle.pathDelay) {
2371
- particle.lastPathTime += delta.value;
2372
- return;
2373
- }
2374
- const path = container.pathGenerator.generate(particle);
2375
- particle.velocity.addTo(path);
2376
- if (pathOptions.clamp) {
2377
- particle.velocity.x = clamp(particle.velocity.x, -1, 1);
2378
- particle.velocity.y = clamp(particle.velocity.y, -1, 1);
2379
- }
2380
- particle.lastPathTime -= particle.pathDelay;
2381
- }
2382
- moveParallax(particle) {
2383
- const container = this.container;
2384
- const options = container.actualOptions;
2385
- if (isSsr() || !options.interactivity.events.onHover.parallax.enable) {
2386
- return;
2387
- }
2388
- const parallaxForce = options.interactivity.events.onHover.parallax.force;
2389
- const mousePos = container.interactivity.mouse.position;
2390
- if (!mousePos) {
2391
- return;
2392
- }
2393
- const canvasCenter = {
2394
- x: container.canvas.size.width / 2,
2395
- y: container.canvas.size.height / 2
2396
- };
2397
- const parallaxSmooth = options.interactivity.events.onHover.parallax.smooth;
2398
- const factor = particle.getRadius() / parallaxForce;
2399
- const tmp = {
2400
- x: (mousePos.x - canvasCenter.x) * factor,
2401
- y: (mousePos.y - canvasCenter.y) * factor
2402
- };
2403
- particle.offset.x += (tmp.x - particle.offset.x) / parallaxSmooth;
2404
- particle.offset.y += (tmp.y - particle.offset.y) / parallaxSmooth;
2405
- }
2406
- getProximitySpeedFactor(particle) {
2407
- const container = this.container;
2408
- const options = container.actualOptions;
2409
- const active = isInArray("slow", options.interactivity.events.onHover.mode);
2410
- if (!active) {
2411
- return 1;
2412
- }
2413
- const mousePos = this.container.interactivity.mouse.position;
2414
- if (!mousePos) {
2415
- return 1;
2416
- }
2417
- const particlePos = particle.getPosition();
2418
- const dist = getDistance(mousePos, particlePos);
2419
- const radius = container.retina.slowModeRadius;
2420
- if (dist > radius) {
2421
- return 1;
2422
- }
2423
- const proximityFactor = dist / radius || 0;
2424
- const slowFactor = options.interactivity.modes.slow.factor;
2425
- return proximityFactor / slowFactor;
2426
- }
2427
- }
2428
- var Plugins_classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {
2429
- if (kind === "m") throw new TypeError("Private method is not writable");
2430
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
2431
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
2432
- return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value),
2433
- value;
2434
- };
2435
- var _Plugins_engine;
2436
- class Plugins {
2437
- constructor(engine) {
2438
- _Plugins_engine.set(this, void 0);
2439
- Plugins_classPrivateFieldSet(this, _Plugins_engine, engine, "f");
2440
- this.plugins = [];
2441
- this.interactorsInitializers = new Map;
2442
- this.updatersInitializers = new Map;
2443
- this.interactors = new Map;
2444
- this.updaters = new Map;
2445
- this.presets = new Map;
2446
- this.drawers = new Map;
2447
- this.pathGenerators = new Map;
2448
- }
2449
- getPlugin(plugin) {
2450
- return this.plugins.find((t => t.id === plugin));
2451
- }
2452
- addPlugin(plugin) {
2453
- if (!this.getPlugin(plugin.id)) {
2454
- this.plugins.push(plugin);
2455
- }
2456
- }
2457
- getAvailablePlugins(container) {
2458
- const res = new Map;
2459
- for (const plugin of this.plugins) {
2460
- if (!plugin.needsPlugin(container.actualOptions)) {
2461
- continue;
2462
- }
2463
- res.set(plugin.id, plugin.getPlugin(container));
2464
- }
2465
- return res;
2466
- }
2467
- loadOptions(options, sourceOptions) {
2468
- for (const plugin of this.plugins) {
2469
- plugin.loadOptions(options, sourceOptions);
2470
- }
2471
- }
2472
- getPreset(preset) {
2473
- return this.presets.get(preset);
2474
- }
2475
- addPreset(presetKey, options, override = false) {
2476
- if (override || !this.getPreset(presetKey)) {
2477
- this.presets.set(presetKey, options);
2478
- }
2479
- }
2480
- addShapeDrawer(type, drawer) {
2481
- if (!this.getShapeDrawer(type)) {
2482
- this.drawers.set(type, drawer);
2483
- }
2484
- }
2485
- getShapeDrawer(type) {
2486
- return this.drawers.get(type);
2487
- }
2488
- getSupportedShapes() {
2489
- return this.drawers.keys();
2490
- }
2491
- getPathGenerator(type) {
2492
- return this.pathGenerators.get(type);
2493
- }
2494
- addPathGenerator(type, pathGenerator) {
2495
- if (!this.getPathGenerator(type)) {
2496
- this.pathGenerators.set(type, pathGenerator);
2497
- }
2498
- }
2499
- getInteractors(container, force = false) {
2500
- let res = this.interactors.get(container);
2501
- if (!res || force) {
2502
- res = [ ...this.interactorsInitializers.values() ].map((t => t(container)));
2503
- this.interactors.set(container, res);
2504
- }
2505
- return res;
2506
- }
2507
- addInteractor(name, initInteractor) {
2508
- this.interactorsInitializers.set(name, initInteractor);
2509
- }
2510
- getUpdaters(container, force = false) {
2511
- let res = this.updaters.get(container);
2512
- if (!res || force) {
2513
- res = [ ...this.updatersInitializers.values() ].map((t => t(container)));
2514
- this.updaters.set(container, res);
2515
- }
2516
- return res;
2517
- }
2518
- addParticleUpdater(name, initUpdater) {
2519
- this.updatersInitializers.set(name, initUpdater);
2520
- }
2521
- }
2522
- _Plugins_engine = new WeakMap;
2523
- class Point {
2524
- constructor(position, particle) {
2525
- this.position = position;
2526
- this.particle = particle;
2527
- }
2528
- }
2529
- class QuadTree {
2530
- constructor(rectangle, capacity) {
2531
- this.rectangle = rectangle;
2532
- this.capacity = capacity;
2533
- this.points = [];
2534
- this.divided = false;
2535
- }
2536
- subdivide() {
2537
- const x = this.rectangle.position.x;
2538
- const y = this.rectangle.position.y;
2539
- const w = this.rectangle.size.width;
2540
- const h = this.rectangle.size.height;
2541
- const capacity = this.capacity;
2542
- this.northEast = new QuadTree(new Rectangle(x, y, w / 2, h / 2), capacity);
2543
- this.northWest = new QuadTree(new Rectangle(x + w / 2, y, w / 2, h / 2), capacity);
2544
- this.southEast = new QuadTree(new Rectangle(x, y + h / 2, w / 2, h / 2), capacity);
2545
- this.southWest = new QuadTree(new Rectangle(x + w / 2, y + h / 2, w / 2, h / 2), capacity);
2546
- this.divided = true;
2547
- }
2548
- insert(point) {
2549
- var _a, _b, _c, _d, _e;
2550
- if (!this.rectangle.contains(point.position)) {
2551
- return false;
2552
- }
2553
- if (this.points.length < this.capacity) {
2554
- this.points.push(point);
2555
- return true;
2556
- }
2557
- if (!this.divided) {
2558
- this.subdivide();
2559
- }
2560
- return (_e = ((_a = this.northEast) === null || _a === void 0 ? void 0 : _a.insert(point)) || ((_b = this.northWest) === null || _b === void 0 ? void 0 : _b.insert(point)) || ((_c = this.southEast) === null || _c === void 0 ? void 0 : _c.insert(point)) || ((_d = this.southWest) === null || _d === void 0 ? void 0 : _d.insert(point))) !== null && _e !== void 0 ? _e : false;
2561
- }
2562
- queryCircle(position, radius) {
2563
- return this.query(new Circle(position.x, position.y, radius));
2564
- }
2565
- queryCircleWarp(position, radius, containerOrSize) {
2566
- const container = containerOrSize;
2567
- const size = containerOrSize;
2568
- return this.query(new CircleWarp(position.x, position.y, radius, container.canvas !== undefined ? container.canvas.size : size));
2569
- }
2570
- queryRectangle(position, size) {
2571
- return this.query(new Rectangle(position.x, position.y, size.width, size.height));
2572
- }
2573
- query(range, found) {
2574
- var _a, _b, _c, _d;
2575
- const res = found !== null && found !== void 0 ? found : [];
2576
- if (!range.intersects(this.rectangle)) {
2577
- return [];
2578
- } else {
2579
- for (const p of this.points) {
2580
- if (!range.contains(p.position) && getDistance(range.position, p.position) > p.particle.getRadius()) {
2581
- continue;
2582
- }
2583
- res.push(p.particle);
2584
- }
2585
- if (this.divided) {
2586
- (_a = this.northEast) === null || _a === void 0 ? void 0 : _a.query(range, res);
2587
- (_b = this.northWest) === null || _b === void 0 ? void 0 : _b.query(range, res);
2588
- (_c = this.southEast) === null || _c === void 0 ? void 0 : _c.query(range, res);
2589
- (_d = this.southWest) === null || _d === void 0 ? void 0 : _d.query(range, res);
2590
- }
2591
- }
2592
- return res;
2593
- }
2594
- }
2595
- class Vector {
2596
- constructor(x, y) {
2597
- let defX, defY;
2598
- if (y === undefined) {
2599
- if (typeof x === "number") {
2600
- throw new Error("tsParticles - Vector not initialized correctly");
2601
- }
2602
- const coords = x;
2603
- [defX, defY] = [ coords.x, coords.y ];
2604
- } else {
2605
- [defX, defY] = [ x, y ];
2606
- }
2607
- this.x = defX;
2608
- this.y = defY;
2609
- }
2610
- static clone(source) {
2611
- return Vector.create(source.x, source.y);
2612
- }
2613
- static create(x, y) {
2614
- return new Vector(x, y);
2615
- }
2616
- static get origin() {
2617
- return Vector.create(0, 0);
2618
- }
2619
- get angle() {
2620
- return Math.atan2(this.y, this.x);
2621
- }
2622
- set angle(angle) {
2623
- this.updateFromAngle(angle, this.length);
2624
- }
2625
- get length() {
2626
- return Math.sqrt(this.x ** 2 + this.y ** 2);
2627
- }
2628
- set length(length) {
2629
- this.updateFromAngle(this.angle, length);
2630
- }
2631
- add(v) {
2632
- return Vector.create(this.x + v.x, this.y + v.y);
2633
- }
2634
- addTo(v) {
2635
- this.x += v.x;
2636
- this.y += v.y;
2637
- }
2638
- sub(v) {
2639
- return Vector.create(this.x - v.x, this.y - v.y);
2640
- }
2641
- subFrom(v) {
2642
- this.x -= v.x;
2643
- this.y -= v.y;
2644
- }
2645
- mult(n) {
2646
- return Vector.create(this.x * n, this.y * n);
2647
- }
2648
- multTo(n) {
2649
- this.x *= n;
2650
- this.y *= n;
2651
- }
2652
- div(n) {
2653
- return Vector.create(this.x / n, this.y / n);
2654
- }
2655
- divTo(n) {
2656
- this.x /= n;
2657
- this.y /= n;
2658
- }
2659
- distanceTo(v) {
2660
- return this.sub(v).length;
2661
- }
2662
- getLengthSq() {
2663
- return this.x ** 2 + this.y ** 2;
2664
- }
2665
- distanceToSq(v) {
2666
- return this.sub(v).getLengthSq();
2667
- }
2668
- manhattanDistanceTo(v) {
2669
- return Math.abs(v.x - this.x) + Math.abs(v.y - this.y);
2670
- }
2671
- copy() {
2672
- return Vector.clone(this);
2673
- }
2674
- setTo(velocity) {
2675
- this.x = velocity.x;
2676
- this.y = velocity.y;
2677
- }
2678
- rotate(angle) {
2679
- return Vector.create(this.x * Math.cos(angle) - this.y * Math.sin(angle), this.x * Math.sin(angle) + this.y * Math.cos(angle));
2680
- }
2681
- updateFromAngle(angle, length) {
2682
- this.x = Math.cos(angle) * length;
2683
- this.y = Math.sin(angle) * length;
2684
- }
2685
- }
2686
- class Vector3d extends Vector {
2687
- constructor(x, y, z) {
2688
- super(x, y);
2689
- this.z = z === undefined ? x.z : z;
2690
- }
2691
- static clone(source) {
2692
- return Vector3d.create(source.x, source.y, source.z);
2693
- }
2694
- static create(x, y, z) {
2695
- return new Vector3d(x, y, z);
2696
- }
2697
- add(v) {
2698
- return v instanceof Vector3d ? Vector3d.create(this.x + v.x, this.y + v.y, this.z + v.z) : super.add(v);
2699
- }
2700
- addTo(v) {
2701
- super.addTo(v);
2702
- if (v instanceof Vector3d) {
2703
- this.z += v.z;
2704
- }
2705
- }
2706
- sub(v) {
2707
- return v instanceof Vector3d ? Vector3d.create(this.x - v.x, this.y - v.y, this.z - v.z) : super.sub(v);
2708
- }
2709
- subFrom(v) {
2710
- super.subFrom(v);
2711
- if (v instanceof Vector3d) {
2712
- this.z -= v.z;
2713
- }
2714
- }
2715
- mult(n) {
2716
- return Vector3d.create(this.x * n, this.y * n, this.z * n);
2717
- }
2718
- multTo(n) {
2719
- super.multTo(n);
2720
- this.z *= n;
2721
- }
2722
- div(n) {
2723
- return Vector3d.create(this.x / n, this.y / n, this.z / n);
2724
- }
2725
- divTo(n) {
2726
- super.divTo(n);
2727
- this.z /= n;
2728
- }
2729
- copy() {
2730
- return Vector3d.clone(this);
2731
- }
2732
- setTo(v) {
2733
- super.setTo(v);
2734
- if (v instanceof Vector3d) {
2735
- this.z = v.z;
2736
- }
2737
- }
2738
- }
2739
- class Canvas {
2740
- constructor(container) {
2741
- this.container = container;
2742
- this.size = {
2743
- height: 0,
2744
- width: 0
2745
- };
2746
- this.context = null;
2747
- this.generatedCanvas = false;
2748
- }
2749
- init() {
2750
- this.resize();
2751
- this.initStyle();
2752
- this.initCover();
2753
- this.initTrail();
2754
- this.initBackground();
2755
- this.paint();
2756
- }
2757
- loadCanvas(canvas) {
2758
- var _a;
2759
- if (this.generatedCanvas) {
2760
- (_a = this.element) === null || _a === void 0 ? void 0 : _a.remove();
2761
- }
2762
- this.generatedCanvas = canvas.dataset && Constants.generatedAttribute in canvas.dataset ? canvas.dataset[Constants.generatedAttribute] === "true" : this.generatedCanvas;
2763
- this.element = canvas;
2764
- this.originalStyle = deepExtend({}, this.element.style);
2765
- this.size.height = canvas.offsetHeight;
2766
- this.size.width = canvas.offsetWidth;
2767
- this.context = this.element.getContext("2d");
2768
- this.container.retina.init();
2769
- this.initBackground();
2770
- }
2771
- destroy() {
2772
- var _a;
2773
- if (this.generatedCanvas) {
2774
- (_a = this.element) === null || _a === void 0 ? void 0 : _a.remove();
2775
- }
2776
- this.draw((ctx => {
2777
- clear(ctx, this.size);
2778
- }));
2779
- }
2780
- paint() {
2781
- const options = this.container.actualOptions;
2782
- this.draw((ctx => {
2783
- if (options.backgroundMask.enable && options.backgroundMask.cover) {
2784
- clear(ctx, this.size);
2785
- this.paintBase(this.coverColorStyle);
2786
- } else {
2787
- this.paintBase();
2788
- }
2789
- }));
2790
- }
2791
- clear() {
2792
- const options = this.container.actualOptions;
2793
- const trail = options.particles.move.trail;
2794
- if (options.backgroundMask.enable) {
2795
- this.paint();
2796
- } else if (trail.enable && trail.length > 0 && this.trailFillColor) {
2797
- this.paintBase(getStyleFromRgb(this.trailFillColor, 1 / trail.length));
2798
- } else {
2799
- this.draw((ctx => {
2800
- clear(ctx, this.size);
2801
- }));
2802
- }
2803
- }
2804
- async windowResize() {
2805
- if (!this.element) {
2806
- return;
2807
- }
2808
- const container = this.container;
2809
- this.resize();
2810
- const needsRefresh = container.updateActualOptions();
2811
- container.particles.setDensity();
2812
- for (const [, plugin] of container.plugins) {
2813
- if (plugin.resize !== undefined) {
2814
- plugin.resize();
2815
- }
2816
- }
2817
- if (needsRefresh) {
2818
- await container.refresh();
2819
- }
2820
- }
2821
- resize() {
2822
- if (!this.element) {
2823
- return;
2824
- }
2825
- const container = this.container;
2826
- const pxRatio = container.retina.pixelRatio;
2827
- const size = container.canvas.size;
2828
- const newSize = {
2829
- width: this.element.offsetWidth * pxRatio,
2830
- height: this.element.offsetHeight * pxRatio
2831
- };
2832
- if (newSize.height === size.height && newSize.width === size.width && newSize.height === this.element.height && newSize.width === this.element.width) {
2833
- return;
2834
- }
2835
- const oldSize = Object.assign({}, size);
2836
- this.element.width = size.width = this.element.offsetWidth * pxRatio;
2837
- this.element.height = size.height = this.element.offsetHeight * pxRatio;
2838
- if (this.container.started) {
2839
- this.resizeFactor = {
2840
- width: size.width / oldSize.width,
2841
- height: size.height / oldSize.height
2842
- };
2843
- }
2844
- }
2845
- drawConnectLine(p1, p2) {
2846
- this.draw((ctx => {
2847
- var _a;
2848
- const lineStyle = this.lineStyle(p1, p2);
2849
- if (!lineStyle) {
2850
- return;
2851
- }
2852
- const pos1 = p1.getPosition();
2853
- const pos2 = p2.getPosition();
2854
- drawConnectLine(ctx, (_a = p1.retina.linksWidth) !== null && _a !== void 0 ? _a : this.container.retina.linksWidth, lineStyle, pos1, pos2);
2855
- }));
2856
- }
2857
- drawGrabLine(particle, lineColor, opacity, mousePos) {
2858
- const container = this.container;
2859
- this.draw((ctx => {
2860
- var _a;
2861
- const beginPos = particle.getPosition();
2862
- drawGrabLine(ctx, (_a = particle.retina.linksWidth) !== null && _a !== void 0 ? _a : container.retina.linksWidth, beginPos, mousePos, lineColor, opacity);
2863
- }));
2864
- }
2865
- drawParticle(particle, delta) {
2866
- var _a, _b, _c, _d, _e, _f;
2867
- if (particle.spawning || particle.destroyed) {
2868
- return;
2869
- }
2870
- const pfColor = particle.getFillColor();
2871
- const psColor = (_a = particle.getStrokeColor()) !== null && _a !== void 0 ? _a : pfColor;
2872
- if (!pfColor && !psColor) {
2270
+ mouse.clicking = false;
2271
+ }
2272
+ mouseTouchClick(e) {
2273
+ const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse;
2274
+ mouse.inside = true;
2275
+ let handled = false;
2276
+ const mousePosition = mouse.position;
2277
+ if (!mousePosition || !options.interactivity.events.onClick.enable) {
2873
2278
  return;
2874
2279
  }
2875
- let [fColor, sColor] = this.getPluginParticleColors(particle);
2876
- const pOptions = particle.options;
2877
- const twinkle = pOptions.twinkle.particles;
2878
- const twinkling = twinkle.enable && Math.random() < twinkle.frequency;
2879
- if (!fColor || !sColor) {
2880
- const twinkleRgb = colorToHsl(twinkle.color);
2881
- if (!fColor) {
2882
- fColor = twinkling && twinkleRgb !== undefined ? twinkleRgb : pfColor ? pfColor : undefined;
2280
+ for (const [, plugin] of container.plugins) {
2281
+ if (!plugin.clickPositionValid) {
2282
+ continue;
2883
2283
  }
2884
- if (!sColor) {
2885
- sColor = twinkling && twinkleRgb !== undefined ? twinkleRgb : psColor ? psColor : undefined;
2284
+ handled = plugin.clickPositionValid(mousePosition);
2285
+ if (handled) {
2286
+ break;
2886
2287
  }
2887
2288
  }
2888
- const options = this.container.actualOptions;
2889
- const zIndexOptions = particle.options.zIndex;
2890
- const zOpacityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.opacityRate;
2891
- const radius = particle.getRadius();
2892
- 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;
2893
- const strokeOpacity = (_f = (_e = particle.stroke) === null || _e === void 0 ? void 0 : _e.opacity) !== null && _f !== void 0 ? _f : opacity;
2894
- const zOpacity = opacity * zOpacityFactor;
2895
- const fillColorValue = fColor ? getStyleFromHsl(fColor, zOpacity) : undefined;
2896
- if (!fillColorValue && !sColor) {
2897
- return;
2289
+ if (!handled) {
2290
+ this.doMouseTouchClick(e);
2898
2291
  }
2899
- this.draw((ctx => {
2900
- const zSizeFactor = (1 - particle.zIndexFactor) ** zIndexOptions.sizeRate;
2901
- const zStrokeOpacity = strokeOpacity * zOpacityFactor;
2902
- const strokeColorValue = sColor ? getStyleFromHsl(sColor, zStrokeOpacity) : fillColorValue;
2903
- if (radius <= 0) {
2292
+ mouse.clicking = false;
2293
+ }
2294
+ doMouseTouchClick(e) {
2295
+ const container = this.container, options = container.actualOptions;
2296
+ if (this.canPush) {
2297
+ const mousePos = container.interactivity.mouse.position;
2298
+ if (!mousePos) {
2904
2299
  return;
2905
2300
  }
2906
- const container = this.container;
2907
- for (const updater of container.particles.updaters) {
2908
- if (updater.beforeDraw) {
2909
- updater.beforeDraw(particle);
2910
- }
2911
- }
2912
- drawParticle(this.container, ctx, particle, delta, fillColorValue, strokeColorValue, options.backgroundMask.enable, options.backgroundMask.composite, radius * zSizeFactor, zOpacity, particle.options.shadow, particle.gradient);
2913
- for (const updater of container.particles.updaters) {
2914
- if (updater.afterDraw) {
2915
- updater.afterDraw(particle);
2301
+ container.interactivity.mouse.clickPosition = {
2302
+ x: mousePos.x,
2303
+ y: mousePos.y
2304
+ };
2305
+ container.interactivity.mouse.clickTime = (new Date).getTime();
2306
+ const onClick = options.interactivity.events.onClick;
2307
+ if (onClick.mode instanceof Array) {
2308
+ for (const mode of onClick.mode) {
2309
+ this.handleClickMode(mode);
2916
2310
  }
2311
+ } else {
2312
+ this.handleClickMode(onClick.mode);
2917
2313
  }
2918
- }));
2919
- }
2920
- drawPlugin(plugin, delta) {
2921
- this.draw((ctx => {
2922
- drawPlugin(ctx, plugin, delta);
2923
- }));
2924
- }
2925
- drawParticlePlugin(plugin, particle, delta) {
2926
- this.draw((ctx => {
2927
- drawParticlePlugin(ctx, plugin, particle, delta);
2928
- }));
2929
- }
2930
- initBackground() {
2931
- const options = this.container.actualOptions;
2932
- const background = options.background;
2933
- const element = this.element;
2934
- const elementStyle = element === null || element === void 0 ? void 0 : element.style;
2935
- if (!elementStyle) {
2936
- return;
2937
2314
  }
2938
- if (background.color) {
2939
- const color = colorToRgb(background.color);
2940
- elementStyle.backgroundColor = color ? getStyleFromRgb(color, background.opacity) : "";
2941
- } else {
2942
- elementStyle.backgroundColor = "";
2315
+ if (e.type === "touchend") {
2316
+ setTimeout((() => this.mouseTouchFinish()), 500);
2943
2317
  }
2944
- elementStyle.backgroundImage = background.image || "";
2945
- elementStyle.backgroundPosition = background.position || "";
2946
- elementStyle.backgroundRepeat = background.repeat || "";
2947
- elementStyle.backgroundSize = background.size || "";
2948
2318
  }
2949
- draw(cb) {
2950
- if (!this.context) {
2951
- return;
2319
+ handleThemeChange(e) {
2320
+ const mediaEvent = e, themeName = mediaEvent.matches ? this.container.options.defaultDarkTheme : this.container.options.defaultLightTheme, theme = this.container.options.themes.find((theme => theme.name === themeName));
2321
+ if (theme && theme.default.auto) {
2322
+ this.container.loadTheme(themeName);
2952
2323
  }
2953
- return cb(this.context);
2954
2324
  }
2955
- initCover() {
2956
- const options = this.container.actualOptions;
2957
- const cover = options.backgroundMask.cover;
2958
- const color = cover.color;
2959
- const coverRgb = colorToRgb(color);
2960
- if (coverRgb) {
2961
- const coverColor = {
2962
- r: coverRgb.r,
2963
- g: coverRgb.g,
2964
- b: coverRgb.b,
2965
- a: cover.opacity
2966
- };
2967
- this.coverColorStyle = getStyleFromRgb(coverColor, coverColor.a);
2968
- }
2325
+ handleClickMode(mode) {
2326
+ this.container.handleClickMode(mode);
2969
2327
  }
2970
- initTrail() {
2971
- const options = this.container.actualOptions;
2972
- const trail = options.particles.move.trail;
2973
- const fillColor = colorToRgb(trail.fillColor);
2974
- if (fillColor) {
2975
- const trail = options.particles.move.trail;
2976
- this.trailFillColor = {
2977
- r: fillColor.r,
2978
- g: fillColor.g,
2979
- b: fillColor.b,
2980
- a: 1 / trail.length
2981
- };
2982
- }
2328
+ }
2329
+ class FrameManager {
2330
+ constructor(container) {
2331
+ this.container = container;
2983
2332
  }
2984
- getPluginParticleColors(particle) {
2985
- let fColor;
2986
- let sColor;
2987
- for (const [, plugin] of this.container.plugins) {
2988
- if (!fColor && plugin.particleFillColor) {
2989
- fColor = colorToHsl(plugin.particleFillColor(particle));
2990
- }
2991
- if (!sColor && plugin.particleStrokeColor) {
2992
- sColor = colorToHsl(plugin.particleStrokeColor(particle));
2333
+ async nextFrame(timestamp) {
2334
+ var _a;
2335
+ try {
2336
+ const container = this.container;
2337
+ if (container.lastFrameTime !== undefined && timestamp < container.lastFrameTime + 1e3 / container.fpsLimit) {
2338
+ container.draw(false);
2339
+ return;
2993
2340
  }
2994
- if (fColor && sColor) {
2995
- break;
2341
+ (_a = container.lastFrameTime) !== null && _a !== void 0 ? _a : container.lastFrameTime = timestamp;
2342
+ const deltaValue = timestamp - container.lastFrameTime, delta = {
2343
+ value: deltaValue,
2344
+ factor: 60 * deltaValue / 1e3
2345
+ };
2346
+ container.lifeTime += delta.value;
2347
+ container.lastFrameTime = timestamp;
2348
+ if (deltaValue > 1e3) {
2349
+ container.draw(false);
2350
+ return;
2996
2351
  }
2997
- }
2998
- return [ fColor, sColor ];
2999
- }
3000
- initStyle() {
3001
- const element = this.element, options = this.container.actualOptions;
3002
- if (!element) {
3003
- return;
3004
- }
3005
- const originalStyle = this.originalStyle;
3006
- if (options.fullScreen.enable) {
3007
- this.originalStyle = deepExtend({}, element.style);
3008
- element.style.setProperty("position", "fixed", "important");
3009
- element.style.setProperty("z-index", options.fullScreen.zIndex.toString(10), "important");
3010
- element.style.setProperty("top", "0", "important");
3011
- element.style.setProperty("left", "0", "important");
3012
- element.style.setProperty("width", "100%", "important");
3013
- element.style.setProperty("height", "100%", "important");
3014
- } else if (originalStyle) {
3015
- element.style.position = originalStyle.position;
3016
- element.style.zIndex = originalStyle.zIndex;
3017
- element.style.top = originalStyle.top;
3018
- element.style.left = originalStyle.left;
3019
- element.style.width = originalStyle.width;
3020
- element.style.height = originalStyle.height;
3021
- }
3022
- for (const key in options.style) {
3023
- if (!key || !options.style) {
3024
- continue;
2352
+ await container.particles.draw(delta);
2353
+ if (container.duration > 0 && container.lifeTime > container.duration) {
2354
+ container.destroy();
2355
+ return;
3025
2356
  }
3026
- const value = options.style[key];
3027
- if (!value) {
3028
- continue;
2357
+ if (container.getAnimationStatus()) {
2358
+ container.draw(false);
3029
2359
  }
3030
- element.style.setProperty(key, value, "important");
2360
+ } catch (e) {
2361
+ console.error("tsParticles error in animation loop", e);
3031
2362
  }
3032
2363
  }
3033
- paintBase(baseColor) {
3034
- this.draw((ctx => {
3035
- paintBase(ctx, this.size, baseColor);
3036
- }));
3037
- }
3038
- lineStyle(p1, p2) {
3039
- return this.draw((ctx => {
3040
- const options = this.container.actualOptions;
3041
- const connectOptions = options.interactivity.modes.connect;
3042
- return gradient(ctx, p1, p2, connectOptions.links.opacity);
3043
- }));
3044
- }
3045
2364
  }
3046
2365
  class OptionsColor {
3047
2366
  constructor() {
@@ -5504,14 +4823,14 @@
5504
4823
  }
5505
4824
  }
5506
4825
  }
5507
- var Options_classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {
4826
+ var __classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {
5508
4827
  if (kind === "m") throw new TypeError("Private method is not writable");
5509
4828
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5510
4829
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5511
4830
  return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value),
5512
4831
  value;
5513
4832
  };
5514
- var Options_classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {
4833
+ var __classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {
5515
4834
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
5516
4835
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5517
4836
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
@@ -5521,7 +4840,7 @@
5521
4840
  constructor(engine) {
5522
4841
  _Options_instances.add(this);
5523
4842
  _Options_engine.set(this, void 0);
5524
- Options_classPrivateFieldSet(this, _Options_engine, engine, "f");
4843
+ __classPrivateFieldSet(this, _Options_engine, engine, "f");
5525
4844
  this.autoPlay = true;
5526
4845
  this.background = new Background;
5527
4846
  this.backgroundMask = new BackgroundMask;
@@ -5614,7 +4933,7 @@
5614
4933
  this.motion.load(data.motion);
5615
4934
  this.particles.load(data.particles);
5616
4935
  this.style = deepExtend(this.style, data.style);
5617
- Options_classPrivateFieldGet(this, _Options_engine, "f").plugins.loadOptions(this, data);
4936
+ __classPrivateFieldGet(this, _Options_engine, "f").plugins.loadOptions(this, data);
5618
4937
  if (data.responsive !== undefined) {
5619
4938
  for (const responsive of data.responsive) {
5620
4939
  const optResponsive = new Responsive;
@@ -5630,8 +4949,8 @@
5630
4949
  this.themes.push(optTheme);
5631
4950
  }
5632
4951
  }
5633
- this.defaultDarkTheme = (_d = Options_classPrivateFieldGet(this, _Options_instances, "m", _Options_findDefaultTheme).call(this, "dark")) === null || _d === void 0 ? void 0 : _d.name;
5634
- this.defaultLightTheme = (_e = Options_classPrivateFieldGet(this, _Options_instances, "m", _Options_findDefaultTheme).call(this, "light")) === null || _e === void 0 ? void 0 : _e.name;
4952
+ this.defaultDarkTheme = (_d = __classPrivateFieldGet(this, _Options_instances, "m", _Options_findDefaultTheme).call(this, "dark")) === null || _d === void 0 ? void 0 : _d.name;
4953
+ this.defaultLightTheme = (_e = __classPrivateFieldGet(this, _Options_instances, "m", _Options_findDefaultTheme).call(this, "light")) === null || _e === void 0 ? void 0 : _e.name;
5635
4954
  }
5636
4955
  setTheme(name) {
5637
4956
  if (name) {
@@ -5640,26 +4959,153 @@
5640
4959
  this.load(chosenTheme.options);
5641
4960
  }
5642
4961
  } else {
5643
- const mediaMatch = typeof matchMedia !== "undefined" && matchMedia("(prefers-color-scheme: dark)"), clientDarkMode = mediaMatch && mediaMatch.matches, defaultTheme = Options_classPrivateFieldGet(this, _Options_instances, "m", _Options_findDefaultTheme).call(this, clientDarkMode ? "dark" : "light");
5644
- if (defaultTheme) {
5645
- this.load(defaultTheme.options);
5646
- }
4962
+ const mediaMatch = typeof matchMedia !== "undefined" && matchMedia("(prefers-color-scheme: dark)"), clientDarkMode = mediaMatch && mediaMatch.matches, defaultTheme = __classPrivateFieldGet(this, _Options_instances, "m", _Options_findDefaultTheme).call(this, clientDarkMode ? "dark" : "light");
4963
+ if (defaultTheme) {
4964
+ this.load(defaultTheme.options);
4965
+ }
4966
+ }
4967
+ }
4968
+ setResponsive(width, pxRatio, defaultOptions) {
4969
+ this.load(defaultOptions);
4970
+ const responsiveOptions = this.responsive.find((t => t.mode === "screen" && screen ? t.maxWidth * pxRatio > screen.availWidth : t.maxWidth * pxRatio > width));
4971
+ this.load(responsiveOptions === null || responsiveOptions === void 0 ? void 0 : responsiveOptions.options);
4972
+ return responsiveOptions === null || responsiveOptions === void 0 ? void 0 : responsiveOptions.maxWidth;
4973
+ }
4974
+ importPreset(preset) {
4975
+ this.load(__classPrivateFieldGet(this, _Options_engine, "f").plugins.getPreset(preset));
4976
+ }
4977
+ }
4978
+ _Options_engine = new WeakMap, _Options_instances = new WeakSet, _Options_findDefaultTheme = function _Options_findDefaultTheme(mode) {
4979
+ var _a;
4980
+ return (_a = this.themes.find((theme => theme.default.value && theme.default.mode === mode))) !== null && _a !== void 0 ? _a : this.themes.find((theme => theme.default.value && theme.default.mode === "any"));
4981
+ };
4982
+ var InteractionManager_classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {
4983
+ if (kind === "m") throw new TypeError("Private method is not writable");
4984
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4985
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
4986
+ return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value),
4987
+ value;
4988
+ };
4989
+ var InteractionManager_classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {
4990
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4991
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4992
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
4993
+ };
4994
+ var _InteractionManager_engine;
4995
+ class InteractionManager {
4996
+ constructor(engine, container) {
4997
+ this.container = container;
4998
+ _InteractionManager_engine.set(this, void 0);
4999
+ InteractionManager_classPrivateFieldSet(this, _InteractionManager_engine, engine, "f");
5000
+ this.externalInteractors = [];
5001
+ this.particleInteractors = [];
5002
+ this.init();
5003
+ }
5004
+ init() {
5005
+ const interactors = InteractionManager_classPrivateFieldGet(this, _InteractionManager_engine, "f").plugins.getInteractors(this.container, true);
5006
+ this.externalInteractors = [];
5007
+ this.particleInteractors = [];
5008
+ for (const interactor of interactors) {
5009
+ switch (interactor.type) {
5010
+ case 0:
5011
+ this.externalInteractors.push(interactor);
5012
+ break;
5013
+
5014
+ case 1:
5015
+ this.particleInteractors.push(interactor);
5016
+ break;
5017
+ }
5018
+ }
5019
+ }
5020
+ async externalInteract(delta) {
5021
+ for (const interactor of this.externalInteractors) {
5022
+ if (interactor.isEnabled()) {
5023
+ await interactor.interact(delta);
5024
+ }
5025
+ }
5026
+ }
5027
+ async particlesInteract(particle, delta) {
5028
+ for (const interactor of this.externalInteractors) {
5029
+ interactor.reset(particle);
5030
+ }
5031
+ for (const interactor of this.particleInteractors) {
5032
+ if (interactor.isEnabled(particle)) {
5033
+ await interactor.interact(particle, delta);
5034
+ }
5035
+ }
5036
+ }
5037
+ handleClickMode(mode) {
5038
+ for (const interactor of this.externalInteractors) {
5039
+ if (interactor.handleClickMode) {
5040
+ interactor.handleClickMode(mode);
5041
+ }
5042
+ }
5043
+ }
5044
+ }
5045
+ _InteractionManager_engine = new WeakMap;
5046
+ class Vector3d extends Vector {
5047
+ constructor(xOrCoords, y, z) {
5048
+ super(xOrCoords, y);
5049
+ if (typeof xOrCoords !== "number" && xOrCoords) {
5050
+ this.z = xOrCoords.z;
5051
+ } else if (z !== undefined) {
5052
+ this.z = z;
5053
+ } else {
5054
+ throw new Error("tsParticles - Vector not initialized correctly");
5647
5055
  }
5648
5056
  }
5649
- setResponsive(width, pxRatio, defaultOptions) {
5650
- this.load(defaultOptions);
5651
- const responsiveOptions = this.responsive.find((t => t.mode === "screen" && screen ? t.maxWidth * pxRatio > screen.availWidth : t.maxWidth * pxRatio > width));
5652
- this.load(responsiveOptions === null || responsiveOptions === void 0 ? void 0 : responsiveOptions.options);
5653
- return responsiveOptions === null || responsiveOptions === void 0 ? void 0 : responsiveOptions.maxWidth;
5057
+ static clone(source) {
5058
+ return Vector3d.create(source.x, source.y, source.z);
5654
5059
  }
5655
- importPreset(preset) {
5656
- this.load(Options_classPrivateFieldGet(this, _Options_engine, "f").plugins.getPreset(preset));
5060
+ static create(x, y, z) {
5061
+ return new Vector3d(x, y, z);
5062
+ }
5063
+ static get origin() {
5064
+ return Vector3d.create(0, 0, 0);
5065
+ }
5066
+ add(v) {
5067
+ return v instanceof Vector3d ? Vector3d.create(this.x + v.x, this.y + v.y, this.z + v.z) : super.add(v);
5068
+ }
5069
+ addTo(v) {
5070
+ super.addTo(v);
5071
+ if (v instanceof Vector3d) {
5072
+ this.z += v.z;
5073
+ }
5074
+ }
5075
+ sub(v) {
5076
+ return v instanceof Vector3d ? Vector3d.create(this.x - v.x, this.y - v.y, this.z - v.z) : super.sub(v);
5077
+ }
5078
+ subFrom(v) {
5079
+ super.subFrom(v);
5080
+ if (v instanceof Vector3d) {
5081
+ this.z -= v.z;
5082
+ }
5083
+ }
5084
+ mult(n) {
5085
+ return Vector3d.create(this.x * n, this.y * n, this.z * n);
5086
+ }
5087
+ multTo(n) {
5088
+ super.multTo(n);
5089
+ this.z *= n;
5090
+ }
5091
+ div(n) {
5092
+ return Vector3d.create(this.x / n, this.y / n, this.z / n);
5093
+ }
5094
+ divTo(n) {
5095
+ super.divTo(n);
5096
+ this.z /= n;
5097
+ }
5098
+ copy() {
5099
+ return Vector3d.clone(this);
5100
+ }
5101
+ setTo(v) {
5102
+ super.setTo(v);
5103
+ const v3d = v;
5104
+ if (v3d.z !== undefined) {
5105
+ this.z = v3d.z;
5106
+ }
5657
5107
  }
5658
5108
  }
5659
- _Options_engine = new WeakMap, _Options_instances = new WeakSet, _Options_findDefaultTheme = function _Options_findDefaultTheme(mode) {
5660
- var _a;
5661
- return (_a = this.themes.find((theme => theme.default.value && theme.default.mode === mode))) !== null && _a !== void 0 ? _a : this.themes.find((theme => theme.default.value && theme.default.mode === "any"));
5662
- };
5663
5109
  var Particle_classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {
5664
5110
  if (kind === "m") throw new TypeError("Private method is not writable");
5665
5111
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
@@ -5674,17 +5120,18 @@
5674
5120
  };
5675
5121
  var _Particle_engine;
5676
5122
  const fixOutMode = data => {
5677
- if (isInArray(data.outMode, data.checkModes) || isInArray(data.outMode, data.checkModes)) {
5678
- if (data.coord > data.maxCoord - data.radius * 2) {
5679
- data.setCb(-data.radius);
5680
- } else if (data.coord < data.radius * 2) {
5681
- data.setCb(data.radius);
5682
- }
5123
+ if (!(isInArray(data.outMode, data.checkModes) || isInArray(data.outMode, data.checkModes))) {
5124
+ return;
5125
+ }
5126
+ if (data.coord > data.maxCoord - data.radius * 2) {
5127
+ data.setCb(-data.radius);
5128
+ } else if (data.coord < data.radius * 2) {
5129
+ data.setCb(data.radius);
5683
5130
  }
5684
5131
  };
5685
5132
  class Particle {
5686
5133
  constructor(engine, id, container, position, overrideOptions, group) {
5687
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
5134
+ var _a, _b, _c, _d, _e, _f, _g;
5688
5135
  this.id = id;
5689
5136
  this.container = container;
5690
5137
  this.group = group;
@@ -5701,12 +5148,9 @@
5701
5148
  maxDistance: {}
5702
5149
  };
5703
5150
  this.ignoresResizeRatio = true;
5704
- const pxRatio = container.retina.pixelRatio;
5705
- const mainOptions = container.actualOptions;
5706
- const particlesOptions = new ParticlesOptions;
5151
+ const pxRatio = container.retina.pixelRatio, mainOptions = container.actualOptions, particlesOptions = new ParticlesOptions;
5707
5152
  particlesOptions.load(mainOptions.particles);
5708
- const shapeType = particlesOptions.shape.type;
5709
- const reduceDuplicates = particlesOptions.reduceDuplicates;
5153
+ const shapeType = particlesOptions.shape.type, reduceDuplicates = particlesOptions.reduceDuplicates;
5710
5154
  this.shape = shapeType instanceof Array ? itemFromArray(shapeType, this.id, reduceDuplicates) : shapeType;
5711
5155
  if (overrideOptions === null || overrideOptions === void 0 ? void 0 : overrideOptions.shape) {
5712
5156
  if (overrideOptions.shape.type) {
@@ -5804,25 +5248,6 @@
5804
5248
  }
5805
5249
  this.life = this.loadLife();
5806
5250
  this.spawning = this.life.delay > 0;
5807
- if (this.options.move.spin.enable) {
5808
- const spinPos = (_h = this.options.move.spin.position) !== null && _h !== void 0 ? _h : {
5809
- x: 50,
5810
- y: 50
5811
- };
5812
- const spinCenter = {
5813
- x: spinPos.x / 100 * container.canvas.size.width,
5814
- y: spinPos.y / 100 * container.canvas.size.height
5815
- };
5816
- const pos = this.getPosition();
5817
- const distance = getDistance(pos, spinCenter);
5818
- this.spin = {
5819
- center: spinCenter,
5820
- direction: this.velocity.x >= 0 ? "clockwise" : "counter-clockwise",
5821
- angle: this.velocity.angle,
5822
- radius: distance,
5823
- acceleration: (_j = this.retina.spinAcceleration) !== null && _j !== void 0 ? _j : getRangeValue(this.options.move.spin.acceleration)
5824
- };
5825
- }
5826
5251
  this.shadowColor = colorToRgb(this.options.shadow.color);
5827
5252
  for (const updater of container.particles.updaters) {
5828
5253
  if (updater.init) {
@@ -5842,8 +5267,7 @@
5842
5267
  return !this.destroyed && !this.spawning && this.isInsideCanvas();
5843
5268
  }
5844
5269
  isInsideCanvas() {
5845
- const radius = this.getRadius();
5846
- const canvasSize = this.container.canvas.size;
5270
+ const radius = this.getRadius(), canvasSize = this.container.canvas.size;
5847
5271
  return this.position.x >= -radius && this.position.y >= -radius && this.position.y <= canvasSize.height + radius && this.position.x <= canvasSize.width + radius;
5848
5272
  }
5849
5273
  draw(delta) {
@@ -5925,17 +5349,17 @@
5925
5349
  }
5926
5350
  }
5927
5351
  calcPosition(container, position, zIndex, tryCount = 0) {
5928
- var _a, _b, _c, _d, _e, _f;
5352
+ var _a, _b, _c, _d;
5929
5353
  for (const [, plugin] of container.plugins) {
5930
5354
  const pluginPos = plugin.particlePosition !== undefined ? plugin.particlePosition(position, this) : undefined;
5931
5355
  if (pluginPos !== undefined) {
5932
5356
  return Vector3d.create(pluginPos.x, pluginPos.y, zIndex);
5933
5357
  }
5934
5358
  }
5935
- const canvasSize = container.canvas.size;
5936
- const pos = Vector3d.create((_a = position === null || position === void 0 ? void 0 : position.x) !== null && _a !== void 0 ? _a : Math.random() * canvasSize.width, (_b = position === null || position === void 0 ? void 0 : position.y) !== null && _b !== void 0 ? _b : Math.random() * canvasSize.height, zIndex);
5937
- const radius = this.getRadius();
5938
- const outModes = this.options.move.outModes, fixHorizontal = outMode => {
5359
+ const canvasSize = container.canvas.size, exactPosition = calcExactPositionOrRandomFromSize({
5360
+ size: canvasSize,
5361
+ position: position
5362
+ }), pos = Vector3d.create(exactPosition.x, exactPosition.y, zIndex), radius = this.getRadius(), outModes = this.options.move.outModes, fixHorizontal = outMode => {
5939
5363
  fixOutMode({
5940
5364
  outMode: outMode,
5941
5365
  checkModes: [ "bounce", "bounce-horizontal" ],
@@ -5954,18 +5378,17 @@
5954
5378
  radius: radius
5955
5379
  });
5956
5380
  };
5957
- fixHorizontal((_c = outModes.left) !== null && _c !== void 0 ? _c : outModes.default);
5958
- fixHorizontal((_d = outModes.right) !== null && _d !== void 0 ? _d : outModes.default);
5959
- fixVertical((_e = outModes.top) !== null && _e !== void 0 ? _e : outModes.default);
5960
- fixVertical((_f = outModes.bottom) !== null && _f !== void 0 ? _f : outModes.default);
5381
+ fixHorizontal((_a = outModes.left) !== null && _a !== void 0 ? _a : outModes.default);
5382
+ fixHorizontal((_b = outModes.right) !== null && _b !== void 0 ? _b : outModes.default);
5383
+ fixVertical((_c = outModes.top) !== null && _c !== void 0 ? _c : outModes.default);
5384
+ fixVertical((_d = outModes.bottom) !== null && _d !== void 0 ? _d : outModes.default);
5961
5385
  if (this.checkOverlap(pos, tryCount)) {
5962
5386
  return this.calcPosition(container, undefined, zIndex, tryCount + 1);
5963
5387
  }
5964
5388
  return pos;
5965
5389
  }
5966
5390
  checkOverlap(pos, tryCount = 0) {
5967
- const collisionsOptions = this.options.collisions;
5968
- const radius = this.getRadius();
5391
+ const collisionsOptions = this.options.collisions, radius = this.getRadius();
5969
5392
  if (!collisionsOptions.enable) {
5970
5393
  return false;
5971
5394
  }
@@ -6006,10 +5429,7 @@
6006
5429
  }
6007
5430
  }
6008
5431
  loadLife() {
6009
- const container = this.container;
6010
- const particlesOptions = this.options;
6011
- const lifeOptions = particlesOptions.life;
6012
- const life = {
5432
+ const container = this.container, particlesOptions = this.options, lifeOptions = particlesOptions.life, life = {
6013
5433
  delay: container.retina.reduceFactor ? getRangeValue(lifeOptions.delay.value) * (lifeOptions.delay.sync ? 1 : Math.random()) / container.retina.reduceFactor * 1e3 : 0,
6014
5434
  delayTime: 0,
6015
5435
  duration: container.retina.reduceFactor ? getRangeValue(lifeOptions.duration.value) * (lifeOptions.duration.sync ? 1 : Math.random()) / container.retina.reduceFactor * 1e3 : 0,
@@ -6026,6 +5446,178 @@
6026
5446
  }
6027
5447
  }
6028
5448
  _Particle_engine = new WeakMap;
5449
+ class Point {
5450
+ constructor(position, particle) {
5451
+ this.position = position;
5452
+ this.particle = particle;
5453
+ }
5454
+ }
5455
+ class Range {
5456
+ constructor(x, y) {
5457
+ this.position = {
5458
+ x: x,
5459
+ y: y
5460
+ };
5461
+ }
5462
+ }
5463
+ class Circle extends Range {
5464
+ constructor(x, y, radius) {
5465
+ super(x, y);
5466
+ this.radius = radius;
5467
+ }
5468
+ contains(point) {
5469
+ return getDistance(point, this.position) <= this.radius;
5470
+ }
5471
+ intersects(range) {
5472
+ const rect = range, circle = range, pos1 = this.position, pos2 = range.position, xDist = Math.abs(pos2.x - pos1.x), yDist = Math.abs(pos2.y - pos1.y), r = this.radius;
5473
+ if (circle.radius !== undefined) {
5474
+ const rSum = r + circle.radius, dist = Math.sqrt(xDist * xDist + yDist + yDist);
5475
+ return rSum > dist;
5476
+ } else if (rect.size !== undefined) {
5477
+ const w = rect.size.width, h = rect.size.height, edges = Math.pow(xDist - w, 2) + Math.pow(yDist - h, 2);
5478
+ if (xDist > r + w || yDist > r + h) {
5479
+ return false;
5480
+ }
5481
+ if (xDist <= w || yDist <= h) {
5482
+ return true;
5483
+ }
5484
+ return edges <= r * r;
5485
+ }
5486
+ return false;
5487
+ }
5488
+ }
5489
+ class Rectangle extends Range {
5490
+ constructor(x, y, width, height) {
5491
+ super(x, y);
5492
+ this.size = {
5493
+ height: height,
5494
+ width: width
5495
+ };
5496
+ }
5497
+ contains(point) {
5498
+ const w = this.size.width, h = this.size.height, pos = this.position;
5499
+ return point.x >= pos.x && point.x <= pos.x + w && point.y >= pos.y && point.y <= pos.y + h;
5500
+ }
5501
+ intersects(range) {
5502
+ const rect = range, circle = range, w = this.size.width, h = this.size.height, pos1 = this.position, pos2 = range.position;
5503
+ if (circle.radius !== undefined) {
5504
+ return circle.intersects(this);
5505
+ }
5506
+ if (!rect.size) {
5507
+ return false;
5508
+ }
5509
+ const size2 = rect.size, w2 = size2.width, h2 = size2.height;
5510
+ return pos2.x < pos1.x + w && pos2.x + w2 > pos1.x && pos2.y < pos1.y + h && pos2.y + h2 > pos1.y;
5511
+ }
5512
+ }
5513
+ class CircleWarp extends Circle {
5514
+ constructor(x, y, radius, canvasSize) {
5515
+ super(x, y, radius);
5516
+ this.canvasSize = canvasSize;
5517
+ this.canvasSize = Object.assign({}, canvasSize);
5518
+ }
5519
+ contains(point) {
5520
+ if (super.contains(point)) {
5521
+ return true;
5522
+ }
5523
+ const posNE = {
5524
+ x: point.x - this.canvasSize.width,
5525
+ y: point.y
5526
+ };
5527
+ if (super.contains(posNE)) {
5528
+ return true;
5529
+ }
5530
+ const posSE = {
5531
+ x: point.x - this.canvasSize.width,
5532
+ y: point.y - this.canvasSize.height
5533
+ };
5534
+ if (super.contains(posSE)) {
5535
+ return true;
5536
+ }
5537
+ const posSW = {
5538
+ x: point.x,
5539
+ y: point.y - this.canvasSize.height
5540
+ };
5541
+ return super.contains(posSW);
5542
+ }
5543
+ intersects(range) {
5544
+ if (super.intersects(range)) {
5545
+ return true;
5546
+ }
5547
+ const rect = range, circle = range, newPos = {
5548
+ x: range.position.x - this.canvasSize.width,
5549
+ y: range.position.y - this.canvasSize.height
5550
+ };
5551
+ if (circle.radius !== undefined) {
5552
+ const biggerCircle = new Circle(newPos.x, newPos.y, circle.radius * 2);
5553
+ return super.intersects(biggerCircle);
5554
+ } else if (rect.size !== undefined) {
5555
+ const rectSW = new Rectangle(newPos.x, newPos.y, rect.size.width * 2, rect.size.height * 2);
5556
+ return super.intersects(rectSW);
5557
+ }
5558
+ return false;
5559
+ }
5560
+ }
5561
+ class QuadTree {
5562
+ constructor(rectangle, capacity) {
5563
+ this.rectangle = rectangle;
5564
+ this.capacity = capacity;
5565
+ this.points = [];
5566
+ this.divided = false;
5567
+ }
5568
+ insert(point) {
5569
+ var _a, _b, _c, _d, _e;
5570
+ if (!this.rectangle.contains(point.position)) {
5571
+ return false;
5572
+ }
5573
+ if (this.points.length < this.capacity) {
5574
+ this.points.push(point);
5575
+ return true;
5576
+ }
5577
+ if (!this.divided) {
5578
+ this.subdivide();
5579
+ }
5580
+ return (_e = ((_a = this.northEast) === null || _a === void 0 ? void 0 : _a.insert(point)) || ((_b = this.northWest) === null || _b === void 0 ? void 0 : _b.insert(point)) || ((_c = this.southEast) === null || _c === void 0 ? void 0 : _c.insert(point)) || ((_d = this.southWest) === null || _d === void 0 ? void 0 : _d.insert(point))) !== null && _e !== void 0 ? _e : false;
5581
+ }
5582
+ queryCircle(position, radius) {
5583
+ return this.query(new Circle(position.x, position.y, radius));
5584
+ }
5585
+ queryCircleWarp(position, radius, containerOrSize) {
5586
+ const container = containerOrSize, size = containerOrSize;
5587
+ return this.query(new CircleWarp(position.x, position.y, radius, container.canvas !== undefined ? container.canvas.size : size));
5588
+ }
5589
+ queryRectangle(position, size) {
5590
+ return this.query(new Rectangle(position.x, position.y, size.width, size.height));
5591
+ }
5592
+ query(range, found) {
5593
+ var _a, _b, _c, _d;
5594
+ const res = found !== null && found !== void 0 ? found : [];
5595
+ if (!range.intersects(this.rectangle)) {
5596
+ return [];
5597
+ }
5598
+ for (const p of this.points) {
5599
+ if (!range.contains(p.position) && getDistance(range.position, p.position) > p.particle.getRadius()) {
5600
+ continue;
5601
+ }
5602
+ res.push(p.particle);
5603
+ }
5604
+ if (this.divided) {
5605
+ (_a = this.northEast) === null || _a === void 0 ? void 0 : _a.query(range, res);
5606
+ (_b = this.northWest) === null || _b === void 0 ? void 0 : _b.query(range, res);
5607
+ (_c = this.southEast) === null || _c === void 0 ? void 0 : _c.query(range, res);
5608
+ (_d = this.southWest) === null || _d === void 0 ? void 0 : _d.query(range, res);
5609
+ }
5610
+ return res;
5611
+ }
5612
+ subdivide() {
5613
+ const x = this.rectangle.position.x, y = this.rectangle.position.y, w = this.rectangle.size.width, h = this.rectangle.size.height, capacity = this.capacity;
5614
+ this.northEast = new QuadTree(new Rectangle(x, y, w / 2, h / 2), capacity);
5615
+ this.northWest = new QuadTree(new Rectangle(x + w / 2, y, w / 2, h / 2), capacity);
5616
+ this.southEast = new QuadTree(new Rectangle(x, y + h / 2, w / 2, h / 2), capacity);
5617
+ this.southWest = new QuadTree(new Rectangle(x + w / 2, y + h / 2, w / 2, h / 2), capacity);
5618
+ this.divided = true;
5619
+ }
5620
+ }
6029
5621
  var Particles_classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {
6030
5622
  if (kind === "m") throw new TypeError("Private method is not writable");
6031
5623
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
@@ -6047,7 +5639,6 @@
6047
5639
  this.nextId = 0;
6048
5640
  this.array = [];
6049
5641
  this.zArray = [];
6050
- this.mover = new ParticlesMover(container);
6051
5642
  this.limit = 0;
6052
5643
  this.needsSort = false;
6053
5644
  this.lastZIndex = 0;
@@ -6059,6 +5650,7 @@
6059
5650
  const canvasSize = this.container.canvas.size;
6060
5651
  this.linksColors = new Map;
6061
5652
  this.quadTree = new QuadTree(new Rectangle(-canvasSize.width / 4, -canvasSize.height / 4, canvasSize.width * 3 / 2, canvasSize.height * 3 / 2), 4);
5653
+ this.movers = Particles_classPrivateFieldGet(this, _Particles_engine, "f").plugins.getMovers(container, true);
6062
5654
  this.updaters = Particles_classPrivateFieldGet(this, _Particles_engine, "f").plugins.getUpdaters(container, true);
6063
5655
  }
6064
5656
  get count() {
@@ -6066,8 +5658,7 @@
6066
5658
  }
6067
5659
  init() {
6068
5660
  var _a;
6069
- const container = this.container;
6070
- const options = container.actualOptions;
5661
+ const container = this.container, options = container.actualOptions;
6071
5662
  this.lastZIndex = 0;
6072
5663
  this.needsSort = false;
6073
5664
  this.freqs.links = new Map;
@@ -6127,8 +5718,7 @@
6127
5718
  this.removeAt(this.array.indexOf(particle), undefined, group, override);
6128
5719
  }
6129
5720
  async update(delta) {
6130
- const container = this.container;
6131
- const particlesToDelete = [];
5721
+ const container = this.container, particlesToDelete = [];
6132
5722
  container.pathGenerator.update();
6133
5723
  for (const [, plugin] of container.plugins) {
6134
5724
  if (plugin.update !== undefined) {
@@ -6151,7 +5741,11 @@
6151
5741
  plugin.particleUpdate(particle, delta);
6152
5742
  }
6153
5743
  }
6154
- this.mover.move(particle, delta);
5744
+ for (const mover of this.movers) {
5745
+ if (mover.isEnabled(particle)) {
5746
+ mover.move(particle, delta);
5747
+ }
5748
+ }
6155
5749
  if (particle.destroyed) {
6156
5750
  particlesToDelete.push(particle);
6157
5751
  continue;
@@ -6175,13 +5769,13 @@
6175
5769
  async draw(delta) {
6176
5770
  const container = this.container, canvasSize = this.container.canvas.size;
6177
5771
  this.quadTree = new QuadTree(new Rectangle(-canvasSize.width / 4, -canvasSize.height / 4, canvasSize.width * 3 / 2, canvasSize.height * 3 / 2), 4);
5772
+ container.canvas.clear();
6178
5773
  await this.update(delta);
6179
5774
  if (this.needsSort) {
6180
5775
  this.zArray.sort(((a, b) => b.position.z - a.position.z || a.id - b.id));
6181
5776
  this.lastZIndex = this.zArray[this.zArray.length - 1].position.z;
6182
5777
  this.needsSort = false;
6183
5778
  }
6184
- container.canvas.clear();
6185
5779
  for (const [, plugin] of container.plugins) {
6186
5780
  container.canvas.drawPlugin(plugin, delta);
6187
5781
  }
@@ -6226,8 +5820,7 @@
6226
5820
  options.size.value.max /= factor;
6227
5821
  }
6228
5822
  options.load(splitOptions.particles);
6229
- const offset = splitOptions.sizeOffset ? setRangeValue(-parent.size.value, parent.size.value) : 0;
6230
- const position = {
5823
+ const offset = splitOptions.sizeOffset ? setRangeValue(-parent.size.value, parent.size.value) : 0, position = {
6231
5824
  x: parent.position.x + randomInRange(offset),
6232
5825
  y: parent.position.y + randomInRange(offset)
6233
5826
  };
@@ -6278,11 +5871,10 @@
6278
5871
  addManualParticles() {
6279
5872
  const container = this.container, options = container.actualOptions;
6280
5873
  for (const particle of options.manualParticles) {
6281
- const pos = particle.position ? {
6282
- x: particle.position.x * container.canvas.size.width / 100,
6283
- y: particle.position.y * container.canvas.size.height / 100
6284
- } : undefined;
6285
- this.addParticle(pos, particle.options);
5874
+ this.addParticle(calcPositionFromSize({
5875
+ size: container.canvas.size,
5876
+ position: particle.position
5877
+ }), particle.options);
6286
5878
  }
6287
5879
  }
6288
5880
  setDensity() {
@@ -6292,17 +5884,15 @@
6292
5884
  }
6293
5885
  this.applyDensity(options.particles, options.manualParticles.length);
6294
5886
  }
5887
+ handleClickMode(mode) {
5888
+ this.interactionManager.handleClickMode(mode);
5889
+ }
6295
5890
  applyDensity(options, manualCount, group) {
6296
5891
  var _a;
6297
5892
  if (!((_a = options.number.density) === null || _a === void 0 ? void 0 : _a.enable)) {
6298
5893
  return;
6299
5894
  }
6300
- const numberOptions = options.number;
6301
- const densityFactor = this.initDensityFactor(numberOptions.density);
6302
- const optParticlesNumber = numberOptions.value;
6303
- const optParticlesLimit = numberOptions.limit > 0 ? numberOptions.limit : optParticlesNumber;
6304
- const particlesNumber = Math.min(optParticlesNumber, optParticlesLimit) * densityFactor + manualCount;
6305
- const particlesCount = Math.min(this.count, this.array.filter((t => t.group === group)).length);
5895
+ const numberOptions = options.number, densityFactor = this.initDensityFactor(numberOptions.density), optParticlesNumber = numberOptions.value, optParticlesLimit = numberOptions.limit > 0 ? numberOptions.limit : optParticlesNumber, particlesNumber = Math.min(optParticlesNumber, optParticlesLimit) * densityFactor + manualCount, particlesCount = Math.min(this.count, this.array.filter((t => t.group === group)).length);
6306
5896
  this.limit = numberOptions.limit * densityFactor;
6307
5897
  if (particlesCount < particlesNumber) {
6308
5898
  this.push(Math.abs(particlesNumber - particlesCount), undefined, options, group);
@@ -6344,8 +5934,7 @@
6344
5934
  this.container = container;
6345
5935
  }
6346
5936
  init() {
6347
- const container = this.container;
6348
- const options = container.actualOptions;
5937
+ const container = this.container, options = container.actualOptions;
6349
5938
  this.pixelRatio = !options.detectRetina || isSsr() ? 1 : window.devicePixelRatio;
6350
5939
  const motionOptions = this.container.actualOptions.motion;
6351
5940
  if (motionOptions && (motionOptions.disable || motionOptions.reduce.value)) {
@@ -6381,9 +5970,6 @@
6381
5970
  this.linksWidth = particles.links.width * ratio;
6382
5971
  this.sizeAnimationSpeed = getRangeValue(particles.size.animation.speed) * ratio;
6383
5972
  this.maxSpeed = getRangeValue(particles.move.gravity.maxSpeed) * ratio;
6384
- if (particles.orbit.radius !== undefined) {
6385
- this.orbitRadius = getRangeValue(particles.orbit.radius) * this.container.retina.pixelRatio;
6386
- }
6387
5973
  const modes = options.interactivity.modes;
6388
5974
  this.connectModeDistance = modes.connect.distance * ratio;
6389
5975
  this.connectModeRadius = modes.connect.radius * ratio;
@@ -6398,19 +5984,13 @@
6398
5984
  }
6399
5985
  }
6400
5986
  initParticle(particle) {
6401
- const options = particle.options;
6402
- const ratio = this.pixelRatio;
6403
- const moveDistance = options.move.distance;
6404
- const props = particle.retina;
5987
+ const options = particle.options, ratio = this.pixelRatio, moveDistance = options.move.distance, props = particle.retina;
6405
5988
  props.attractDistance = getRangeValue(options.move.attract.distance) * ratio;
6406
5989
  props.linksDistance = options.links.distance * ratio;
6407
5990
  props.linksWidth = options.links.width * ratio;
6408
5991
  props.moveDrift = getRangeValue(options.move.drift) * ratio;
6409
5992
  props.moveSpeed = getRangeValue(options.move.speed) * ratio;
6410
5993
  props.sizeAnimationSpeed = getRangeValue(options.size.animation.speed) * ratio;
6411
- if (particle.spin) {
6412
- props.spinAcceleration = getRangeValue(options.move.spin.acceleration) * ratio;
6413
- }
6414
5994
  const maxDistance = props.maxDistance;
6415
5995
  maxDistance.horizontal = moveDistance.horizontal !== undefined ? moveDistance.horizontal * ratio : undefined;
6416
5996
  maxDistance.vertical = moveDistance.vertical !== undefined ? moveDistance.vertical * ratio : undefined;
@@ -6477,13 +6057,6 @@
6477
6057
  inside: false
6478
6058
  }
6479
6059
  };
6480
- this.bubble = {};
6481
- this.repulse = {
6482
- particles: []
6483
- };
6484
- this.attract = {
6485
- particles: []
6486
- };
6487
6060
  this.plugins = new Map;
6488
6061
  this.drawers = new Map;
6489
6062
  this.density = 1;
@@ -6671,8 +6244,7 @@
6671
6244
  if (this.destroyed) {
6672
6245
  return;
6673
6246
  }
6674
- const mouseEvent = e;
6675
- const pos = {
6247
+ const mouseEvent = e, pos = {
6676
6248
  x: mouseEvent.offsetX || mouseEvent.clientX,
6677
6249
  y: mouseEvent.offsetY || mouseEvent.clientY
6678
6250
  };
@@ -6705,8 +6277,7 @@
6705
6277
  return;
6706
6278
  }
6707
6279
  }
6708
- const canvasRect = (_a = this.canvas.element) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
6709
- const pos = {
6280
+ const canvasRect = (_a = this.canvas.element) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect(), pos = {
6710
6281
  x: lastTouch.clientX - ((_b = canvasRect === null || canvasRect === void 0 ? void 0 : canvasRect.left) !== null && _b !== void 0 ? _b : 0),
6711
6282
  y: lastTouch.clientY - ((_c = canvasRect === null || canvasRect === void 0 ? void 0 : canvasRect.top) !== null && _c !== void 0 ? _c : 0)
6712
6283
  };
@@ -6730,6 +6301,14 @@
6730
6301
  el.addEventListener("touchend", touchEndHandler);
6731
6302
  el.addEventListener("touchcancel", touchCancelHandler);
6732
6303
  }
6304
+ handleClickMode(mode) {
6305
+ this.particles.handleClickMode(mode);
6306
+ for (const [, plugin] of this.plugins) {
6307
+ if (plugin.handleClickMode) {
6308
+ plugin.handleClickMode(mode);
6309
+ }
6310
+ }
6311
+ }
6733
6312
  updateActualOptions() {
6734
6313
  this.actualOptions.responsive = [];
6735
6314
  const newMaxWidth = this.actualOptions.setResponsive(this.canvas.size.width, this.retina.pixelRatio, this._options);
@@ -6845,17 +6424,14 @@
6845
6424
  }
6846
6425
  async loadOptions(params) {
6847
6426
  var _a, _b, _c;
6848
- const tagId = (_a = params.tagId) !== null && _a !== void 0 ? _a : `tsparticles${Math.floor(Math.random() * 1e4)}`;
6849
- const {options: options, index: index} = params;
6427
+ const tagId = (_a = params.tagId) !== null && _a !== void 0 ? _a : `tsparticles${Math.floor(Math.random() * 1e4)}`, {options: options, index: index} = params;
6850
6428
  let domContainer = (_b = params.element) !== null && _b !== void 0 ? _b : document.getElementById(tagId);
6851
6429
  if (!domContainer) {
6852
6430
  domContainer = document.createElement("div");
6853
6431
  domContainer.id = tagId;
6854
6432
  (_c = document.querySelector("body")) === null || _c === void 0 ? void 0 : _c.append(domContainer);
6855
6433
  }
6856
- const currentOptions = options instanceof Array ? itemFromArray(options, index) : options;
6857
- const dom = this.dom();
6858
- const oldIndex = dom.findIndex((v => v.id === tagId));
6434
+ const currentOptions = options instanceof Array ? itemFromArray(options, index) : options, dom = this.dom(), oldIndex = dom.findIndex((v => v.id === tagId));
6859
6435
  if (oldIndex >= 0) {
6860
6436
  const old = this.domItem(oldIndex);
6861
6437
  if (old && !old.destroyed) {
@@ -6891,8 +6467,7 @@
6891
6467
  return newItem;
6892
6468
  }
6893
6469
  async loadRemoteOptions(params) {
6894
- const {url: jsonUrl, index: index} = params;
6895
- const url = jsonUrl instanceof Array ? itemFromArray(jsonUrl, index) : jsonUrl;
6470
+ const {url: jsonUrl, index: index} = params, url = jsonUrl instanceof Array ? itemFromArray(jsonUrl, index) : jsonUrl;
6896
6471
  if (!url) {
6897
6472
  return;
6898
6473
  }
@@ -6981,7 +6556,7 @@
6981
6556
  }
6982
6557
  setOnClickHandler(callback) {
6983
6558
  const dom = this.dom();
6984
- if (dom.length === 0) {
6559
+ if (!dom.length) {
6985
6560
  throw new Error("Can only set click handlers after calling tsParticles.load() or tsParticles.loadJSON()");
6986
6561
  }
6987
6562
  for (const domItem of dom) {
@@ -6990,6 +6565,114 @@
6990
6565
  }
6991
6566
  }
6992
6567
  _Loader_engine = new WeakMap;
6568
+ var Plugins_classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {
6569
+ if (kind === "m") throw new TypeError("Private method is not writable");
6570
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
6571
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6572
+ return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value),
6573
+ value;
6574
+ };
6575
+ var _Plugins_engine;
6576
+ class Plugins {
6577
+ constructor(engine) {
6578
+ _Plugins_engine.set(this, void 0);
6579
+ Plugins_classPrivateFieldSet(this, _Plugins_engine, engine, "f");
6580
+ this.plugins = [];
6581
+ this.interactorsInitializers = new Map;
6582
+ this.moversInitializers = new Map;
6583
+ this.updatersInitializers = new Map;
6584
+ this.interactors = new Map;
6585
+ this.movers = new Map;
6586
+ this.updaters = new Map;
6587
+ this.presets = new Map;
6588
+ this.drawers = new Map;
6589
+ this.pathGenerators = new Map;
6590
+ }
6591
+ getPlugin(plugin) {
6592
+ return this.plugins.find((t => t.id === plugin));
6593
+ }
6594
+ addPlugin(plugin) {
6595
+ if (!this.getPlugin(plugin.id)) {
6596
+ this.plugins.push(plugin);
6597
+ }
6598
+ }
6599
+ getAvailablePlugins(container) {
6600
+ const res = new Map;
6601
+ for (const plugin of this.plugins) {
6602
+ if (!plugin.needsPlugin(container.actualOptions)) {
6603
+ continue;
6604
+ }
6605
+ res.set(plugin.id, plugin.getPlugin(container));
6606
+ }
6607
+ return res;
6608
+ }
6609
+ loadOptions(options, sourceOptions) {
6610
+ for (const plugin of this.plugins) {
6611
+ plugin.loadOptions(options, sourceOptions);
6612
+ }
6613
+ }
6614
+ getPreset(preset) {
6615
+ return this.presets.get(preset);
6616
+ }
6617
+ addPreset(presetKey, options, override = false) {
6618
+ if (override || !this.getPreset(presetKey)) {
6619
+ this.presets.set(presetKey, options);
6620
+ }
6621
+ }
6622
+ getShapeDrawer(type) {
6623
+ return this.drawers.get(type);
6624
+ }
6625
+ addShapeDrawer(type, drawer) {
6626
+ if (!this.getShapeDrawer(type)) {
6627
+ this.drawers.set(type, drawer);
6628
+ }
6629
+ }
6630
+ getSupportedShapes() {
6631
+ return this.drawers.keys();
6632
+ }
6633
+ getPathGenerator(type) {
6634
+ return this.pathGenerators.get(type);
6635
+ }
6636
+ addPathGenerator(type, pathGenerator) {
6637
+ if (!this.getPathGenerator(type)) {
6638
+ this.pathGenerators.set(type, pathGenerator);
6639
+ }
6640
+ }
6641
+ getInteractors(container, force = false) {
6642
+ let res = this.interactors.get(container);
6643
+ if (!res || force) {
6644
+ res = [ ...this.interactorsInitializers.values() ].map((t => t(container)));
6645
+ this.interactors.set(container, res);
6646
+ }
6647
+ return res;
6648
+ }
6649
+ addInteractor(name, initInteractor) {
6650
+ this.interactorsInitializers.set(name, initInteractor);
6651
+ }
6652
+ getUpdaters(container, force = false) {
6653
+ let res = this.updaters.get(container);
6654
+ if (!res || force) {
6655
+ res = [ ...this.updatersInitializers.values() ].map((t => t(container)));
6656
+ this.updaters.set(container, res);
6657
+ }
6658
+ return res;
6659
+ }
6660
+ addParticleUpdater(name, initUpdater) {
6661
+ this.updatersInitializers.set(name, initUpdater);
6662
+ }
6663
+ getMovers(container, force = false) {
6664
+ let res = this.movers.get(container);
6665
+ if (!res || force) {
6666
+ res = [ ...this.moversInitializers.values() ].map((t => t(container)));
6667
+ this.movers.set(container, res);
6668
+ }
6669
+ return res;
6670
+ }
6671
+ addParticleMover(name, initMover) {
6672
+ this.moversInitializers.set(name, initMover);
6673
+ }
6674
+ }
6675
+ _Plugins_engine = new WeakMap;
6993
6676
  var engine_classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {
6994
6677
  if (kind === "m") throw new TypeError("Private method is not writable");
6995
6678
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
@@ -7077,6 +6760,10 @@
7077
6760
  this.plugins.addInteractor(name, interactorInitializer);
7078
6761
  await this.refresh();
7079
6762
  }
6763
+ async addMover(name, moverInitializer) {
6764
+ this.plugins.addParticleMover(name, moverInitializer);
6765
+ await this.refresh();
6766
+ }
7080
6767
  async addParticleUpdater(name, updaterInitializer) {
7081
6768
  this.plugins.addParticleUpdater(name, updaterInitializer);
7082
6769
  await this.refresh();
@@ -7217,8 +6904,7 @@
7217
6904
  this.position = (_c = (_b = this.initialPosition) === null || _b === void 0 ? void 0 : _b.copy()) !== null && _c !== void 0 ? _c : this.calcPosition();
7218
6905
  }
7219
6906
  attract(particle) {
7220
- const container = this.container;
7221
- const options = this.options;
6907
+ const container = this.container, options = this.options;
7222
6908
  if (options.draggable) {
7223
6909
  const mouse = container.interactivity.mouse;
7224
6910
  if (mouse.clicking && mouse.downPosition) {
@@ -7234,9 +6920,7 @@
7234
6920
  this.position.y = mouse.position.y;
7235
6921
  }
7236
6922
  }
7237
- const pos = particle.getPosition();
7238
- const {dx: dx, dy: dy, distance: distance} = getDistances(this.position, pos);
7239
- const v = Vector.create(dx, dy);
6923
+ const pos = particle.getPosition(), {dx: dx, dy: dy, distance: distance} = getDistances(this.position, pos), v = Vector.create(dx, dy);
7240
6924
  v.length = this.mass / Math.pow(distance, 2) * container.retina.reduceFactor;
7241
6925
  if (distance < this.size + particle.getRadius()) {
7242
6926
  const sizeFactor = particle.getRadius() * .033 * container.retina.pixelRatio;
@@ -7276,21 +6960,23 @@
7276
6960
  context.fill();
7277
6961
  }
7278
6962
  calcPosition() {
7279
- var _a, _b;
7280
- const container = this.container;
7281
- const percentPosition = this.options.position;
7282
- 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);
6963
+ const exactPosition = calcPositionOrRandomFromSizeRanged({
6964
+ size: this.container.canvas.size,
6965
+ position: this.options.position
6966
+ });
6967
+ return Vector.create(exactPosition.x, exactPosition.y);
7283
6968
  }
7284
6969
  updateParticlePosition(particle, v) {
7285
6970
  var _a;
7286
6971
  if (particle.destroyed) {
7287
6972
  return;
7288
6973
  }
7289
- const container = this.container;
7290
- const canvasSize = container.canvas.size;
6974
+ const container = this.container, canvasSize = container.canvas.size;
7291
6975
  if (particle.needsNewPosition) {
7292
- particle.position.x = Math.floor(Math.random() * canvasSize.width);
7293
- particle.position.y = Math.floor(Math.random() * canvasSize.height);
6976
+ const newPosition = calcPositionOrRandomFromSize({
6977
+ size: canvasSize
6978
+ });
6979
+ particle.position.setTo(newPosition);
7294
6980
  particle.velocity.setTo(particle.initialVelocity);
7295
6981
  particle.absorberOrbit = undefined;
7296
6982
  particle.needsNewPosition = false;
@@ -7308,11 +6994,8 @@
7308
6994
  if (particle.absorberOrbitDirection === undefined) {
7309
6995
  particle.absorberOrbitDirection = particle.velocity.x >= 0 ? "clockwise" : "counter-clockwise";
7310
6996
  }
7311
- const orbitRadius = particle.absorberOrbit.length;
7312
- const orbitAngle = particle.absorberOrbit.angle;
7313
- const orbitDirection = particle.absorberOrbitDirection;
7314
- particle.velocity.x = 0;
7315
- particle.velocity.y = 0;
6997
+ const orbitRadius = particle.absorberOrbit.length, orbitAngle = particle.absorberOrbit.angle, orbitDirection = particle.absorberOrbitDirection;
6998
+ particle.velocity.setTo(Vector.origin);
7316
6999
  const updateFunc = {
7317
7000
  x: orbitDirection === "clockwise" ? Math.cos : Math.sin,
7318
7001
  y: orbitDirection === "clockwise" ? Math.sin : Math.cos
@@ -7405,9 +7088,7 @@
7405
7088
  }
7406
7089
  }
7407
7090
  handleClickMode(mode) {
7408
- const container = this.container;
7409
- const absorberOptions = this.absorbers;
7410
- const modeAbsorbers = this.interactivityAbsorbers;
7091
+ const absorberOptions = this.absorbers, modeAbsorbers = this.interactivityAbsorbers;
7411
7092
  if (mode === "absorber") {
7412
7093
  let absorbersModeOptions;
7413
7094
  if (modeAbsorbers instanceof Array) {
@@ -7417,8 +7098,7 @@
7417
7098
  } else {
7418
7099
  absorbersModeOptions = modeAbsorbers;
7419
7100
  }
7420
- const absorbersOptions = absorbersModeOptions !== null && absorbersModeOptions !== void 0 ? absorbersModeOptions : absorberOptions instanceof Array ? itemFromArray(absorberOptions) : absorberOptions;
7421
- const aPosition = container.interactivity.mouse.clickPosition;
7101
+ const absorbersOptions = absorbersModeOptions !== null && absorbersModeOptions !== void 0 ? absorbersModeOptions : absorberOptions instanceof Array ? itemFromArray(absorberOptions) : absorberOptions, aPosition = this.container.interactivity.mouse.clickPosition;
7422
7102
  this.addAbsorber(absorbersOptions, aPosition);
7423
7103
  }
7424
7104
  }
@@ -7447,17 +7127,14 @@
7447
7127
  return false;
7448
7128
  }
7449
7129
  const absorbers = options.absorbers;
7450
- let loadAbsorbers = false;
7451
7130
  if (absorbers instanceof Array) {
7452
- if (absorbers.length) {
7453
- loadAbsorbers = true;
7454
- }
7455
- } else if (absorbers !== undefined) {
7456
- loadAbsorbers = true;
7131
+ return !!absorbers.length;
7132
+ } else if (absorbers) {
7133
+ return true;
7457
7134
  } else if (((_c = (_b = (_a = options.interactivity) === null || _a === void 0 ? void 0 : _a.events) === null || _b === void 0 ? void 0 : _b.onClick) === null || _c === void 0 ? void 0 : _c.mode) && isInArray("absorber", options.interactivity.events.onClick.mode)) {
7458
- loadAbsorbers = true;
7135
+ return true;
7459
7136
  }
7460
- return loadAbsorbers;
7137
+ return false;
7461
7138
  }
7462
7139
  loadOptions(options, source) {
7463
7140
  var _a, _b;
@@ -7505,9 +7182,7 @@
7505
7182
  class CircleShape {
7506
7183
  randomPosition(position, size, fill) {
7507
7184
  const generateTheta = (x, y) => {
7508
- const u = Math.random() / 4;
7509
- const theta = Math.atan(y / x * Math.tan(2 * Math.PI * u));
7510
- const v = Math.random();
7185
+ const u = Math.random() / 4, theta = Math.atan(y / x * Math.tan(2 * Math.PI * u)), v = Math.random();
7511
7186
  if (v < .25) {
7512
7187
  return theta;
7513
7188
  } else if (v < .5) {
@@ -7517,10 +7192,7 @@
7517
7192
  } else {
7518
7193
  return -theta;
7519
7194
  }
7520
- };
7521
- const radius = (x, y, theta) => x * y / Math.sqrt((y * Math.cos(theta)) ** 2 + (x * Math.sin(theta)) ** 2);
7522
- const [a, b] = [ size.width / 2, size.height / 2 ];
7523
- const randomTheta = generateTheta(a, b), maxRadius = radius(a, b, randomTheta), randomRadius = fill ? maxRadius * Math.sqrt(Math.random()) : maxRadius;
7195
+ }, radius = (x, y, theta) => x * y / Math.sqrt((y * Math.cos(theta)) ** 2 + (x * Math.sin(theta)) ** 2), [a, b] = [ size.width / 2, size.height / 2 ], randomTheta = generateTheta(a, b), maxRadius = radius(a, b, randomTheta), randomRadius = fill ? maxRadius * Math.sqrt(Math.random()) : maxRadius;
7524
7196
  return {
7525
7197
  x: position.x + randomRadius * Math.cos(randomTheta),
7526
7198
  y: position.y + randomRadius * Math.sin(randomTheta)
@@ -7720,14 +7392,15 @@
7720
7392
  if (this.paused) {
7721
7393
  return;
7722
7394
  }
7723
- if (this.container.retina.reduceFactor && (this.lifeCount > 0 || this.immortal || !this.options.life.count) && (EmitterInstance_classPrivateFieldGet(this, _EmitterInstance_firstSpawn, "f") || this.currentSpawnDelay >= ((_a = this.spawnDelay) !== null && _a !== void 0 ? _a : 0))) {
7724
- if (this.emitDelay === undefined) {
7725
- const delay = getRangeValue(this.options.rate.delay);
7726
- this.emitDelay = 1e3 * delay / this.container.retina.reduceFactor;
7727
- }
7728
- if (this.lifeCount > 0 || this.immortal) {
7729
- this.prepareToDie();
7730
- }
7395
+ if (!(this.container.retina.reduceFactor && (this.lifeCount > 0 || this.immortal || !this.options.life.count) && (EmitterInstance_classPrivateFieldGet(this, _EmitterInstance_firstSpawn, "f") || this.currentSpawnDelay >= ((_a = this.spawnDelay) !== null && _a !== void 0 ? _a : 0)))) {
7396
+ return;
7397
+ }
7398
+ if (this.emitDelay === undefined) {
7399
+ const delay = getRangeValue(this.options.rate.delay);
7400
+ this.emitDelay = 1e3 * delay / this.container.retina.reduceFactor;
7401
+ }
7402
+ if (this.lifeCount > 0 || this.immortal) {
7403
+ this.prepareToDie();
7731
7404
  }
7732
7405
  }
7733
7406
  pause() {
@@ -7834,13 +7507,10 @@
7834
7507
  this.emitters.removeEmitter(this);
7835
7508
  }
7836
7509
  calcPosition() {
7837
- var _a, _b;
7838
- const container = this.container;
7839
- const percentPosition = this.options.position;
7840
- return {
7841
- 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,
7842
- 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
7843
- };
7510
+ return calcPositionOrRandomFromSizeRanged({
7511
+ size: this.container.canvas.size,
7512
+ position: this.options.position
7513
+ });
7844
7514
  }
7845
7515
  emit() {
7846
7516
  if (this.paused) {
@@ -7851,9 +7521,7 @@
7851
7521
  }
7852
7522
  emitParticles(quantity) {
7853
7523
  var _a, _b, _c;
7854
- const container = this.container;
7855
- const position = this.getPosition();
7856
- const size = this.getSize();
7524
+ const position = this.getPosition(), size = this.getSize();
7857
7525
  for (let i = 0; i < quantity; i++) {
7858
7526
  const particlesOptions = deepExtend({}, this.particlesOptions);
7859
7527
  if (this.spawnColor) {
@@ -7875,7 +7543,7 @@
7875
7543
  return;
7876
7544
  }
7877
7545
  const pPosition = (_c = (_b = this.shape) === null || _b === void 0 ? void 0 : _b.randomPosition(position, size, this.fill)) !== null && _c !== void 0 ? _c : position;
7878
- container.particles.addParticle(pPosition, particlesOptions);
7546
+ this.container.particles.addParticle(pPosition, particlesOptions);
7879
7547
  }
7880
7548
  }
7881
7549
  setColorAnimation(animation, initValue, maxValue) {
@@ -7884,10 +7552,7 @@
7884
7552
  if (!animation.enable) {
7885
7553
  return initValue;
7886
7554
  }
7887
- const colorOffset = randomInRange(animation.offset);
7888
- const delay = getRangeValue(this.options.rate.delay);
7889
- const emitFactor = 1e3 * delay / container.retina.reduceFactor;
7890
- const colorSpeed = getRangeValue((_a = animation.speed) !== null && _a !== void 0 ? _a : 0);
7555
+ const colorOffset = randomInRange(animation.offset), delay = getRangeValue(this.options.rate.delay), emitFactor = 1e3 * delay / container.retina.reduceFactor, colorSpeed = getRangeValue((_a = animation.speed) !== null && _a !== void 0 ? _a : 0);
7891
7556
  return (initValue + colorSpeed * container.fpsLimit / emitFactor + colorOffset * 3.6) % maxValue;
7892
7557
  }
7893
7558
  }
@@ -7997,9 +7662,7 @@
7997
7662
  }
7998
7663
  }
7999
7664
  handleClickMode(mode) {
8000
- const container = this.container;
8001
- const emitterOptions = this.emitters;
8002
- const modeEmitters = this.interactivityEmitters;
7665
+ const emitterOptions = this.emitters, modeEmitters = this.interactivityEmitters;
8003
7666
  if (mode === "emitter") {
8004
7667
  let emitterModeOptions;
8005
7668
  if (modeEmitters instanceof Array) {
@@ -8009,8 +7672,7 @@
8009
7672
  } else {
8010
7673
  emitterModeOptions = modeEmitters;
8011
7674
  }
8012
- const emittersOptions = emitterModeOptions !== null && emitterModeOptions !== void 0 ? emitterModeOptions : emitterOptions instanceof Array ? itemFromArray(emitterOptions) : emitterOptions;
8013
- const ePosition = container.interactivity.mouse.clickPosition;
7675
+ const emittersOptions = emitterModeOptions !== null && emitterModeOptions !== void 0 ? emitterModeOptions : emitterOptions instanceof Array ? itemFromArray(emitterOptions) : emitterOptions, ePosition = this.container.interactivity.mouse.clickPosition;
8014
7676
  this.addEmitter(deepExtend({}, emittersOptions), ePosition);
8015
7677
  }
8016
7678
  }
@@ -8187,6 +7849,12 @@
8187
7849
  engine.addEmitterShape("circle", new CircleShape);
8188
7850
  engine.addEmitterShape("square", new SquareShape);
8189
7851
  }
7852
+ class ExternalInteractorBase {
7853
+ constructor(container) {
7854
+ this.container = container;
7855
+ this.type = 0;
7856
+ }
7857
+ }
8190
7858
  class TrailMaker extends ExternalInteractorBase {
8191
7859
  constructor(container) {
8192
7860
  super(container);
@@ -8426,9 +8094,7 @@
8426
8094
  var _a;
8427
8095
  const res = [];
8428
8096
  for (const path of paths) {
8429
- const segments = path.element.pathSegList;
8430
- const len = (_a = segments === null || segments === void 0 ? void 0 : segments.numberOfItems) !== null && _a !== void 0 ? _a : 0;
8431
- const p = {
8097
+ const segments = path.element.pathSegList, len = (_a = segments === null || segments === void 0 ? void 0 : segments.numberOfItems) !== null && _a !== void 0 ? _a : 0, p = {
8432
8098
  x: 0,
8433
8099
  y: 0
8434
8100
  };
@@ -8493,10 +8159,7 @@
8493
8159
  return res;
8494
8160
  }
8495
8161
  function calcClosestPtOnSegment(s1, s2, pos) {
8496
- const {dx: dx, dy: dy} = getDistances(pos, s1);
8497
- const {dx: dxx, dy: dyy} = getDistances(s2, s1);
8498
- const t = (dx * dxx + dy * dyy) / (dxx ** 2 + dyy ** 2);
8499
- const res = {
8162
+ const {dx: dx, dy: dy} = getDistances(pos, s1), {dx: dxx, dy: dyy} = getDistances(s2, s1), t = (dx * dxx + dy * dyy) / (dxx ** 2 + dyy ** 2), res = {
8500
8163
  x: s1.x + dxx * t,
8501
8164
  y: s1.x + dyy * t,
8502
8165
  isOnSegment: t >= 0 && t <= 1
@@ -8511,10 +8174,7 @@
8511
8174
  return res;
8512
8175
  }
8513
8176
  function segmentBounce(start, stop, velocity) {
8514
- const {dx: dx, dy: dy} = getDistances(start, stop);
8515
- const wallAngle = Math.atan2(dy, dx);
8516
- const wallNormal = Vector.create(Math.sin(wallAngle), -Math.cos(wallAngle));
8517
- const d = 2 * (velocity.x * wallNormal.x + velocity.y * wallNormal.y);
8177
+ const {dx: dx, dy: dy} = getDistances(start, stop), wallAngle = Math.atan2(dy, dx), wallNormal = Vector.create(Math.sin(wallAngle), -Math.cos(wallAngle)), d = 2 * (velocity.x * wallNormal.x + velocity.y * wallNormal.y);
8518
8178
  wallNormal.multTo(d);
8519
8179
  velocity.subFrom(wallNormal);
8520
8180
  }
@@ -8538,8 +8198,7 @@
8538
8198
  }
8539
8199
  }
8540
8200
  resize() {
8541
- const container = this.container;
8542
- const options = this.options;
8201
+ const container = this.container, options = this.options;
8543
8202
  if (!(options.enable && options.type !== "none")) {
8544
8203
  return;
8545
8204
  }
@@ -8583,15 +8242,13 @@
8583
8242
  if (!((_a = this.paths) === null || _a === void 0 ? void 0 : _a.length)) {
8584
8243
  return;
8585
8244
  }
8586
- const options = this.options;
8587
- const polygonDraw = options.draw;
8588
- if (!(options.enable && polygonDraw.enable)) {
8245
+ const options = this.options, polygonDraw = options.draw;
8246
+ if (!options.enable || !polygonDraw.enable) {
8589
8247
  return;
8590
8248
  }
8591
8249
  const rawData = this.raw;
8592
8250
  for (const path of this.paths) {
8593
- const path2d = path.path2d;
8594
- const path2dSupported = this.path2DSupported;
8251
+ const path2d = path.path2d, path2dSupported = this.path2DSupported;
8595
8252
  if (!context) {
8596
8253
  continue;
8597
8254
  }
@@ -8648,22 +8305,17 @@
8648
8305
  }
8649
8306
  checkInsidePolygon(position) {
8650
8307
  var _a, _b;
8651
- const container = this.container;
8652
- const options = this.options;
8308
+ const container = this.container, options = this.options;
8653
8309
  if (!options.enable || options.type === "none" || options.type === "inline") {
8654
8310
  return true;
8655
8311
  }
8656
8312
  if (!this.raw) {
8657
8313
  throw new Error(Constants.noPolygonFound);
8658
8314
  }
8659
- const canvasSize = container.canvas.size;
8660
- const x = (_a = position === null || position === void 0 ? void 0 : position.x) !== null && _a !== void 0 ? _a : Math.random() * canvasSize.width;
8661
- const y = (_b = position === null || position === void 0 ? void 0 : position.y) !== null && _b !== void 0 ? _b : Math.random() * canvasSize.height;
8315
+ const canvasSize = container.canvas.size, x = (_a = position === null || position === void 0 ? void 0 : position.x) !== null && _a !== void 0 ? _a : Math.random() * canvasSize.width, y = (_b = position === null || position === void 0 ? void 0 : position.y) !== null && _b !== void 0 ? _b : Math.random() * canvasSize.height;
8662
8316
  let inside = false;
8663
8317
  for (let i = 0, j = this.raw.length - 1; i < this.raw.length; j = i++) {
8664
- const pi = this.raw[i];
8665
- const pj = this.raw[j];
8666
- const intersect = pi.y > y !== pj.y > y && x < (pj.x - pi.x) * (y - pi.y) / (pj.y - pi.y) + pi.x;
8318
+ const pi = this.raw[i], pj = this.raw[j], intersect = pi.y > y !== pj.y > y && x < (pj.x - pi.x) * (y - pi.y) / (pj.y - pi.y) + pi.x;
8667
8319
  if (intersect) {
8668
8320
  inside = !inside;
8669
8321
  }
@@ -8676,11 +8328,7 @@
8676
8328
  if (this.paths !== undefined && !forceDownload) {
8677
8329
  return this.raw;
8678
8330
  }
8679
- const container = this.container;
8680
- const options = this.options;
8681
- const parser = new DOMParser;
8682
- const doc = parser.parseFromString(xml, "image/svg+xml");
8683
- const svg = doc.getElementsByTagName("svg")[0];
8331
+ const container = this.container, options = this.options, parser = new DOMParser, doc = parser.parseFromString(xml, "image/svg+xml"), svg = doc.getElementsByTagName("svg")[0];
8684
8332
  let svgPaths = svg.getElementsByTagName("path");
8685
8333
  if (!svgPaths.length) {
8686
8334
  svgPaths = doc.getElementsByTagName("path");
@@ -8695,8 +8343,7 @@
8695
8343
  });
8696
8344
  }
8697
8345
  }
8698
- const pxRatio = container.retina.pixelRatio;
8699
- const scale = options.scale / pxRatio;
8346
+ const pxRatio = container.retina.pixelRatio, scale = options.scale / pxRatio;
8700
8347
  this.dimension.width = parseFloat((_a = svg.getAttribute("width")) !== null && _a !== void 0 ? _a : "0") * scale;
8701
8348
  this.dimension.height = parseFloat((_b = svg.getAttribute("height")) !== null && _b !== void 0 ? _b : "0") * scale;
8702
8349
  const position = (_c = options.position) !== null && _c !== void 0 ? _c : {
@@ -8710,9 +8357,7 @@
8710
8357
  return parsePaths(this.paths, scale, this.offset);
8711
8358
  }
8712
8359
  async downloadSvgPath(svgUrl, force) {
8713
- const options = this.options;
8714
- const url = svgUrl || options.url;
8715
- const forceDownload = force !== null && force !== void 0 ? force : false;
8360
+ const options = this.options, url = svgUrl || options.url, forceDownload = force !== null && force !== void 0 ? force : false;
8716
8361
  if (!url || this.paths !== undefined && !forceDownload) {
8717
8362
  return this.raw;
8718
8363
  }
@@ -8734,8 +8379,7 @@
8734
8379
  }
8735
8380
  }
8736
8381
  randomPoint() {
8737
- const container = this.container;
8738
- const options = this.options;
8382
+ const container = this.container, options = this.options;
8739
8383
  let position;
8740
8384
  if (options.type === "inline") {
8741
8385
  switch (options.inline.arrangement) {
@@ -8784,9 +8428,7 @@
8784
8428
  if (!this.raw || !this.raw.length || !((_a = this.paths) === null || _a === void 0 ? void 0 : _a.length)) {
8785
8429
  throw new Error(Constants.noPolygonDataLoaded);
8786
8430
  }
8787
- const path = itemFromArray(this.paths);
8788
- const distance = Math.floor(Math.random() * path.length) + 1;
8789
- const point = path.element.getPointAtLength(distance);
8431
+ const path = itemFromArray(this.paths), distance = Math.floor(Math.random() * path.length) + 1, point = path.element.getPointAtLength(distance);
8790
8432
  return {
8791
8433
  x: point.x * options.scale + (((_b = this.offset) === null || _b === void 0 ? void 0 : _b.x) || 0),
8792
8434
  y: point.y * options.scale + (((_c = this.offset) === null || _c === void 0 ? void 0 : _c.y) || 0)
@@ -8794,13 +8436,10 @@
8794
8436
  }
8795
8437
  getEquidistantPointByIndex(index) {
8796
8438
  var _a, _b, _c, _d, _e, _f, _g;
8797
- const options = this.container.actualOptions;
8798
- const polygonMaskOptions = this.options;
8439
+ const options = this.container.actualOptions, polygonMaskOptions = this.options;
8799
8440
  if (!this.raw || !this.raw.length || !((_a = this.paths) === null || _a === void 0 ? void 0 : _a.length)) throw new Error(Constants.noPolygonDataLoaded);
8800
- let offset = 0;
8801
- let point;
8802
- const totalLength = this.paths.reduce(((tot, path) => tot + path.length), 0);
8803
- const distance = totalLength / options.particles.number.value;
8441
+ let offset = 0, point;
8442
+ const totalLength = this.paths.reduce(((tot, path) => tot + path.length), 0), distance = totalLength / options.particles.number.value;
8804
8443
  for (const path of this.paths) {
8805
8444
  const pathDistance = distance * index - offset;
8806
8445
  if (pathDistance <= path.length) {
@@ -8834,10 +8473,7 @@
8834
8473
  for (const path of this.paths) {
8835
8474
  const pathData = (_b = path.element) === null || _b === void 0 ? void 0 : _b.getAttribute("d");
8836
8475
  if (pathData) {
8837
- const path2d = new Path2D(pathData);
8838
- const matrix = document.createElementNS("http://www.w3.org/2000/svg", "svg").createSVGMatrix();
8839
- const finalPath = new Path2D;
8840
- const transform = matrix.scale(options.scale);
8476
+ const path2d = new Path2D(pathData), matrix = document.createElementNS("http://www.w3.org/2000/svg", "svg").createSVGMatrix(), finalPath = new Path2D, transform = matrix.scale(options.scale);
8841
8477
  if (finalPath.addPath) {
8842
8478
  finalPath.addPath(path2d, transform);
8843
8479
  path.path2d = finalPath;
@@ -9032,21 +8668,188 @@
9032
8668
  particle.rotate.velocity *= Math.random();
9033
8669
  }
9034
8670
  }
9035
- }
9036
- isEnabled(particle) {
9037
- const rotate = particle.options.rotate;
9038
- const rotateAnimation = rotate.animation;
9039
- return !particle.destroyed && !particle.spawning && !rotate.path && rotateAnimation.enable;
9040
- }
9041
- update(particle, delta) {
9042
- if (!this.isEnabled(particle)) {
9043
- return;
8671
+ }
8672
+ isEnabled(particle) {
8673
+ const rotate = particle.options.rotate;
8674
+ const rotateAnimation = rotate.animation;
8675
+ return !particle.destroyed && !particle.spawning && !rotate.path && rotateAnimation.enable;
8676
+ }
8677
+ update(particle, delta) {
8678
+ if (!this.isEnabled(particle)) {
8679
+ return;
8680
+ }
8681
+ updateAngle(particle, delta);
8682
+ }
8683
+ }
8684
+ async function loadAngleUpdater(engine) {
8685
+ await engine.addParticleUpdater("angle", (container => new AngleUpdater(container)));
8686
+ }
8687
+ function applyDistance(particle) {
8688
+ const initialPosition = particle.initialPosition;
8689
+ const {dx: dx, dy: dy} = getDistances(initialPosition, particle.position);
8690
+ const dxFixed = Math.abs(dx), dyFixed = Math.abs(dy);
8691
+ const hDistance = particle.retina.maxDistance.horizontal;
8692
+ const vDistance = particle.retina.maxDistance.vertical;
8693
+ if (!hDistance && !vDistance) {
8694
+ return;
8695
+ }
8696
+ if ((hDistance && dxFixed >= hDistance || vDistance && dyFixed >= vDistance) && !particle.misplaced) {
8697
+ particle.misplaced = !!hDistance && dxFixed > hDistance || !!vDistance && dyFixed > vDistance;
8698
+ if (hDistance) {
8699
+ particle.velocity.x = particle.velocity.y / 2 - particle.velocity.x;
8700
+ }
8701
+ if (vDistance) {
8702
+ particle.velocity.y = particle.velocity.x / 2 - particle.velocity.y;
8703
+ }
8704
+ } else if ((!hDistance || dxFixed < hDistance) && (!vDistance || dyFixed < vDistance) && particle.misplaced) {
8705
+ particle.misplaced = false;
8706
+ } else if (particle.misplaced) {
8707
+ const pos = particle.position, vel = particle.velocity;
8708
+ if (hDistance && (pos.x < initialPosition.x && vel.x < 0 || pos.x > initialPosition.x && vel.x > 0)) {
8709
+ vel.x *= -Math.random();
8710
+ }
8711
+ if (vDistance && (pos.y < initialPosition.y && vel.y < 0 || pos.y > initialPosition.y && vel.y > 0)) {
8712
+ vel.y *= -Math.random();
8713
+ }
8714
+ }
8715
+ }
8716
+ function spin(particle, moveSpeed) {
8717
+ const container = particle.container;
8718
+ if (!particle.spin) {
8719
+ return;
8720
+ }
8721
+ const updateFunc = {
8722
+ x: particle.spin.direction === "clockwise" ? Math.cos : Math.sin,
8723
+ y: particle.spin.direction === "clockwise" ? Math.sin : Math.cos
8724
+ };
8725
+ particle.position.x = particle.spin.center.x + particle.spin.radius * updateFunc.x(particle.spin.angle);
8726
+ particle.position.y = particle.spin.center.y + particle.spin.radius * updateFunc.y(particle.spin.angle);
8727
+ particle.spin.radius += particle.spin.acceleration;
8728
+ const maxCanvasSize = Math.max(container.canvas.size.width, container.canvas.size.height);
8729
+ if (particle.spin.radius > maxCanvasSize / 2) {
8730
+ particle.spin.radius = maxCanvasSize / 2;
8731
+ particle.spin.acceleration *= -1;
8732
+ } else if (particle.spin.radius < 0) {
8733
+ particle.spin.radius = 0;
8734
+ particle.spin.acceleration *= -1;
8735
+ }
8736
+ particle.spin.angle += moveSpeed / 100 * (1 - particle.spin.radius / maxCanvasSize);
8737
+ }
8738
+ function applyPath(particle, delta) {
8739
+ const particlesOptions = particle.options;
8740
+ const pathOptions = particlesOptions.move.path;
8741
+ const pathEnabled = pathOptions.enable;
8742
+ if (!pathEnabled) {
8743
+ return;
8744
+ }
8745
+ const container = particle.container;
8746
+ if (particle.lastPathTime <= particle.pathDelay) {
8747
+ particle.lastPathTime += delta.value;
8748
+ return;
8749
+ }
8750
+ const path = container.pathGenerator.generate(particle);
8751
+ particle.velocity.addTo(path);
8752
+ if (pathOptions.clamp) {
8753
+ particle.velocity.x = clamp(particle.velocity.x, -1, 1);
8754
+ particle.velocity.y = clamp(particle.velocity.y, -1, 1);
8755
+ }
8756
+ particle.lastPathTime -= particle.pathDelay;
8757
+ }
8758
+ function getProximitySpeedFactor(particle) {
8759
+ const container = particle.container;
8760
+ const options = container.actualOptions;
8761
+ const active = isInArray("slow", options.interactivity.events.onHover.mode);
8762
+ if (!active) {
8763
+ return 1;
8764
+ }
8765
+ const mousePos = particle.container.interactivity.mouse.position;
8766
+ if (!mousePos) {
8767
+ return 1;
8768
+ }
8769
+ const particlePos = particle.getPosition();
8770
+ const dist = getDistance(mousePos, particlePos);
8771
+ const radius = container.retina.slowModeRadius;
8772
+ if (dist > radius) {
8773
+ return 1;
8774
+ }
8775
+ const proximityFactor = dist / radius || 0;
8776
+ const slowFactor = options.interactivity.modes.slow.factor;
8777
+ return proximityFactor / slowFactor;
8778
+ }
8779
+ class BaseMover {
8780
+ init(particle) {
8781
+ var _a;
8782
+ const container = particle.container, options = particle.options, spinOptions = options.move.spin;
8783
+ if (spinOptions.enable) {
8784
+ const spinPos = (_a = spinOptions.position) !== null && _a !== void 0 ? _a : {
8785
+ x: 50,
8786
+ y: 50
8787
+ };
8788
+ const spinCenter = {
8789
+ x: spinPos.x / 100 * container.canvas.size.width,
8790
+ y: spinPos.y / 100 * container.canvas.size.height
8791
+ };
8792
+ const pos = particle.getPosition();
8793
+ const distance = getDistance(pos, spinCenter);
8794
+ const spinAcceleration = getRangeValue(spinOptions.acceleration);
8795
+ particle.retina.spinAcceleration = spinAcceleration * container.retina.pixelRatio;
8796
+ particle.spin = {
8797
+ center: spinCenter,
8798
+ direction: particle.velocity.x >= 0 ? "clockwise" : "counter-clockwise",
8799
+ angle: particle.velocity.angle,
8800
+ radius: distance,
8801
+ acceleration: particle.retina.spinAcceleration
8802
+ };
8803
+ }
8804
+ }
8805
+ isEnabled(particle) {
8806
+ return !particle.destroyed && particle.options.move.enable;
8807
+ }
8808
+ move(particle, delta) {
8809
+ var _a, _b, _c;
8810
+ var _d, _e;
8811
+ const particleOptions = particle.options, moveOptions = particleOptions.move;
8812
+ if (!moveOptions.enable) {
8813
+ return;
8814
+ }
8815
+ const container = particle.container, slowFactor = 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, speedFactor = sizeFactor * slowFactor * (delta.factor || 1), diffFactor = 2, moveSpeed = baseSpeed * speedFactor / diffFactor;
8816
+ applyPath(particle, delta);
8817
+ const gravityOptions = particle.gravity, gravityFactor = gravityOptions.enable && gravityOptions.inverse ? -1 : 1;
8818
+ if (gravityOptions.enable && moveSpeed) {
8819
+ particle.velocity.y += gravityFactor * (gravityOptions.acceleration * delta.factor) / (60 * moveSpeed);
8820
+ }
8821
+ if (moveDrift && moveSpeed) {
8822
+ particle.velocity.x += moveDrift * delta.factor / (60 * moveSpeed);
8823
+ }
8824
+ const decay = particle.moveDecay;
8825
+ if (decay != 1) {
8826
+ particle.velocity.multTo(decay);
8827
+ }
8828
+ const velocity = particle.velocity.mult(moveSpeed), maxSpeed = (_c = particle.retina.maxSpeed) !== null && _c !== void 0 ? _c : container.retina.maxSpeed;
8829
+ if (gravityOptions.enable && maxSpeed > 0 && (!gravityOptions.inverse && velocity.y >= 0 && velocity.y >= maxSpeed || gravityOptions.inverse && velocity.y <= 0 && velocity.y <= -maxSpeed)) {
8830
+ velocity.y = gravityFactor * maxSpeed;
8831
+ if (moveSpeed) {
8832
+ particle.velocity.y = velocity.y / moveSpeed;
8833
+ }
8834
+ }
8835
+ const zIndexOptions = particle.options.zIndex, zVelocityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.velocityRate;
8836
+ if (moveOptions.spin.enable) {
8837
+ spin(particle, moveSpeed);
8838
+ } else {
8839
+ if (zVelocityFactor != 1) {
8840
+ velocity.multTo(zVelocityFactor);
8841
+ }
8842
+ particle.position.addTo(velocity);
8843
+ if (moveOptions.vibrate) {
8844
+ particle.position.x += Math.sin(particle.position.x * Math.cos(particle.position.y));
8845
+ particle.position.y += Math.cos(particle.position.y * Math.sin(particle.position.x));
8846
+ }
9044
8847
  }
9045
- updateAngle(particle, delta);
8848
+ applyDistance(particle);
9046
8849
  }
9047
8850
  }
9048
- async function loadAngleUpdater(engine) {
9049
- await engine.addParticleUpdater("angle", (container => new AngleUpdater(container)));
8851
+ async function loadBaseMover(engine) {
8852
+ engine.addMover("base", (() => new BaseMover));
9050
8853
  }
9051
8854
  class CircleDrawer {
9052
8855
  getSidesCount() {
@@ -9122,6 +8925,39 @@
9122
8925
  class Attractor extends ExternalInteractorBase {
9123
8926
  constructor(container) {
9124
8927
  super(container);
8928
+ if (!container.attract) {
8929
+ container.attract = {
8930
+ particles: []
8931
+ };
8932
+ }
8933
+ this.handleClickMode = mode => {
8934
+ const options = this.container.actualOptions;
8935
+ if (mode !== "attract") {
8936
+ return;
8937
+ }
8938
+ if (!container.attract) {
8939
+ container.attract = {
8940
+ particles: []
8941
+ };
8942
+ }
8943
+ container.attract.clicking = true;
8944
+ container.attract.count = 0;
8945
+ for (const particle of container.attract.particles) {
8946
+ particle.velocity.setTo(particle.initialVelocity);
8947
+ }
8948
+ container.attract.particles = [];
8949
+ container.attract.finish = false;
8950
+ setTimeout((() => {
8951
+ if (!container.destroyed) {
8952
+ if (!container.attract) {
8953
+ container.attract = {
8954
+ particles: []
8955
+ };
8956
+ }
8957
+ container.attract.clicking = false;
8958
+ }
8959
+ }), options.interactivity.modes.attract.duration * 1e3);
8960
+ };
9125
8961
  }
9126
8962
  isEnabled() {
9127
8963
  const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = options.interactivity.events;
@@ -9163,6 +8999,11 @@
9163
8999
  }
9164
9000
  clickAttract() {
9165
9001
  const container = this.container;
9002
+ if (!container.attract) {
9003
+ container.attract = {
9004
+ particles: []
9005
+ };
9006
+ }
9166
9007
  if (!container.attract.finish) {
9167
9008
  if (!container.attract.count) {
9168
9009
  container.attract.count = 0;
@@ -9212,8 +9053,7 @@
9212
9053
  }
9213
9054
  }
9214
9055
  singleSelectorBounce(selector, div) {
9215
- const container = this.container;
9216
- const query = document.querySelectorAll(selector);
9056
+ const container = this.container, query = document.querySelectorAll(selector);
9217
9057
  if (!query.length) {
9218
9058
  return;
9219
9059
  }
@@ -9221,8 +9061,7 @@
9221
9061
  const elem = item, pxRatio = container.retina.pixelRatio, pos = {
9222
9062
  x: (elem.offsetLeft + elem.offsetWidth / 2) * pxRatio,
9223
9063
  y: (elem.offsetTop + elem.offsetHeight / 2) * pxRatio
9224
- }, radius = elem.offsetWidth / 2 * pxRatio, tolerance = 10 * pxRatio;
9225
- const area = div.type === "circle" ? new Circle(pos.x, pos.y, radius + tolerance) : new Rectangle(elem.offsetLeft * pxRatio - tolerance, elem.offsetTop * pxRatio - tolerance, elem.offsetWidth * pxRatio + tolerance * 2, elem.offsetHeight * pxRatio + tolerance * 2);
9064
+ }, radius = elem.offsetWidth / 2 * pxRatio, tolerance = 10 * pxRatio, area = div.type === "circle" ? new Circle(pos.x, pos.y, radius + tolerance) : new Rectangle(elem.offsetLeft * pxRatio - tolerance, elem.offsetTop * pxRatio - tolerance, elem.offsetWidth * pxRatio + tolerance * 2, elem.offsetHeight * pxRatio + tolerance * 2);
9226
9065
  this.processBounce(pos, radius, area);
9227
9066
  }));
9228
9067
  }
@@ -9258,6 +9097,18 @@
9258
9097
  class Bubbler extends ExternalInteractorBase {
9259
9098
  constructor(container) {
9260
9099
  super(container);
9100
+ if (!container.bubble) {
9101
+ container.bubble = {};
9102
+ }
9103
+ this.handleClickMode = mode => {
9104
+ if (mode !== "bubble") {
9105
+ return;
9106
+ }
9107
+ if (!container.bubble) {
9108
+ container.bubble = {};
9109
+ }
9110
+ container.bubble.clicking = true;
9111
+ };
9261
9112
  }
9262
9113
  isEnabled() {
9263
9114
  const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = options.interactivity.events, divs = events.onDiv, divBubble = isDivModeEnabled("bubble", divs);
@@ -9323,6 +9174,9 @@
9323
9174
  if (bubbleParam === particlesParam) {
9324
9175
  return;
9325
9176
  }
9177
+ if (!container.bubble) {
9178
+ container.bubble = {};
9179
+ }
9326
9180
  if (!container.bubble.durationEnd) {
9327
9181
  if (distMouse <= bubbleDistance) {
9328
9182
  const obj = pObjBubble !== null && pObjBubble !== void 0 ? pObjBubble : pObj;
@@ -9358,6 +9212,9 @@
9358
9212
  if (!mouseClickPos) {
9359
9213
  return;
9360
9214
  }
9215
+ if (!container.bubble) {
9216
+ container.bubble = {};
9217
+ }
9361
9218
  const distance = container.retina.bubbleModeDistance, query = container.particles.quadTree.queryCircle(mouseClickPos, distance);
9362
9219
  for (const particle of query) {
9363
9220
  if (!container.bubble.clicking) {
@@ -9530,40 +9387,149 @@
9530
9387
  async interact() {
9531
9388
  var _a;
9532
9389
  const container = this.container, options = container.actualOptions, interactivity = options.interactivity;
9533
- if (interactivity.events.onHover.enable && container.interactivity.status === Constants.mouseMoveEvent) {
9534
- const mousePos = container.interactivity.mouse.position;
9535
- if (!mousePos) {
9536
- return;
9390
+ if (!interactivity.events.onHover.enable || container.interactivity.status !== Constants.mouseMoveEvent) {
9391
+ return;
9392
+ }
9393
+ const mousePos = container.interactivity.mouse.position;
9394
+ if (!mousePos) {
9395
+ return;
9396
+ }
9397
+ const distance = container.retina.grabModeDistance, query = container.particles.quadTree.queryCircle(mousePos, distance);
9398
+ for (const particle of query) {
9399
+ const pos = particle.getPosition(), pointDistance = getDistance(pos, mousePos);
9400
+ if (pointDistance > distance) {
9401
+ continue;
9537
9402
  }
9538
- const distance = container.retina.grabModeDistance, query = container.particles.quadTree.queryCircle(mousePos, distance);
9539
- for (const particle of query) {
9540
- const pos = particle.getPosition(), pointDistance = getDistance(pos, mousePos);
9541
- if (pointDistance <= distance) {
9542
- const grabLineOptions = interactivity.modes.grab.links, lineOpacity = grabLineOptions.opacity, opacityLine = lineOpacity - pointDistance * lineOpacity / distance;
9543
- if (opacityLine <= 0) {
9544
- continue;
9545
- }
9546
- const optColor = (_a = grabLineOptions.color) !== null && _a !== void 0 ? _a : particle.options.links.color;
9547
- if (!container.particles.grabLineColor) {
9548
- const linksOptions = options.interactivity.modes.grab.links;
9549
- container.particles.grabLineColor = getLinkRandomColor(optColor, linksOptions.blink, linksOptions.consent);
9550
- }
9551
- const colorLine = getLinkColor(particle, undefined, container.particles.grabLineColor);
9552
- if (!colorLine) {
9553
- return;
9554
- }
9555
- container.canvas.drawGrabLine(particle, colorLine, opacityLine, mousePos);
9556
- }
9403
+ const grabLineOptions = interactivity.modes.grab.links, lineOpacity = grabLineOptions.opacity, opacityLine = lineOpacity - pointDistance * lineOpacity / distance;
9404
+ if (opacityLine <= 0) {
9405
+ continue;
9406
+ }
9407
+ const optColor = (_a = grabLineOptions.color) !== null && _a !== void 0 ? _a : particle.options.links.color;
9408
+ if (!container.particles.grabLineColor) {
9409
+ const linksOptions = options.interactivity.modes.grab.links;
9410
+ container.particles.grabLineColor = getLinkRandomColor(optColor, linksOptions.blink, linksOptions.consent);
9411
+ }
9412
+ const colorLine = getLinkColor(particle, undefined, container.particles.grabLineColor);
9413
+ if (!colorLine) {
9414
+ return;
9557
9415
  }
9416
+ container.canvas.drawGrabLine(particle, colorLine, opacityLine, mousePos);
9558
9417
  }
9559
9418
  }
9560
9419
  }
9561
9420
  async function loadExternalGrabInteraction(engine) {
9562
9421
  await engine.addInteractor("externalGrab", (container => new Grabber(container)));
9563
9422
  }
9423
+ class Pauser extends ExternalInteractorBase {
9424
+ constructor(container) {
9425
+ super(container);
9426
+ this.handleClickMode = mode => {
9427
+ if (mode !== "pause") {
9428
+ return;
9429
+ }
9430
+ const container = this.container;
9431
+ if (container.getAnimationStatus()) {
9432
+ container.pause();
9433
+ } else {
9434
+ container.play();
9435
+ }
9436
+ };
9437
+ }
9438
+ isEnabled() {
9439
+ return true;
9440
+ }
9441
+ reset() {}
9442
+ async interact() {}
9443
+ }
9444
+ async function loadExternalPauseInteraction(engine) {
9445
+ await engine.addInteractor("externalPause", (container => new Pauser(container)));
9446
+ }
9447
+ class Pusher extends ExternalInteractorBase {
9448
+ constructor(container) {
9449
+ super(container);
9450
+ this.handleClickMode = mode => {
9451
+ if (mode !== "push") {
9452
+ return;
9453
+ }
9454
+ const container = this.container;
9455
+ const options = container.actualOptions;
9456
+ const pushNb = options.interactivity.modes.push.quantity;
9457
+ if (pushNb <= 0) {
9458
+ return;
9459
+ }
9460
+ const pushOptions = options.interactivity.modes.push;
9461
+ const group = itemFromArray([ undefined, ...pushOptions.groups ]);
9462
+ const groupOptions = group !== undefined ? container.actualOptions.particles.groups[group] : undefined;
9463
+ container.particles.push(pushNb, container.interactivity.mouse, groupOptions, group);
9464
+ };
9465
+ }
9466
+ isEnabled() {
9467
+ return true;
9468
+ }
9469
+ reset() {}
9470
+ async interact() {}
9471
+ }
9472
+ async function loadExternalPushInteraction(engine) {
9473
+ await engine.addInteractor("externalPush", (container => new Pusher(container)));
9474
+ }
9475
+ class Remover extends ExternalInteractorBase {
9476
+ constructor(container) {
9477
+ super(container);
9478
+ this.handleClickMode = mode => {
9479
+ if (mode !== "remove") {
9480
+ return;
9481
+ }
9482
+ const container = this.container;
9483
+ const options = container.actualOptions;
9484
+ const removeNb = options.interactivity.modes.remove.quantity;
9485
+ container.particles.removeQuantity(removeNb);
9486
+ };
9487
+ }
9488
+ isEnabled() {
9489
+ return true;
9490
+ }
9491
+ reset() {}
9492
+ async interact() {}
9493
+ }
9494
+ async function loadExternalRemoveInteraction(engine) {
9495
+ await engine.addInteractor("externalRemove", (container => new Remover(container)));
9496
+ }
9564
9497
  class Repulser extends ExternalInteractorBase {
9565
9498
  constructor(container) {
9566
9499
  super(container);
9500
+ if (!container.repulse) {
9501
+ container.repulse = {
9502
+ particles: []
9503
+ };
9504
+ }
9505
+ this.handleClickMode = mode => {
9506
+ const options = this.container.actualOptions;
9507
+ if (mode !== "repulse") {
9508
+ return;
9509
+ }
9510
+ if (!container.repulse) {
9511
+ container.repulse = {
9512
+ particles: []
9513
+ };
9514
+ }
9515
+ container.repulse.clicking = true;
9516
+ container.repulse.count = 0;
9517
+ for (const particle of container.repulse.particles) {
9518
+ particle.velocity.setTo(particle.initialVelocity);
9519
+ }
9520
+ container.repulse.particles = [];
9521
+ container.repulse.finish = false;
9522
+ setTimeout((() => {
9523
+ if (!container.destroyed) {
9524
+ if (!container.repulse) {
9525
+ container.repulse = {
9526
+ particles: []
9527
+ };
9528
+ }
9529
+ container.repulse.clicking = false;
9530
+ }
9531
+ }), options.interactivity.modes.repulse.duration * 1e3);
9532
+ };
9567
9533
  }
9568
9534
  isEnabled() {
9569
9535
  const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = options.interactivity.events, divs = events.onDiv, divRepulse = isDivModeEnabled("repulse", divs);
@@ -9615,6 +9581,11 @@
9615
9581
  }
9616
9582
  clickRepulse() {
9617
9583
  const container = this.container;
9584
+ if (!container.repulse) {
9585
+ container.repulse = {
9586
+ particles: []
9587
+ };
9588
+ }
9618
9589
  if (!container.repulse.finish) {
9619
9590
  if (!container.repulse.count) {
9620
9591
  container.repulse.count = 0;
@@ -9779,25 +9750,6 @@
9779
9750
  destroy() {
9780
9751
  ImageDrawer_classPrivateFieldSet(this, _ImageDrawer_images, [], "f");
9781
9752
  }
9782
- async loadImageShape(container, imageShape) {
9783
- const source = imageShape.src;
9784
- if (!source) {
9785
- throw new Error("Error tsParticles - No image.src");
9786
- }
9787
- try {
9788
- const image = {
9789
- source: source,
9790
- type: source.substr(source.length - 3),
9791
- error: false,
9792
- loading: true
9793
- };
9794
- this.addImage(container, image);
9795
- const imageFunc = imageShape.replaceColor ? downloadSvgImage : loadImage;
9796
- await imageFunc(image);
9797
- } catch (_a) {
9798
- throw new Error(`tsParticles error - ${imageShape.src} not found`);
9799
- }
9800
- }
9801
9753
  draw(context, particle, radius, opacity) {
9802
9754
  var _a, _b;
9803
9755
  const image = particle.image;
@@ -9862,6 +9814,25 @@
9862
9814
  particle.fill = imageShape.fill;
9863
9815
  particle.close = imageShape.close;
9864
9816
  }
9817
+ async loadImageShape(container, imageShape) {
9818
+ const source = imageShape.src;
9819
+ if (!source) {
9820
+ throw new Error("Error tsParticles - No image.src");
9821
+ }
9822
+ try {
9823
+ const image = {
9824
+ source: source,
9825
+ type: source.substr(source.length - 3),
9826
+ error: false,
9827
+ loading: true
9828
+ };
9829
+ this.addImage(container, image);
9830
+ const imageFunc = imageShape.replaceColor ? downloadSvgImage : loadImage;
9831
+ await imageFunc(image);
9832
+ } catch (_a) {
9833
+ throw new Error(`tsParticles error - ${imageShape.src} not found`);
9834
+ }
9835
+ }
9865
9836
  }
9866
9837
  _ImageDrawer_images = new WeakMap;
9867
9838
  async function loadImageShape(engine) {
@@ -10251,6 +10222,40 @@
10251
10222
  async function loadOutModesUpdater(engine) {
10252
10223
  await engine.addParticleUpdater("outModes", (container => new OutOfCanvasUpdater(container)));
10253
10224
  }
10225
+ class ParallaxMover {
10226
+ init() {}
10227
+ isEnabled(particle) {
10228
+ return !isSsr() && !particle.destroyed && particle.container.actualOptions.interactivity.events.onHover.parallax.enable;
10229
+ }
10230
+ move(particle) {
10231
+ const container = particle.container, options = container.actualOptions;
10232
+ if (isSsr() || !options.interactivity.events.onHover.parallax.enable) {
10233
+ return;
10234
+ }
10235
+ const parallaxForce = options.interactivity.events.onHover.parallax.force, mousePos = container.interactivity.mouse.position;
10236
+ if (!mousePos) {
10237
+ return;
10238
+ }
10239
+ const canvasCenter = {
10240
+ x: container.canvas.size.width / 2,
10241
+ y: container.canvas.size.height / 2
10242
+ }, parallaxSmooth = options.interactivity.events.onHover.parallax.smooth, factor = particle.getRadius() / parallaxForce, centerDistance = {
10243
+ x: (mousePos.x - canvasCenter.x) * factor,
10244
+ y: (mousePos.y - canvasCenter.y) * factor
10245
+ };
10246
+ particle.offset.x += (centerDistance.x - particle.offset.x) / parallaxSmooth;
10247
+ particle.offset.y += (centerDistance.y - particle.offset.y) / parallaxSmooth;
10248
+ }
10249
+ }
10250
+ async function loadParallaxMover(engine) {
10251
+ engine.addMover("parallax", (() => new ParallaxMover));
10252
+ }
10253
+ class ParticlesInteractorBase {
10254
+ constructor(container) {
10255
+ this.container = container;
10256
+ this.type = 1;
10257
+ }
10258
+ }
10254
10259
  class Attractor_Attractor extends ParticlesInteractorBase {
10255
10260
  constructor(container) {
10256
10261
  super(container);
@@ -10305,10 +10310,7 @@
10305
10310
  }
10306
10311
  reset() {}
10307
10312
  async interact(p1) {
10308
- const container = this.container;
10309
- const pos1 = p1.getPosition();
10310
- const radius1 = p1.getRadius();
10311
- const query = container.particles.quadTree.queryCircle(pos1, radius1 * 2);
10313
+ const container = this.container, pos1 = p1.getPosition(), radius1 = p1.getRadius(), query = container.particles.quadTree.queryCircle(pos1, radius1 * 2);
10312
10314
  for (const p2 of query) {
10313
10315
  if (p1 === p2 || !p2.options.collisions.enable || p1.options.collisions.mode !== p2.options.collisions.mode || p2.destroyed || p2.spawning) {
10314
10316
  continue;
@@ -10317,9 +10319,7 @@
10317
10319
  if (Math.round(pos1.z) !== Math.round(pos2.z)) {
10318
10320
  continue;
10319
10321
  }
10320
- const dist = getDistance(pos1, pos2);
10321
- const radius2 = p2.getRadius();
10322
- const distP = radius1 + radius2;
10322
+ const dist = getDistance(pos1, pos2), radius2 = p2.getRadius(), distP = radius1 + radius2;
10323
10323
  if (dist <= distP) {
10324
10324
  this.resolveCollision(p1, p2);
10325
10325
  }
@@ -10328,27 +10328,20 @@
10328
10328
  resolveCollision(p1, p2) {
10329
10329
  switch (p1.options.collisions.mode) {
10330
10330
  case "absorb":
10331
- {
10332
- this.absorb(p1, p2);
10333
- break;
10334
- }
10331
+ this.absorb(p1, p2);
10332
+ break;
10335
10333
 
10336
10334
  case "bounce":
10337
- {
10338
- bounce(p1, p2);
10339
- break;
10340
- }
10335
+ bounce(p1, p2);
10336
+ break;
10341
10337
 
10342
10338
  case "destroy":
10343
- {
10344
- destroy(p1, p2);
10345
- break;
10346
- }
10339
+ destroy(p1, p2);
10340
+ break;
10347
10341
  }
10348
10342
  }
10349
10343
  absorb(p1, p2) {
10350
- const container = this.container;
10351
- const fps = container.fpsLimit / 1e3;
10344
+ const container = this.container, fps = container.fpsLimit / 1e3;
10352
10345
  if (p1.getRadius() === undefined && p2.getRadius() !== undefined) {
10353
10346
  p1.destroy();
10354
10347
  } else if (p1.getRadius() !== undefined && p2.getRadius() === undefined) {
@@ -10416,18 +10409,11 @@
10416
10409
  async interact(p1) {
10417
10410
  var _a;
10418
10411
  p1.links = [];
10419
- const pos1 = p1.getPosition();
10420
- const container = this.container;
10421
- const canvasSize = container.canvas.size;
10412
+ const pos1 = p1.getPosition(), container = this.container, canvasSize = container.canvas.size;
10422
10413
  if (pos1.x < 0 || pos1.y < 0 || pos1.x > canvasSize.width || pos1.y > canvasSize.height) {
10423
10414
  return;
10424
10415
  }
10425
- const linkOpt1 = p1.options.links;
10426
- const optOpacity = linkOpt1.opacity;
10427
- const optDistance = (_a = p1.retina.linksDistance) !== null && _a !== void 0 ? _a : container.retina.linksDistance;
10428
- const warp = linkOpt1.warp;
10429
- const range = warp ? new CircleWarp(pos1.x, pos1.y, optDistance, canvasSize) : new Circle(pos1.x, pos1.y, optDistance);
10430
- const query = container.particles.quadTree.query(range);
10416
+ const linkOpt1 = p1.options.links, optOpacity = linkOpt1.opacity, optDistance = (_a = p1.retina.linksDistance) !== null && _a !== void 0 ? _a : container.retina.linksDistance, warp = linkOpt1.warp, range = warp ? new CircleWarp(pos1.x, pos1.y, optDistance, canvasSize) : new Circle(pos1.x, pos1.y, optDistance), query = container.particles.quadTree.query(range);
10431
10417
  for (const p2 of query) {
10432
10418
  const linkOpt2 = p2.options.links;
10433
10419
  if (p1 === p2 || !linkOpt2.enable || linkOpt1.id !== linkOpt2.id || p2.spawning || p2.destroyed || p1.links.map((t => t.destination)).indexOf(p2) !== -1 || p2.links.map((t => t.destination)).indexOf(p1) !== -1) {
@@ -10450,8 +10436,7 @@
10450
10436
  }
10451
10437
  }
10452
10438
  setColor(p1) {
10453
- const container = this.container;
10454
- const linksOptions = p1.options.links;
10439
+ const container = this.container, linksOptions = p1.options.links;
10455
10440
  let linkColor = linksOptions.id === undefined ? container.particles.linksColor : container.particles.linksColors.get(linksOptions.id);
10456
10441
  if (!linkColor) {
10457
10442
  const optColor = linksOptions.color;
@@ -10480,64 +10465,52 @@
10480
10465
  linkParticle.links = [];
10481
10466
  }
10482
10467
  drawParticle(context, particle) {
10483
- const linkParticle = particle;
10484
- const container = this.container;
10485
- const particles = container.particles;
10486
- const pOptions = particle.options;
10487
- if (linkParticle.links.length > 0) {
10488
- context.save();
10489
- const p1Links = linkParticle.links.filter((l => {
10490
- const linkFreq = container.particles.getLinkFrequency(linkParticle, l.destination);
10491
- return linkFreq <= pOptions.links.frequency;
10492
- }));
10493
- for (const link of p1Links) {
10494
- const p2 = link.destination;
10495
- if (pOptions.links.triangles.enable) {
10496
- const links = p1Links.map((l => l.destination));
10497
- const vertices = p2.links.filter((t => {
10498
- const linkFreq = container.particles.getLinkFrequency(p2, t.destination);
10499
- return linkFreq <= p2.options.links.frequency && links.indexOf(t.destination) >= 0;
10500
- }));
10501
- if (vertices.length) {
10502
- for (const vertex of vertices) {
10503
- const p3 = vertex.destination;
10504
- const triangleFreq = particles.getTriangleFrequency(linkParticle, p2, p3);
10505
- if (triangleFreq > pOptions.links.triangles.frequency) {
10506
- continue;
10507
- }
10508
- this.drawLinkTriangle(linkParticle, link, vertex);
10468
+ const linkParticle = particle, container = this.container, particles = container.particles, pOptions = particle.options;
10469
+ if (linkParticle.links.length <= 0) {
10470
+ return;
10471
+ }
10472
+ context.save();
10473
+ const p1Links = linkParticle.links.filter((l => {
10474
+ const linkFreq = container.particles.getLinkFrequency(linkParticle, l.destination);
10475
+ return linkFreq <= pOptions.links.frequency;
10476
+ }));
10477
+ for (const link of p1Links) {
10478
+ const p2 = link.destination;
10479
+ if (pOptions.links.triangles.enable) {
10480
+ const links = p1Links.map((l => l.destination)), vertices = p2.links.filter((t => {
10481
+ const linkFreq = container.particles.getLinkFrequency(p2, t.destination);
10482
+ return linkFreq <= p2.options.links.frequency && links.indexOf(t.destination) >= 0;
10483
+ }));
10484
+ if (vertices.length) {
10485
+ for (const vertex of vertices) {
10486
+ const p3 = vertex.destination, triangleFreq = particles.getTriangleFrequency(linkParticle, p2, p3);
10487
+ if (triangleFreq > pOptions.links.triangles.frequency) {
10488
+ continue;
10509
10489
  }
10490
+ this.drawLinkTriangle(linkParticle, link, vertex);
10510
10491
  }
10511
10492
  }
10512
- if (link.opacity > 0 && container.retina.linksWidth > 0) {
10513
- this.drawLinkLine(linkParticle, link);
10514
- }
10515
10493
  }
10516
- context.restore();
10494
+ if (link.opacity > 0 && container.retina.linksWidth > 0) {
10495
+ this.drawLinkLine(linkParticle, link);
10496
+ }
10517
10497
  }
10498
+ context.restore();
10518
10499
  }
10519
10500
  drawLinkTriangle(p1, link1, link2) {
10520
10501
  var _a;
10521
- const container = this.container;
10522
- const options = container.actualOptions;
10523
- const p2 = link1.destination;
10524
- const p3 = link2.destination;
10525
- const triangleOptions = p1.options.links.triangles;
10526
- const opacityTriangle = (_a = triangleOptions.opacity) !== null && _a !== void 0 ? _a : (link1.opacity + link2.opacity) / 2;
10502
+ const container = this.container, options = container.actualOptions, p2 = link1.destination, p3 = link2.destination, triangleOptions = p1.options.links.triangles, opacityTriangle = (_a = triangleOptions.opacity) !== null && _a !== void 0 ? _a : (link1.opacity + link2.opacity) / 2;
10527
10503
  if (opacityTriangle <= 0) {
10528
10504
  return;
10529
10505
  }
10530
- const pos1 = p1.getPosition();
10531
- const pos2 = p2.getPosition();
10532
- const pos3 = p3.getPosition();
10506
+ const pos1 = p1.getPosition(), pos2 = p2.getPosition(), pos3 = p3.getPosition();
10533
10507
  container.canvas.draw((ctx => {
10534
10508
  if (getDistance(pos1, pos2) > container.retina.linksDistance || getDistance(pos3, pos2) > container.retina.linksDistance || getDistance(pos3, pos1) > container.retina.linksDistance) {
10535
10509
  return;
10536
10510
  }
10537
10511
  let colorTriangle = colorToRgb(triangleOptions.color);
10538
10512
  if (!colorTriangle) {
10539
- const linksOptions = p1.options.links;
10540
- const linkColor = linksOptions.id !== undefined ? container.particles.linksColors.get(linksOptions.id) : container.particles.linksColor;
10513
+ const linksOptions = p1.options.links, linkColor = linksOptions.id !== undefined ? container.particles.linksColors.get(linksOptions.id) : container.particles.linksColor;
10541
10514
  colorTriangle = getLinkColor(p1, p2, linkColor);
10542
10515
  }
10543
10516
  if (!colorTriangle) {
@@ -10547,35 +10520,27 @@
10547
10520
  }));
10548
10521
  }
10549
10522
  drawLinkLine(p1, link) {
10550
- const container = this.container;
10551
- const options = container.actualOptions;
10552
- const p2 = link.destination;
10523
+ const container = this.container, options = container.actualOptions, p2 = link.destination, pos1 = p1.getPosition(), pos2 = p2.getPosition();
10553
10524
  let opacity = link.opacity;
10554
- const pos1 = p1.getPosition();
10555
- const pos2 = p2.getPosition();
10556
10525
  container.canvas.draw((ctx => {
10557
10526
  var _a, _b;
10558
10527
  let colorLine;
10559
10528
  const twinkle = p1.options.twinkle.lines;
10560
10529
  if (twinkle.enable) {
10561
- const twinkleFreq = twinkle.frequency;
10562
- const twinkleRgb = colorToRgb(twinkle.color);
10563
- const twinkling = Math.random() < twinkleFreq;
10564
- if (twinkling && twinkleRgb !== undefined) {
10530
+ const twinkleFreq = twinkle.frequency, twinkleRgb = colorToRgb(twinkle.color), twinkling = Math.random() < twinkleFreq;
10531
+ if (twinkling && twinkleRgb) {
10565
10532
  colorLine = twinkleRgb;
10566
10533
  opacity = getRangeValue(twinkle.opacity);
10567
10534
  }
10568
10535
  }
10569
10536
  if (!colorLine) {
10570
- const linksOptions = p1.options.links;
10571
- const linkColor = linksOptions.id !== undefined ? container.particles.linksColors.get(linksOptions.id) : container.particles.linksColor;
10537
+ const linksOptions = p1.options.links, linkColor = linksOptions.id !== undefined ? container.particles.linksColors.get(linksOptions.id) : container.particles.linksColor;
10572
10538
  colorLine = getLinkColor(p1, p2, linkColor);
10573
10539
  }
10574
10540
  if (!colorLine) {
10575
10541
  return;
10576
10542
  }
10577
- const width = (_a = p1.retina.linksWidth) !== null && _a !== void 0 ? _a : container.retina.linksWidth;
10578
- const maxDistance = (_b = p1.retina.linksDistance) !== null && _b !== void 0 ? _b : container.retina.linksDistance;
10543
+ const width = (_a = p1.retina.linksWidth) !== null && _a !== void 0 ? _a : container.retina.linksWidth, maxDistance = (_b = p1.retina.linksDistance) !== null && _b !== void 0 ? _b : container.retina.linksDistance;
10579
10544
  drawLinkLine(ctx, width, pos1, pos2, maxDistance, container.canvas.size, p1.options.links.warp, options.backgroundMask.enable, options.backgroundMask.composite, colorLine, opacity, p1.options.links.shadow);
10580
10545
  }));
10581
10546
  }
@@ -10919,11 +10884,16 @@
10919
10884
  }
10920
10885
  }
10921
10886
  async function loadSlim(engine) {
10887
+ await loadBaseMover(engine);
10888
+ await loadParallaxMover(engine);
10922
10889
  await loadExternalAttractInteraction(engine);
10923
10890
  await loadExternalBounceInteraction(engine);
10924
10891
  await loadExternalBubbleInteraction(engine);
10925
10892
  await loadExternalConnectInteraction(engine);
10926
10893
  await loadExternalGrabInteraction(engine);
10894
+ await loadExternalPauseInteraction(engine);
10895
+ await loadExternalPushInteraction(engine);
10896
+ await loadExternalRemoveInteraction(engine);
10927
10897
  await loadExternalRepulseInteraction(engine);
10928
10898
  await loadParticlesAttractInteraction(engine);
10929
10899
  await loadParticlesCollisionsInteraction(engine);
@@ -11022,6 +10992,22 @@
11022
10992
  async function loadTiltUpdater(engine) {
11023
10993
  await engine.addParticleUpdater("tilt", (container => new TiltUpdater(container)));
11024
10994
  }
10995
+ class TwinkleUpdater {
10996
+ getColorStyles(particle, context, radius, opacity) {
10997
+ const pOptions = particle.options, twinkle = pOptions.twinkle.particles, twinkling = twinkle.enable && Math.random() < twinkle.frequency, zIndexOptions = particle.options.zIndex, zOpacityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.opacityRate, twinklingOpacity = twinkling ? getRangeValue(twinkle.opacity) * zOpacityFactor : opacity, twinkleRgb = colorToHsl(twinkle.color), twinkleStyle = twinkleRgb ? getStyleFromHsl(twinkleRgb, twinklingOpacity) : undefined, res = {}, needsTwinkle = twinkling && twinkleStyle;
10998
+ res.fill = needsTwinkle ? twinkleStyle : undefined;
10999
+ res.stroke = needsTwinkle ? twinkleStyle : undefined;
11000
+ return res;
11001
+ }
11002
+ init() {}
11003
+ isEnabled(particle) {
11004
+ return particle.options.twinkle.particles.enable;
11005
+ }
11006
+ update() {}
11007
+ }
11008
+ async function loadTwinkleUpdater(engine) {
11009
+ await engine.addParticleUpdater("twinkle", (() => new TwinkleUpdater));
11010
+ }
11025
11011
  function updateWobble(particle, delta) {
11026
11012
  var _a;
11027
11013
  const wobble = particle.options.wobble;
@@ -11072,10 +11058,11 @@
11072
11058
  }
11073
11059
  async function loadFull(engine) {
11074
11060
  await loadSlim(engine);
11075
- await loadExternalTrailInteraction(engine);
11076
11061
  await loadRollUpdater(engine);
11077
11062
  await loadTiltUpdater(engine);
11063
+ await loadTwinkleUpdater(engine);
11078
11064
  await loadWobbleUpdater(engine);
11065
+ await loadExternalTrailInteraction(engine);
11079
11066
  await loadAbsorbersPlugin(engine);
11080
11067
  await loadEmittersPlugin(engine);
11081
11068
  await loadPolygonMaskPlugin(engine);