tsparticles 1.35.2 → 1.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (663) hide show
  1. package/Core/Canvas.js +4 -6
  2. package/Core/Container.d.ts +4 -2
  3. package/Core/Container.js +21 -12
  4. package/Core/Loader.d.ts +19 -4
  5. package/Core/Loader.js +80 -18
  6. package/Enums/Modes/ResponsiveMode.d.ts +4 -0
  7. package/Enums/Modes/ResponsiveMode.js +8 -0
  8. package/Enums/Modes/index.d.ts +1 -0
  9. package/Enums/Modes/index.js +1 -0
  10. package/Interactions/External/Attract/index.d.ts +1 -1
  11. package/Interactions/External/Attract/index.js +2 -2
  12. package/Interactions/External/Bounce/index.d.ts +1 -1
  13. package/Interactions/External/Bounce/index.js +2 -2
  14. package/Interactions/External/Bubble/index.d.ts +1 -1
  15. package/Interactions/External/Bubble/index.js +2 -2
  16. package/Interactions/External/Connect/index.d.ts +1 -1
  17. package/Interactions/External/Connect/index.js +2 -2
  18. package/Interactions/External/Grab/index.d.ts +1 -1
  19. package/Interactions/External/Grab/index.js +2 -2
  20. package/Interactions/External/Repulse/index.d.ts +1 -1
  21. package/Interactions/External/Repulse/index.js +2 -2
  22. package/Interactions/External/Trail/index.d.ts +1 -1
  23. package/Interactions/External/Trail/index.js +2 -2
  24. package/Interactions/Particles/Attract/index.d.ts +1 -1
  25. package/Interactions/Particles/Attract/index.js +2 -2
  26. package/Interactions/Particles/Collisions/index.d.ts +1 -1
  27. package/Interactions/Particles/Collisions/index.js +2 -2
  28. package/Interactions/Particles/Links/index.d.ts +2 -2
  29. package/Interactions/Particles/Links/index.js +5 -5
  30. package/Interactions/Particles/Links/plugin.d.ts +1 -1
  31. package/Interactions/Particles/Links/plugin.js +2 -2
  32. package/Options/Classes/FullScreen/FullScreen.js +2 -2
  33. package/Options/Classes/Interactivity/Interactivity.js +1 -1
  34. package/Options/Classes/Options.d.ts +1 -1
  35. package/Options/Classes/Options.js +5 -2
  36. package/Options/Classes/Responsive.d.ts +2 -0
  37. package/Options/Classes/Responsive.js +10 -0
  38. package/Options/Interfaces/IResponsive.d.ts +2 -0
  39. package/Plugins/Absorbers/plugin.d.ts +1 -1
  40. package/Plugins/Absorbers/plugin.js +2 -2
  41. package/Plugins/Emitters/plugin.d.ts +1 -1
  42. package/Plugins/Emitters/plugin.js +2 -2
  43. package/Plugins/PolygonMask/plugin.js +1 -1
  44. package/README.md +1 -1
  45. package/Shapes/Circle/index.d.ts +1 -1
  46. package/Shapes/Circle/index.js +2 -2
  47. package/Shapes/Image/index.d.ts +1 -1
  48. package/Shapes/Image/index.js +3 -3
  49. package/Shapes/Line/index.d.ts +1 -1
  50. package/Shapes/Line/index.js +2 -2
  51. package/Shapes/Polygon/index.d.ts +3 -3
  52. package/Shapes/Polygon/index.js +7 -7
  53. package/Shapes/Square/index.d.ts +1 -1
  54. package/Shapes/Square/index.js +3 -3
  55. package/Shapes/Star/index.d.ts +1 -1
  56. package/Shapes/Star/index.js +2 -2
  57. package/Shapes/Text/index.d.ts +1 -1
  58. package/Shapes/Text/index.js +2 -2
  59. package/Updaters/Angle/index.d.ts +1 -1
  60. package/Updaters/Angle/index.js +2 -2
  61. package/Updaters/Color/index.d.ts +1 -1
  62. package/Updaters/Color/index.js +2 -2
  63. package/Updaters/Life/index.d.ts +1 -1
  64. package/Updaters/Life/index.js +2 -2
  65. package/Updaters/Opacity/index.d.ts +1 -1
  66. package/Updaters/Opacity/index.js +2 -2
  67. package/Updaters/OutModes/index.d.ts +1 -1
  68. package/Updaters/OutModes/index.js +2 -2
  69. package/Updaters/Roll/index.d.ts +1 -1
  70. package/Updaters/Roll/index.js +2 -2
  71. package/Updaters/Size/index.d.ts +1 -1
  72. package/Updaters/Size/index.js +2 -2
  73. package/Updaters/StrokeColor/index.d.ts +1 -1
  74. package/Updaters/StrokeColor/index.js +2 -2
  75. package/Updaters/Tilt/index.d.ts +1 -1
  76. package/Updaters/Tilt/index.js +2 -2
  77. package/Updaters/Wobble/index.d.ts +1 -1
  78. package/Updaters/Wobble/index.js +2 -2
  79. package/Utils/Utils.d.ts +1 -2
  80. package/browser/Core/Canvas.d.ts +29 -0
  81. package/browser/Core/Canvas.js +26 -6
  82. package/browser/Core/Container.d.ts +98 -2
  83. package/browser/Core/Container.js +104 -12
  84. package/browser/Core/FrameManager.d.ts +8 -0
  85. package/browser/Core/FrameManager.js +9 -0
  86. package/browser/Core/InteractionManager.d.ts +3 -0
  87. package/browser/Core/InteractionManager.js +4 -0
  88. package/browser/Core/Interfaces/Colors.d.ts +23 -0
  89. package/browser/Core/Interfaces/IAttract.d.ts +3 -0
  90. package/browser/Core/Interfaces/IBounds.d.ts +3 -0
  91. package/browser/Core/Interfaces/IBubble.d.ts +3 -0
  92. package/browser/Core/Interfaces/IBubbleParticleData.d.ts +3 -0
  93. package/browser/Core/Interfaces/IContainerInteractivity.d.ts +3 -0
  94. package/browser/Core/Interfaces/IContainerPlugin.d.ts +3 -0
  95. package/browser/Core/Interfaces/ICoordinates.d.ts +3 -0
  96. package/browser/Core/Interfaces/IDelta.d.ts +3 -0
  97. package/browser/Core/Interfaces/IDimension.d.ts +3 -0
  98. package/browser/Core/Interfaces/IExternalInteractor.d.ts +3 -0
  99. package/browser/Core/Interfaces/IInteractor.d.ts +3 -0
  100. package/browser/Core/Interfaces/IMouseData.d.ts +3 -0
  101. package/browser/Core/Interfaces/IMovePathGenerator.d.ts +3 -0
  102. package/browser/Core/Interfaces/IParticle.d.ts +3 -0
  103. package/browser/Core/Interfaces/IParticleValueAnimation.d.ts +3 -0
  104. package/browser/Core/Interfaces/IParticlesInteractor.d.ts +3 -0
  105. package/browser/Core/Interfaces/IPlugin.d.ts +8 -0
  106. package/browser/Core/Interfaces/IRepulse.d.ts +3 -0
  107. package/browser/Core/Interfaces/IShapeDrawer.d.ts +3 -0
  108. package/browser/Core/Interfaces/IShapeValues.d.ts +3 -0
  109. package/browser/Core/Loader.d.ts +64 -4
  110. package/browser/Core/Loader.js +131 -18
  111. package/browser/Core/Particle/Mover.d.ts +3 -0
  112. package/browser/Core/Particle/Mover.js +7 -2
  113. package/browser/Core/Particle.d.ts +7 -0
  114. package/browser/Core/Particle.js +13 -0
  115. package/browser/Core/Particles.d.ts +13 -0
  116. package/browser/Core/Particles.js +25 -0
  117. package/browser/Core/Retina.d.ts +6 -0
  118. package/browser/Core/Retina.js +9 -0
  119. package/browser/Enums/Directions/MoveDirection.d.ts +3 -0
  120. package/browser/Enums/Directions/MoveDirection.js +3 -0
  121. package/browser/Enums/Directions/RotateDirection.d.ts +3 -0
  122. package/browser/Enums/Directions/RotateDirection.js +3 -0
  123. package/browser/Enums/Directions/TiltDirection.d.ts +3 -0
  124. package/browser/Enums/Directions/TiltDirection.js +3 -0
  125. package/browser/Enums/InteractivityDetect.d.ts +3 -0
  126. package/browser/Enums/InteractivityDetect.js +3 -0
  127. package/browser/Enums/Modes/ClickMode.d.ts +3 -0
  128. package/browser/Enums/Modes/ClickMode.js +3 -0
  129. package/browser/Enums/Modes/CollisionMode.d.ts +3 -0
  130. package/browser/Enums/Modes/CollisionMode.js +3 -0
  131. package/browser/Enums/Modes/DivMode.d.ts +3 -0
  132. package/browser/Enums/Modes/DivMode.js +3 -0
  133. package/browser/Enums/Modes/HoverMode.d.ts +3 -0
  134. package/browser/Enums/Modes/HoverMode.js +3 -0
  135. package/browser/Enums/Modes/OutMode.d.ts +3 -0
  136. package/browser/Enums/Modes/OutMode.js +3 -0
  137. package/browser/Enums/Modes/ResponsiveMode.d.ts +4 -0
  138. package/browser/Enums/Modes/ResponsiveMode.js +5 -0
  139. package/browser/Enums/Modes/SizeMode.d.ts +3 -0
  140. package/browser/Enums/Modes/SizeMode.js +3 -0
  141. package/browser/Enums/Modes/index.d.ts +1 -0
  142. package/browser/Enums/Modes/index.js +1 -0
  143. package/browser/Enums/Types/DestroyType.d.ts +3 -0
  144. package/browser/Enums/Types/DestroyType.js +3 -0
  145. package/browser/Enums/Types/DivType.d.ts +3 -0
  146. package/browser/Enums/Types/DivType.js +3 -0
  147. package/browser/Enums/Types/OrbitType.d.ts +3 -0
  148. package/browser/Enums/Types/OrbitType.js +3 -0
  149. package/browser/Enums/Types/ShapeType.d.ts +3 -0
  150. package/browser/Enums/Types/ShapeType.js +3 -0
  151. package/browser/Enums/Types/StartValueType.d.ts +3 -0
  152. package/browser/Enums/Types/StartValueType.js +3 -0
  153. package/browser/Interactions/External/Attract/Attractor.d.ts +4 -0
  154. package/browser/Interactions/External/Attract/Attractor.js +5 -0
  155. package/browser/Interactions/External/Attract/index.d.ts +1 -1
  156. package/browser/Interactions/External/Attract/index.js +2 -2
  157. package/browser/Interactions/External/Bounce/Bouncer.js +1 -0
  158. package/browser/Interactions/External/Bounce/index.d.ts +1 -1
  159. package/browser/Interactions/External/Bounce/index.js +2 -2
  160. package/browser/Interactions/External/Bubble/Bubbler.d.ts +4 -0
  161. package/browser/Interactions/External/Bubble/Bubbler.js +14 -0
  162. package/browser/Interactions/External/Bubble/IBubblerProcessParam.d.ts +6 -0
  163. package/browser/Interactions/External/Bubble/ProcessBubbleType.d.ts +3 -0
  164. package/browser/Interactions/External/Bubble/ProcessBubbleType.js +3 -0
  165. package/browser/Interactions/External/Bubble/index.d.ts +1 -1
  166. package/browser/Interactions/External/Bubble/index.js +2 -2
  167. package/browser/Interactions/External/Connect/Connector.d.ts +7 -0
  168. package/browser/Interactions/External/Connect/Connector.js +8 -0
  169. package/browser/Interactions/External/Connect/index.d.ts +1 -1
  170. package/browser/Interactions/External/Connect/index.js +2 -2
  171. package/browser/Interactions/External/Grab/Grabber.d.ts +4 -0
  172. package/browser/Interactions/External/Grab/Grabber.js +9 -0
  173. package/browser/Interactions/External/Grab/index.d.ts +1 -1
  174. package/browser/Interactions/External/Grab/index.js +2 -2
  175. package/browser/Interactions/External/Repulse/Repulser.d.ts +4 -0
  176. package/browser/Interactions/External/Repulse/Repulser.js +162 -0
  177. package/browser/Interactions/External/Repulse/index.d.ts +1 -1
  178. package/browser/Interactions/External/Repulse/index.js +2 -2
  179. package/browser/Interactions/External/Trail/TrailMaker.d.ts +3 -0
  180. package/browser/Interactions/External/Trail/TrailMaker.js +4 -0
  181. package/browser/Interactions/External/Trail/index.d.ts +1 -1
  182. package/browser/Interactions/External/Trail/index.js +2 -2
  183. package/browser/Interactions/Particles/Attract/Attractor.d.ts +3 -0
  184. package/browser/Interactions/Particles/Attract/Attractor.js +4 -0
  185. package/browser/Interactions/Particles/Attract/index.d.ts +1 -1
  186. package/browser/Interactions/Particles/Attract/index.js +2 -2
  187. package/browser/Interactions/Particles/Collisions/Collider.d.ts +3 -0
  188. package/browser/Interactions/Particles/Collisions/Collider.js +4 -0
  189. package/browser/Interactions/Particles/Collisions/index.d.ts +1 -1
  190. package/browser/Interactions/Particles/Collisions/index.js +2 -2
  191. package/browser/Interactions/Particles/Links/ILink.d.ts +6 -0
  192. package/browser/Interactions/Particles/Links/LinkInstance.js +8 -0
  193. package/browser/Interactions/Particles/Links/Linker.js +2 -0
  194. package/browser/Interactions/Particles/Links/index.d.ts +2 -2
  195. package/browser/Interactions/Particles/Links/index.js +5 -5
  196. package/browser/Interactions/Particles/Links/plugin.d.ts +1 -1
  197. package/browser/Interactions/Particles/Links/plugin.js +3 -2
  198. package/browser/Options/Classes/AnimatableColor.d.ts +4 -0
  199. package/browser/Options/Classes/AnimatableColor.js +4 -0
  200. package/browser/Options/Classes/Background/Background.d.ts +4 -0
  201. package/browser/Options/Classes/Background/Background.js +4 -0
  202. package/browser/Options/Classes/BackgroundMask/BackgroundMask.d.ts +14 -0
  203. package/browser/Options/Classes/BackgroundMask/BackgroundMask.js +4 -0
  204. package/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.d.ts +3 -0
  205. package/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.js +3 -0
  206. package/browser/Options/Classes/ColorAnimation.d.ts +3 -0
  207. package/browser/Options/Classes/ColorAnimation.js +3 -0
  208. package/browser/Options/Classes/FullScreen/FullScreen.d.ts +16 -0
  209. package/browser/Options/Classes/FullScreen/FullScreen.js +8 -2
  210. package/browser/Options/Classes/Interactivity/Events/ClickEvent.d.ts +10 -0
  211. package/browser/Options/Classes/Interactivity/Events/ClickEvent.js +4 -0
  212. package/browser/Options/Classes/Interactivity/Events/DivEvent.d.ts +37 -0
  213. package/browser/Options/Classes/Interactivity/Events/DivEvent.js +33 -0
  214. package/browser/Options/Classes/Interactivity/Events/Events.d.ts +31 -0
  215. package/browser/Options/Classes/Interactivity/Events/Events.js +31 -0
  216. package/browser/Options/Classes/Interactivity/Events/HoverEvent.d.ts +4 -0
  217. package/browser/Options/Classes/Interactivity/Events/HoverEvent.js +4 -0
  218. package/browser/Options/Classes/Interactivity/Events/Parallax.d.ts +3 -0
  219. package/browser/Options/Classes/Interactivity/Events/Parallax.js +3 -0
  220. package/browser/Options/Classes/Interactivity/Interactivity.d.ts +13 -0
  221. package/browser/Options/Classes/Interactivity/Interactivity.js +14 -1
  222. package/browser/Options/Classes/Interactivity/Modes/Attract.d.ts +3 -0
  223. package/browser/Options/Classes/Interactivity/Modes/Attract.js +3 -0
  224. package/browser/Options/Classes/Interactivity/Modes/Bubble.d.ts +3 -0
  225. package/browser/Options/Classes/Interactivity/Modes/Bubble.js +3 -0
  226. package/browser/Options/Classes/Interactivity/Modes/BubbleBase.d.ts +3 -0
  227. package/browser/Options/Classes/Interactivity/Modes/BubbleBase.js +3 -0
  228. package/browser/Options/Classes/Interactivity/Modes/BubbleDiv.d.ts +9 -0
  229. package/browser/Options/Classes/Interactivity/Modes/BubbleDiv.js +9 -0
  230. package/browser/Options/Classes/Interactivity/Modes/Connect.d.ts +21 -0
  231. package/browser/Options/Classes/Interactivity/Modes/Connect.js +21 -0
  232. package/browser/Options/Classes/Interactivity/Modes/ConnectLinks.d.ts +3 -0
  233. package/browser/Options/Classes/Interactivity/Modes/ConnectLinks.js +3 -0
  234. package/browser/Options/Classes/Interactivity/Modes/Grab.d.ts +21 -0
  235. package/browser/Options/Classes/Interactivity/Modes/Grab.js +21 -0
  236. package/browser/Options/Classes/Interactivity/Modes/GrabLinks.d.ts +3 -0
  237. package/browser/Options/Classes/Interactivity/Modes/GrabLinks.js +3 -0
  238. package/browser/Options/Classes/Interactivity/Modes/Modes.d.ts +4 -0
  239. package/browser/Options/Classes/Interactivity/Modes/Modes.js +4 -0
  240. package/browser/Options/Classes/Interactivity/Modes/Push.d.ts +12 -0
  241. package/browser/Options/Classes/Interactivity/Modes/Push.js +12 -0
  242. package/browser/Options/Classes/Interactivity/Modes/Remove.d.ts +12 -0
  243. package/browser/Options/Classes/Interactivity/Modes/Remove.js +12 -0
  244. package/browser/Options/Classes/Interactivity/Modes/Repulse.d.ts +3 -0
  245. package/browser/Options/Classes/Interactivity/Modes/Repulse.js +3 -0
  246. package/browser/Options/Classes/Interactivity/Modes/RepulseBase.d.ts +3 -0
  247. package/browser/Options/Classes/Interactivity/Modes/RepulseBase.js +3 -0
  248. package/browser/Options/Classes/Interactivity/Modes/RepulseDiv.d.ts +9 -0
  249. package/browser/Options/Classes/Interactivity/Modes/RepulseDiv.js +11 -0
  250. package/browser/Options/Classes/Interactivity/Modes/Slow.d.ts +9 -0
  251. package/browser/Options/Classes/Interactivity/Modes/Slow.js +10 -0
  252. package/browser/Options/Classes/Interactivity/Modes/Trail.d.ts +3 -0
  253. package/browser/Options/Classes/Interactivity/Modes/Trail.js +3 -0
  254. package/browser/Options/Classes/Motion/Motion.d.ts +11 -0
  255. package/browser/Options/Classes/Motion/Motion.js +4 -0
  256. package/browser/Options/Classes/Motion/MotionReduce.d.ts +9 -0
  257. package/browser/Options/Classes/Motion/MotionReduce.js +3 -0
  258. package/browser/Options/Classes/Options.d.ts +31 -1
  259. package/browser/Options/Classes/Options.js +36 -3
  260. package/browser/Options/Classes/OptionsColor.d.ts +4 -0
  261. package/browser/Options/Classes/OptionsColor.js +4 -0
  262. package/browser/Options/Classes/Particles/Collisions/Collisions.d.ts +4 -0
  263. package/browser/Options/Classes/Particles/Collisions/Collisions.js +4 -0
  264. package/browser/Options/Classes/Particles/Links/Links.d.ts +4 -0
  265. package/browser/Options/Classes/Particles/Links/Links.js +4 -0
  266. package/browser/Options/Classes/Particles/Links/LinksShadow.d.ts +3 -0
  267. package/browser/Options/Classes/Particles/Links/LinksShadow.js +3 -0
  268. package/browser/Options/Classes/Particles/Links/LinksTriangle.d.ts +3 -0
  269. package/browser/Options/Classes/Particles/Links/LinksTriangle.js +3 -0
  270. package/browser/Options/Classes/Particles/Move/Attract.d.ts +21 -0
  271. package/browser/Options/Classes/Particles/Move/Attract.js +21 -0
  272. package/browser/Options/Classes/Particles/Move/Move.d.ts +42 -0
  273. package/browser/Options/Classes/Particles/Move/Move.js +43 -0
  274. package/browser/Options/Classes/Particles/Move/MoveAngle.d.ts +3 -0
  275. package/browser/Options/Classes/Particles/Move/MoveAngle.js +4 -1
  276. package/browser/Options/Classes/Particles/Move/Path/Path.d.ts +3 -0
  277. package/browser/Options/Classes/Particles/Move/Path/Path.js +3 -0
  278. package/browser/Options/Classes/Particles/Move/Trail.d.ts +3 -0
  279. package/browser/Options/Classes/Particles/Move/Trail.js +3 -0
  280. package/browser/Options/Classes/Particles/Number/Density.d.ts +12 -0
  281. package/browser/Options/Classes/Particles/Number/Density.js +12 -0
  282. package/browser/Options/Classes/Particles/Number/ParticlesNumber.d.ts +10 -0
  283. package/browser/Options/Classes/Particles/Number/ParticlesNumber.js +10 -0
  284. package/browser/Options/Classes/Particles/Opacity/Opacity.d.ts +13 -0
  285. package/browser/Options/Classes/Particles/Opacity/Opacity.js +13 -0
  286. package/browser/Options/Classes/Particles/Opacity/OpacityAnimation.d.ts +15 -0
  287. package/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js +12 -0
  288. package/browser/Options/Classes/Particles/Orbit/Orbit.d.ts +4 -0
  289. package/browser/Options/Classes/Particles/Orbit/Orbit.js +4 -0
  290. package/browser/Options/Classes/Particles/Orbit/OrbitRotation.d.ts +3 -0
  291. package/browser/Options/Classes/Particles/Orbit/OrbitRotation.js +3 -0
  292. package/browser/Options/Classes/Particles/ParticlesOptions.d.ts +22 -0
  293. package/browser/Options/Classes/Particles/ParticlesOptions.js +22 -0
  294. package/browser/Options/Classes/Particles/Repulse/Repulse.d.ts +3 -0
  295. package/browser/Options/Classes/Particles/Repulse/Repulse.js +3 -0
  296. package/browser/Options/Classes/Particles/Rotate/Rotate.d.ts +4 -0
  297. package/browser/Options/Classes/Particles/Rotate/Rotate.js +4 -0
  298. package/browser/Options/Classes/Particles/Rotate/RotateAnimation.d.ts +3 -0
  299. package/browser/Options/Classes/Particles/Rotate/RotateAnimation.js +3 -0
  300. package/browser/Options/Classes/Particles/Shadow.d.ts +4 -0
  301. package/browser/Options/Classes/Particles/Shadow.js +4 -0
  302. package/browser/Options/Classes/Particles/Shape/Shape.d.ts +42 -0
  303. package/browser/Options/Classes/Particles/Shape/Shape.js +43 -0
  304. package/browser/Options/Classes/Particles/Size/Size.d.ts +13 -0
  305. package/browser/Options/Classes/Particles/Size/Size.js +13 -0
  306. package/browser/Options/Classes/Particles/Size/SizeAnimation.d.ts +15 -0
  307. package/browser/Options/Classes/Particles/Size/SizeAnimation.js +12 -0
  308. package/browser/Options/Classes/Particles/Stroke.d.ts +4 -0
  309. package/browser/Options/Classes/Particles/Stroke.js +4 -0
  310. package/browser/Options/Classes/Particles/Tilt/Tilt.d.ts +4 -0
  311. package/browser/Options/Classes/Particles/Tilt/Tilt.js +4 -0
  312. package/browser/Options/Classes/Particles/Tilt/TiltAnimation.d.ts +3 -0
  313. package/browser/Options/Classes/Particles/Tilt/TiltAnimation.js +3 -0
  314. package/browser/Options/Classes/Particles/Twinkle/Twinkle.d.ts +4 -0
  315. package/browser/Options/Classes/Particles/Twinkle/Twinkle.js +4 -0
  316. package/browser/Options/Classes/Particles/Twinkle/TwinkleValues.d.ts +3 -0
  317. package/browser/Options/Classes/Particles/Twinkle/TwinkleValues.js +3 -0
  318. package/browser/Options/Classes/Particles/ZIndex/ZIndex.d.ts +3 -0
  319. package/browser/Options/Classes/Particles/ZIndex/ZIndex.js +3 -0
  320. package/browser/Options/Classes/Responsive.d.ts +2 -0
  321. package/browser/Options/Classes/Responsive.js +11 -0
  322. package/browser/Options/Classes/ValueWithRandom.d.ts +3 -0
  323. package/browser/Options/Interfaces/Background/IBackground.d.ts +35 -0
  324. package/browser/Options/Interfaces/BackgroundMask/IBackgroundMask.d.ts +21 -0
  325. package/browser/Options/Interfaces/BackgroundMask/IBackgroundMaskCover.d.ts +10 -0
  326. package/browser/Options/Interfaces/FullScreen/IFullScreen.d.ts +16 -0
  327. package/browser/Options/Interfaces/IAnimatableColor.d.ts +8 -0
  328. package/browser/Options/Interfaces/IAnimation.d.ts +10 -0
  329. package/browser/Options/Interfaces/IColorAnimation.d.ts +7 -0
  330. package/browser/Options/Interfaces/IColorAnimation.js +4 -0
  331. package/browser/Options/Interfaces/IManualParticle.d.ts +11 -0
  332. package/browser/Options/Interfaces/IOptionLoader.d.ts +9 -0
  333. package/browser/Options/Interfaces/IOptions.d.ts +71 -0
  334. package/browser/Options/Interfaces/IOptionsColor.d.ts +5 -0
  335. package/browser/Options/Interfaces/IResponsive.d.ts +2 -0
  336. package/browser/Options/Interfaces/IValueWithRandom.d.ts +3 -0
  337. package/browser/Options/Interfaces/Interactivity/Events/IClickEvent.d.ts +12 -0
  338. package/browser/Options/Interfaces/Interactivity/Events/IDivEvent.d.ts +13 -0
  339. package/browser/Options/Interfaces/Interactivity/Events/IEvents.d.ts +13 -0
  340. package/browser/Options/Interfaces/Interactivity/Events/IHoverEvent.d.ts +4 -0
  341. package/browser/Options/Interfaces/Interactivity/Events/IParallax.d.ts +3 -0
  342. package/browser/Options/Interfaces/Interactivity/IInteractivity.d.ts +20 -0
  343. package/browser/Options/Interfaces/Interactivity/Modes/IAttract.d.ts +3 -0
  344. package/browser/Options/Interfaces/Interactivity/Modes/IBubble.d.ts +3 -0
  345. package/browser/Options/Interfaces/Interactivity/Modes/IBubbleBase.d.ts +3 -0
  346. package/browser/Options/Interfaces/Interactivity/Modes/IBubbleDiv.d.ts +3 -0
  347. package/browser/Options/Interfaces/Interactivity/Modes/IConnect.d.ts +9 -0
  348. package/browser/Options/Interfaces/Interactivity/Modes/IConnectLinks.d.ts +3 -0
  349. package/browser/Options/Interfaces/Interactivity/Modes/IGrab.d.ts +9 -0
  350. package/browser/Options/Interfaces/Interactivity/Modes/IGrabLinks.d.ts +3 -0
  351. package/browser/Options/Interfaces/Interactivity/Modes/IModeDiv.d.ts +6 -0
  352. package/browser/Options/Interfaces/Interactivity/Modes/IModes.d.ts +4 -0
  353. package/browser/Options/Interfaces/Interactivity/Modes/IPush.d.ts +6 -0
  354. package/browser/Options/Interfaces/Interactivity/Modes/IRemove.d.ts +6 -0
  355. package/browser/Options/Interfaces/Interactivity/Modes/IRepulse.d.ts +3 -0
  356. package/browser/Options/Interfaces/Interactivity/Modes/IRepulseBase.d.ts +3 -0
  357. package/browser/Options/Interfaces/Interactivity/Modes/IRepulseDiv.d.ts +3 -0
  358. package/browser/Options/Interfaces/Interactivity/Modes/ISlow.d.ts +6 -0
  359. package/browser/Options/Interfaces/Interactivity/Modes/ITrail.d.ts +3 -0
  360. package/browser/Options/Interfaces/Motion/IMotion.d.ts +11 -0
  361. package/browser/Options/Interfaces/Motion/IMotionReduce.d.ts +9 -0
  362. package/browser/Options/Interfaces/Particles/Collisions/ICollisions.d.ts +4 -0
  363. package/browser/Options/Interfaces/Particles/Destroy/IDestroy.d.ts +4 -0
  364. package/browser/Options/Interfaces/Particles/IParticles.d.ts +10 -0
  365. package/browser/Options/Interfaces/Particles/IShadow.d.ts +4 -0
  366. package/browser/Options/Interfaces/Particles/IStroke.d.ts +14 -0
  367. package/browser/Options/Interfaces/Particles/Links/ILinks.d.ts +43 -0
  368. package/browser/Options/Interfaces/Particles/Links/ILinksShadow.d.ts +3 -0
  369. package/browser/Options/Interfaces/Particles/Links/ILinksTriangle.d.ts +3 -0
  370. package/browser/Options/Interfaces/Particles/Move/IAttract.d.ts +9 -0
  371. package/browser/Options/Interfaces/Particles/Move/IMove.d.ts +19 -0
  372. package/browser/Options/Interfaces/Particles/Move/IMoveAngle.d.ts +3 -0
  373. package/browser/Options/Interfaces/Particles/Move/ITrail.d.ts +3 -0
  374. package/browser/Options/Interfaces/Particles/Move/Path/iPath.d.ts +3 -0
  375. package/browser/Options/Interfaces/Particles/Number/IDensity.d.ts +6 -0
  376. package/browser/Options/Interfaces/Particles/Number/IParticlesNumber.d.ts +7 -0
  377. package/browser/Options/Interfaces/Particles/Opacity/IOpacity.d.ts +7 -0
  378. package/browser/Options/Interfaces/Particles/Opacity/IOpacityAnimation.d.ts +9 -0
  379. package/browser/Options/Interfaces/Particles/Orbit/IOrbit.d.ts +7 -0
  380. package/browser/Options/Interfaces/Particles/Repulse/IRepulse.d.ts +4 -0
  381. package/browser/Options/Interfaces/Particles/Rotate/IRotate.d.ts +4 -0
  382. package/browser/Options/Interfaces/Particles/Rotate/IRotateAnimation.d.ts +3 -0
  383. package/browser/Options/Interfaces/Particles/Shape/ICharacterShape.d.ts +3 -0
  384. package/browser/Options/Interfaces/Particles/Shape/IImageShape.d.ts +6 -0
  385. package/browser/Options/Interfaces/Particles/Shape/IPolygonShape.d.ts +6 -0
  386. package/browser/Options/Interfaces/Particles/Shape/IShape.d.ts +22 -0
  387. package/browser/Options/Interfaces/Particles/Shape/IStarShape.d.ts +6 -0
  388. package/browser/Options/Interfaces/Particles/Size/ISize.d.ts +7 -0
  389. package/browser/Options/Interfaces/Particles/Size/ISizeAnimation.d.ts +9 -0
  390. package/browser/Options/Interfaces/Particles/Tilt/ITilt.d.ts +4 -0
  391. package/browser/Options/Interfaces/Particles/Tilt/ITiltAnimation.d.ts +3 -0
  392. package/browser/Options/Interfaces/Particles/Twinkle/ITwinkle.d.ts +4 -0
  393. package/browser/Options/Interfaces/Particles/Twinkle/ITwinkleValues.d.ts +3 -0
  394. package/browser/Options/Interfaces/Particles/ZIndex/IZIndex.d.ts +4 -0
  395. package/browser/Options/Interfaces/Theme/ITheme.d.ts +14 -0
  396. package/browser/Options/Interfaces/Theme/IThemeDefault.d.ts +16 -0
  397. package/browser/Plugins/Absorbers/AbsorberInstance.d.ts +3 -0
  398. package/browser/Plugins/Absorbers/AbsorberInstance.js +3 -0
  399. package/browser/Plugins/Absorbers/Absorbers.d.ts +3 -0
  400. package/browser/Plugins/Absorbers/Absorbers.js +3 -0
  401. package/browser/Plugins/Absorbers/Enums/AbsorberClickMode.d.ts +3 -0
  402. package/browser/Plugins/Absorbers/Enums/AbsorberClickMode.js +3 -0
  403. package/browser/Plugins/Absorbers/Options/Classes/Absorber.d.ts +4 -0
  404. package/browser/Plugins/Absorbers/Options/Classes/Absorber.js +4 -0
  405. package/browser/Plugins/Absorbers/Options/Interfaces/IAbsorber.d.ts +29 -0
  406. package/browser/Plugins/Absorbers/Options/Interfaces/IAbsorberOptions.d.ts +3 -0
  407. package/browser/Plugins/Absorbers/plugin.d.ts +1 -1
  408. package/browser/Plugins/Absorbers/plugin.js +5 -2
  409. package/browser/Plugins/Emitters/EmitterInstance.d.ts +3 -0
  410. package/browser/Plugins/Emitters/EmitterInstance.js +3 -0
  411. package/browser/Plugins/Emitters/Emitters.d.ts +3 -0
  412. package/browser/Plugins/Emitters/Emitters.js +3 -0
  413. package/browser/Plugins/Emitters/Enums/EmitterClickMode.d.ts +3 -0
  414. package/browser/Plugins/Emitters/Enums/EmitterClickMode.js +3 -0
  415. package/browser/Plugins/Emitters/Options/Classes/Emitter.d.ts +4 -0
  416. package/browser/Plugins/Emitters/Options/Classes/Emitter.js +4 -0
  417. package/browser/Plugins/Emitters/Options/Classes/EmitterLife.d.ts +3 -0
  418. package/browser/Plugins/Emitters/Options/Classes/EmitterLife.js +3 -0
  419. package/browser/Plugins/Emitters/Options/Classes/EmitterRate.d.ts +3 -0
  420. package/browser/Plugins/Emitters/Options/Classes/EmitterRate.js +3 -0
  421. package/browser/Plugins/Emitters/Options/Classes/EmitterSize.d.ts +3 -0
  422. package/browser/Plugins/Emitters/Options/Classes/EmitterSize.js +3 -0
  423. package/browser/Plugins/Emitters/Options/Interfaces/IEmitter.d.ts +44 -0
  424. package/browser/Plugins/Emitters/Options/Interfaces/IEmitterLife.d.ts +19 -0
  425. package/browser/Plugins/Emitters/Options/Interfaces/IEmitterOptions.d.ts +3 -0
  426. package/browser/Plugins/Emitters/Options/Interfaces/IEmitterRate.d.ts +11 -0
  427. package/browser/Plugins/Emitters/Options/Interfaces/IEmitterSize.d.ts +3 -0
  428. package/browser/Plugins/Emitters/Shapes/Square/SquareShape.js +4 -0
  429. package/browser/Plugins/Emitters/plugin.d.ts +1 -1
  430. package/browser/Plugins/Emitters/plugin.js +5 -2
  431. package/browser/Plugins/PolygonMask/Options/Classes/Draw.d.ts +15 -0
  432. package/browser/Plugins/PolygonMask/Options/Classes/Draw.js +15 -0
  433. package/browser/Plugins/PolygonMask/Options/Classes/DrawStroke.d.ts +3 -0
  434. package/browser/Plugins/PolygonMask/Options/Classes/DrawStroke.js +3 -0
  435. package/browser/Plugins/PolygonMask/Options/Classes/Inline.d.ts +3 -0
  436. package/browser/Plugins/PolygonMask/Options/Classes/Inline.js +3 -0
  437. package/browser/Plugins/PolygonMask/Options/Classes/LocalSvg.d.ts +3 -0
  438. package/browser/Plugins/PolygonMask/Options/Classes/LocalSvg.js +3 -0
  439. package/browser/Plugins/PolygonMask/Options/Classes/Move.d.ts +3 -0
  440. package/browser/Plugins/PolygonMask/Options/Classes/Move.js +3 -0
  441. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMask.d.ts +10 -0
  442. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMask.js +10 -0
  443. package/browser/Plugins/PolygonMask/Options/Interfaces/IDraw.d.ts +9 -0
  444. package/browser/Plugins/PolygonMask/Options/Interfaces/IDrawStroke.d.ts +3 -0
  445. package/browser/Plugins/PolygonMask/Options/Interfaces/IInline.d.ts +3 -0
  446. package/browser/Plugins/PolygonMask/Options/Interfaces/ILocalSvg.d.ts +3 -0
  447. package/browser/Plugins/PolygonMask/Options/Interfaces/IMove.d.ts +3 -0
  448. package/browser/Plugins/PolygonMask/Options/Interfaces/IPolygonMask.d.ts +7 -0
  449. package/browser/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskOptions.d.ts +3 -0
  450. package/browser/Plugins/PolygonMask/PolygonMaskInstance.d.ts +12 -0
  451. package/browser/Plugins/PolygonMask/PolygonMaskInstance.js +22 -0
  452. package/browser/Plugins/PolygonMask/pathseg.js +55 -1
  453. package/browser/Plugins/PolygonMask/plugin.js +8 -2
  454. package/browser/Plugins/PolygonMask/utils.js +14 -2
  455. package/browser/Shapes/Circle/CircleDrawer.d.ts +3 -0
  456. package/browser/Shapes/Circle/CircleDrawer.js +3 -0
  457. package/browser/Shapes/Circle/index.d.ts +1 -1
  458. package/browser/Shapes/Circle/index.js +2 -2
  459. package/browser/Shapes/Image/ImageDrawer.d.ts +3 -0
  460. package/browser/Shapes/Image/ImageDrawer.js +6 -0
  461. package/browser/Shapes/Image/Utils.d.ts +3 -0
  462. package/browser/Shapes/Image/Utils.js +1 -0
  463. package/browser/Shapes/Image/index.d.ts +1 -1
  464. package/browser/Shapes/Image/index.js +3 -3
  465. package/browser/Shapes/Line/LineDrawer.d.ts +3 -0
  466. package/browser/Shapes/Line/LineDrawer.js +3 -0
  467. package/browser/Shapes/Line/index.d.ts +1 -1
  468. package/browser/Shapes/Line/index.js +2 -2
  469. package/browser/Shapes/Polygon/PolygonDrawer.d.ts +3 -0
  470. package/browser/Shapes/Polygon/PolygonDrawer.js +3 -0
  471. package/browser/Shapes/Polygon/PolygonDrawerBase.d.ts +3 -0
  472. package/browser/Shapes/Polygon/PolygonDrawerBase.js +5 -1
  473. package/browser/Shapes/Polygon/TriangleDrawer.d.ts +3 -0
  474. package/browser/Shapes/Polygon/TriangleDrawer.js +3 -0
  475. package/browser/Shapes/Polygon/index.d.ts +3 -3
  476. package/browser/Shapes/Polygon/index.js +7 -7
  477. package/browser/Shapes/Square/SquareDrawer.d.ts +3 -0
  478. package/browser/Shapes/Square/SquareDrawer.js +3 -0
  479. package/browser/Shapes/Square/index.d.ts +1 -1
  480. package/browser/Shapes/Square/index.js +3 -3
  481. package/browser/Shapes/Star/StarDrawer.d.ts +3 -0
  482. package/browser/Shapes/Star/StarDrawer.js +3 -0
  483. package/browser/Shapes/Star/index.d.ts +1 -1
  484. package/browser/Shapes/Star/index.js +2 -2
  485. package/browser/Shapes/Text/TextDrawer.d.ts +3 -0
  486. package/browser/Shapes/Text/TextDrawer.js +3 -0
  487. package/browser/Shapes/Text/index.d.ts +1 -1
  488. package/browser/Shapes/Text/index.js +2 -2
  489. package/browser/Types/ParticlesGroups.d.ts +4 -0
  490. package/browser/Types/RecursivePartial.d.ts +3 -0
  491. package/browser/Types/ShapeData.d.ts +3 -0
  492. package/browser/Types/ShapeDrawerFunctions.d.ts +21 -0
  493. package/browser/Types/SingleOrMultiple.d.ts +3 -0
  494. package/browser/Updaters/Angle/index.d.ts +1 -1
  495. package/browser/Updaters/Angle/index.js +2 -2
  496. package/browser/Updaters/Color/ColorUpdater.js +1 -0
  497. package/browser/Updaters/Color/index.d.ts +1 -1
  498. package/browser/Updaters/Color/index.js +2 -2
  499. package/browser/Updaters/Life/LifeUpdater.js +1 -0
  500. package/browser/Updaters/Life/index.d.ts +1 -1
  501. package/browser/Updaters/Life/index.js +2 -2
  502. package/browser/Updaters/Opacity/OpacityUpdater.js +1 -0
  503. package/browser/Updaters/Opacity/index.d.ts +1 -1
  504. package/browser/Updaters/Opacity/index.js +2 -2
  505. package/browser/Updaters/OutModes/OutOfCanvasUpdater.js +1 -0
  506. package/browser/Updaters/OutModes/index.d.ts +1 -1
  507. package/browser/Updaters/OutModes/index.js +2 -2
  508. package/browser/Updaters/Roll/index.d.ts +1 -1
  509. package/browser/Updaters/Roll/index.js +2 -2
  510. package/browser/Updaters/Size/SizeUpdater.js +1 -0
  511. package/browser/Updaters/Size/index.d.ts +1 -1
  512. package/browser/Updaters/Size/index.js +2 -2
  513. package/browser/Updaters/StrokeColor/StrokeColorUpdater.js +1 -0
  514. package/browser/Updaters/StrokeColor/index.d.ts +1 -1
  515. package/browser/Updaters/StrokeColor/index.js +2 -2
  516. package/browser/Updaters/Tilt/index.d.ts +1 -1
  517. package/browser/Updaters/Tilt/index.js +2 -2
  518. package/browser/Updaters/Wobble/index.d.ts +1 -1
  519. package/browser/Updaters/Wobble/index.js +2 -2
  520. package/browser/Utils/CanvasUtils.js +4 -0
  521. package/browser/Utils/Circle.d.ts +3 -0
  522. package/browser/Utils/Circle.js +3 -0
  523. package/browser/Utils/CircleWarp.d.ts +3 -0
  524. package/browser/Utils/CircleWarp.js +3 -0
  525. package/browser/Utils/ColorUtils.d.ts +20 -0
  526. package/browser/Utils/ColorUtils.js +33 -1
  527. package/browser/Utils/Constants.d.ts +7 -0
  528. package/browser/Utils/Constants.js +7 -0
  529. package/browser/Utils/EventListeners.d.ts +32 -0
  530. package/browser/Utils/EventListeners.js +40 -0
  531. package/browser/Utils/NumberUtils.d.ts +27 -0
  532. package/browser/Utils/NumberUtils.js +27 -0
  533. package/browser/Utils/Plugins.d.ts +3 -0
  534. package/browser/Utils/Plugins.js +3 -0
  535. package/browser/Utils/Point.d.ts +3 -0
  536. package/browser/Utils/Point.js +3 -0
  537. package/browser/Utils/QuadTree.d.ts +3 -0
  538. package/browser/Utils/QuadTree.js +3 -0
  539. package/browser/Utils/Range.d.ts +3 -0
  540. package/browser/Utils/Range.js +3 -0
  541. package/browser/Utils/Rectangle.d.ts +3 -0
  542. package/browser/Utils/Rectangle.js +3 -0
  543. package/browser/Utils/Utils.d.ts +6 -2
  544. package/browser/Utils/Utils.js +14 -0
  545. package/browser/full.d.ts +1 -1
  546. package/browser/full.js +14 -6
  547. package/browser/index.d.ts +1 -2
  548. package/browser/index.js +2 -2
  549. package/browser/index.slim.d.ts +1 -2
  550. package/browser/index.slim.js +3 -2
  551. package/browser/main.d.ts +103 -10
  552. package/browser/main.js +114 -11
  553. package/browser/pjs.d.ts +27 -0
  554. package/browser/pjs.js +23 -0
  555. package/browser/slim.d.ts +1 -1
  556. package/browser/slim.js +39 -47
  557. package/esm/Core/Canvas.js +4 -6
  558. package/esm/Core/Container.d.ts +4 -2
  559. package/esm/Core/Container.js +21 -12
  560. package/esm/Core/Loader.d.ts +19 -4
  561. package/esm/Core/Loader.js +80 -18
  562. package/esm/Enums/Modes/ResponsiveMode.d.ts +4 -0
  563. package/esm/Enums/Modes/ResponsiveMode.js +5 -0
  564. package/esm/Enums/Modes/index.d.ts +1 -0
  565. package/esm/Enums/Modes/index.js +1 -0
  566. package/esm/Interactions/External/Attract/index.d.ts +1 -1
  567. package/esm/Interactions/External/Attract/index.js +2 -2
  568. package/esm/Interactions/External/Bounce/index.d.ts +1 -1
  569. package/esm/Interactions/External/Bounce/index.js +2 -2
  570. package/esm/Interactions/External/Bubble/index.d.ts +1 -1
  571. package/esm/Interactions/External/Bubble/index.js +2 -2
  572. package/esm/Interactions/External/Connect/index.d.ts +1 -1
  573. package/esm/Interactions/External/Connect/index.js +2 -2
  574. package/esm/Interactions/External/Grab/index.d.ts +1 -1
  575. package/esm/Interactions/External/Grab/index.js +2 -2
  576. package/esm/Interactions/External/Repulse/index.d.ts +1 -1
  577. package/esm/Interactions/External/Repulse/index.js +2 -2
  578. package/esm/Interactions/External/Trail/index.d.ts +1 -1
  579. package/esm/Interactions/External/Trail/index.js +2 -2
  580. package/esm/Interactions/Particles/Attract/index.d.ts +1 -1
  581. package/esm/Interactions/Particles/Attract/index.js +2 -2
  582. package/esm/Interactions/Particles/Collisions/index.d.ts +1 -1
  583. package/esm/Interactions/Particles/Collisions/index.js +2 -2
  584. package/esm/Interactions/Particles/Links/index.d.ts +2 -2
  585. package/esm/Interactions/Particles/Links/index.js +5 -5
  586. package/esm/Interactions/Particles/Links/plugin.d.ts +1 -1
  587. package/esm/Interactions/Particles/Links/plugin.js +2 -2
  588. package/esm/Options/Classes/FullScreen/FullScreen.js +2 -2
  589. package/esm/Options/Classes/Interactivity/Interactivity.js +1 -1
  590. package/esm/Options/Classes/Options.d.ts +1 -1
  591. package/esm/Options/Classes/Options.js +6 -3
  592. package/esm/Options/Classes/Responsive.d.ts +2 -0
  593. package/esm/Options/Classes/Responsive.js +10 -0
  594. package/esm/Options/Interfaces/IResponsive.d.ts +2 -0
  595. package/esm/Plugins/Absorbers/plugin.d.ts +1 -1
  596. package/esm/Plugins/Absorbers/plugin.js +2 -2
  597. package/esm/Plugins/Emitters/plugin.d.ts +1 -1
  598. package/esm/Plugins/Emitters/plugin.js +2 -2
  599. package/esm/Plugins/PolygonMask/plugin.js +1 -1
  600. package/esm/Shapes/Circle/index.d.ts +1 -1
  601. package/esm/Shapes/Circle/index.js +2 -2
  602. package/esm/Shapes/Image/index.d.ts +1 -1
  603. package/esm/Shapes/Image/index.js +3 -3
  604. package/esm/Shapes/Line/index.d.ts +1 -1
  605. package/esm/Shapes/Line/index.js +2 -2
  606. package/esm/Shapes/Polygon/index.d.ts +3 -3
  607. package/esm/Shapes/Polygon/index.js +7 -7
  608. package/esm/Shapes/Square/index.d.ts +1 -1
  609. package/esm/Shapes/Square/index.js +3 -3
  610. package/esm/Shapes/Star/index.d.ts +1 -1
  611. package/esm/Shapes/Star/index.js +2 -2
  612. package/esm/Shapes/Text/index.d.ts +1 -1
  613. package/esm/Shapes/Text/index.js +2 -2
  614. package/esm/Updaters/Angle/index.d.ts +1 -1
  615. package/esm/Updaters/Angle/index.js +2 -2
  616. package/esm/Updaters/Color/index.d.ts +1 -1
  617. package/esm/Updaters/Color/index.js +2 -2
  618. package/esm/Updaters/Life/index.d.ts +1 -1
  619. package/esm/Updaters/Life/index.js +2 -2
  620. package/esm/Updaters/Opacity/index.d.ts +1 -1
  621. package/esm/Updaters/Opacity/index.js +2 -2
  622. package/esm/Updaters/OutModes/index.d.ts +1 -1
  623. package/esm/Updaters/OutModes/index.js +2 -2
  624. package/esm/Updaters/Roll/index.d.ts +1 -1
  625. package/esm/Updaters/Roll/index.js +2 -2
  626. package/esm/Updaters/Size/index.d.ts +1 -1
  627. package/esm/Updaters/Size/index.js +2 -2
  628. package/esm/Updaters/StrokeColor/index.d.ts +1 -1
  629. package/esm/Updaters/StrokeColor/index.js +2 -2
  630. package/esm/Updaters/Tilt/index.d.ts +1 -1
  631. package/esm/Updaters/Tilt/index.js +2 -2
  632. package/esm/Updaters/Wobble/index.d.ts +1 -1
  633. package/esm/Updaters/Wobble/index.js +2 -2
  634. package/esm/Utils/Utils.d.ts +1 -2
  635. package/esm/full.d.ts +1 -1
  636. package/esm/full.js +14 -6
  637. package/esm/index.d.ts +1 -2
  638. package/esm/index.js +2 -2
  639. package/esm/index.slim.d.ts +1 -2
  640. package/esm/index.slim.js +2 -2
  641. package/esm/main.d.ts +11 -10
  642. package/esm/main.js +18 -7
  643. package/esm/slim.d.ts +1 -1
  644. package/esm/slim.js +39 -47
  645. package/full.d.ts +1 -1
  646. package/full.js +14 -6
  647. package/index.d.ts +1 -2
  648. package/index.js +2 -3
  649. package/index.slim.d.ts +1 -2
  650. package/index.slim.js +2 -3
  651. package/main.d.ts +11 -10
  652. package/main.js +18 -7
  653. package/package.json +1 -1
  654. package/report.html +2 -2
  655. package/report.slim.html +2 -2
  656. package/slim.d.ts +1 -1
  657. package/slim.js +39 -47
  658. package/tsparticles.js +10262 -13560
  659. package/tsparticles.min.js +2 -2
  660. package/tsparticles.pathseg.js +1472 -0
  661. package/tsparticles.slim.js +8305 -11259
  662. package/tsparticles.slim.min.js +2 -2
  663. package/167.js +0 -1779
@@ -7,3 +7,4 @@ export * from "./OutMode";
7
7
  export * from "./RollMode";
8
8
  export * from "./SizeMode";
9
9
  export * from "./ThemeMode";
10
+ export * from "./ResponsiveMode";
@@ -7,3 +7,4 @@ export * from "./OutMode";
7
7
  export * from "./RollMode";
8
8
  export * from "./SizeMode";
9
9
  export * from "./ThemeMode";
10
+ export * from "./ResponsiveMode";
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @category Enums
3
+ */
1
4
  export declare enum DestroyType {
2
5
  none = "none",
3
6
  max = "max",
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @category Enums
3
+ */
1
4
  export var DestroyType;
2
5
  (function (DestroyType) {
3
6
  DestroyType["none"] = "none";
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @category Enums
3
+ */
1
4
  export declare enum DivType {
2
5
  circle = "circle",
3
6
  rectangle = "rectangle"
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @category Enums
3
+ */
1
4
  export var DivType;
2
5
  (function (DivType) {
3
6
  DivType["circle"] = "circle";
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @category Enums
3
+ */
1
4
  export declare enum OrbitType {
2
5
  front = "front",
3
6
  back = "back"
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @category Enums
3
+ */
1
4
  export var OrbitType;
2
5
  (function (OrbitType) {
3
6
  OrbitType["front"] = "front";
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @category Enums
3
+ */
1
4
  export declare enum ShapeType {
2
5
  char = "char",
3
6
  character = "character",
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @category Enums
3
+ */
1
4
  export var ShapeType;
2
5
  (function (ShapeType) {
3
6
  ShapeType["char"] = "char";
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @category Enums
3
+ */
1
4
  export declare enum StartValueType {
2
5
  max = "max",
3
6
  min = "min",
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @category Enums
3
+ */
1
4
  export var StartValueType;
2
5
  (function (StartValueType) {
3
6
  StartValueType["max"] = "max";
@@ -1,5 +1,9 @@
1
1
  import type { Container } from "../../../Core/Container";
2
2
  import { ExternalInteractorBase } from "../../../Core/ExternalInteractorBase";
3
+ /**
4
+ * Particle attract manager
5
+ * @category Interactions
6
+ */
3
7
  export declare class Attractor extends ExternalInteractorBase {
4
8
  constructor(container: Container);
5
9
  isEnabled(): boolean;
@@ -2,6 +2,10 @@ import { ClickMode, HoverMode } from "../../../Enums";
2
2
  import { Circle, Constants, getDistances, calcEasing, clamp, isInArray } from "../../../Utils";
3
3
  import { ExternalInteractorBase } from "../../../Core/ExternalInteractorBase";
4
4
  import { Vector } from "../../../Core/Particle/Vector";
5
+ /**
6
+ * Particle attract manager
7
+ * @category Interactions
8
+ */
5
9
  export class Attractor extends ExternalInteractorBase {
6
10
  constructor(container) {
7
11
  super(container);
@@ -15,6 +19,7 @@ export class Attractor extends ExternalInteractorBase {
15
19
  return isInArray(HoverMode.attract, hoverMode) || isInArray(ClickMode.attract, clickMode);
16
20
  }
17
21
  reset() {
22
+ // do nothing
18
23
  }
19
24
  interact() {
20
25
  const container = this.container, options = container.actualOptions, mouseMoveStatus = container.interactivity.status === Constants.mouseMoveEvent, events = options.interactivity.events, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, clickEnabled = events.onClick.enable, clickMode = events.onClick.mode;
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../../main";
2
- export declare function loadExternalAttractInteraction(tsParticles: Main): void;
2
+ export declare function loadExternalAttractInteraction(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { Attractor } from "./Attractor";
2
- export function loadExternalAttractInteraction(tsParticles) {
3
- tsParticles.addInteractor("externalAttract", (container) => new Attractor(container));
2
+ export async function loadExternalAttractInteraction(tsParticles) {
3
+ await tsParticles.addInteractor("externalAttract", (container) => new Attractor(container));
4
4
  }
@@ -21,6 +21,7 @@ export class Bouncer extends ExternalInteractorBase {
21
21
  }
22
22
  }
23
23
  reset() {
24
+ // do nothing
24
25
  }
25
26
  processMouseBounce() {
26
27
  const container = this.container, pxRatio = container.retina.pixelRatio, tolerance = 10 * pxRatio, mousePos = container.interactivity.mouse.position, radius = container.retina.bounceModeDistance;
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../../main";
2
- export declare function loadExternalBounceInteraction(tsParticles: Main): void;
2
+ export declare function loadExternalBounceInteraction(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { Bouncer } from "./Bouncer";
2
- export function loadExternalBounceInteraction(tsParticles) {
3
- tsParticles.addInteractor("externalBounce", (container) => new Bouncer(container));
2
+ export async function loadExternalBounceInteraction(tsParticles) {
3
+ await tsParticles.addInteractor("externalBounce", (container) => new Bouncer(container));
4
4
  }
@@ -1,6 +1,10 @@
1
1
  import type { Container } from "../../../Core/Container";
2
2
  import { Particle } from "../../../Core/Particle";
3
3
  import { ExternalInteractorBase } from "../../../Core/ExternalInteractorBase";
4
+ /**
5
+ * Particle bubble manager
6
+ * @category Interactions
7
+ */
4
8
  export declare class Bubbler extends ExternalInteractorBase {
5
9
  constructor(container: Container);
6
10
  isEnabled(): boolean;
@@ -12,6 +12,10 @@ function calculateBubbleValue(particleValue, modeValue, optionsValue, ratio) {
12
12
  return clamp(value, modeValue, particleValue);
13
13
  }
14
14
  }
15
+ /**
16
+ * Particle bubble manager
17
+ * @category Interactions
18
+ */
15
19
  export class Bubbler extends ExternalInteractorBase {
16
20
  constructor(container) {
17
21
  super(container);
@@ -36,6 +40,7 @@ export class Bubbler extends ExternalInteractorBase {
36
40
  }
37
41
  interact() {
38
42
  const options = this.container.actualOptions, events = options.interactivity.events, onHover = events.onHover, onClick = events.onClick, hoverEnabled = onHover.enable, hoverMode = onHover.mode, clickEnabled = onClick.enable, clickMode = onClick.mode, divs = events.onDiv;
43
+ /* on hover event */
39
44
  if (hoverEnabled && isInArray(HoverMode.bubble, hoverMode)) {
40
45
  this.hoverBubble();
41
46
  }
@@ -69,8 +74,11 @@ export class Bubbler extends ExternalInteractorBase {
69
74
  this.reset(particle, true);
70
75
  particle.bubble.div = elem;
71
76
  }
77
+ /* size */
72
78
  this.hoverBubbleSize(particle, 1, divBubble);
79
+ /* opacity */
73
80
  this.hoverBubbleOpacity(particle, 1, divBubble);
81
+ /* color */
74
82
  this.hoverBubbleColor(particle, 1, divBubble);
75
83
  }
76
84
  });
@@ -178,19 +186,25 @@ export class Bubbler extends ExternalInteractorBase {
178
186
  return;
179
187
  }
180
188
  const distance = container.retina.bubbleModeDistance, query = container.particles.quadTree.queryCircle(mousePos, distance);
189
+ //for (const { distance, particle } of query) {
181
190
  for (const particle of query) {
182
191
  particle.bubble.inRange = true;
183
192
  const pos = particle.getPosition(), pointDistance = getDistance(pos, mousePos), ratio = 1 - pointDistance / distance;
193
+ /* mousemove - check ratio */
184
194
  if (pointDistance <= distance) {
185
195
  if (ratio >= 0 && container.interactivity.status === Constants.mouseMoveEvent) {
196
+ /* size */
186
197
  this.hoverBubbleSize(particle, ratio);
198
+ /* opacity */
187
199
  this.hoverBubbleOpacity(particle, ratio);
200
+ /* color */
188
201
  this.hoverBubbleColor(particle, ratio);
189
202
  }
190
203
  }
191
204
  else {
192
205
  this.reset(particle);
193
206
  }
207
+ /* mouseleave */
194
208
  if (container.interactivity.status === Constants.mouseLeaveEvent) {
195
209
  this.reset(particle);
196
210
  }
@@ -1,9 +1,15 @@
1
1
  import type { ProcessBubbleType } from "./ProcessBubbleType";
2
+ /**
3
+ * @category Interfaces
4
+ */
2
5
  export interface IBubblerProcessParam {
3
6
  bubbleObj: IBubblerProcessParamObj;
4
7
  particlesObj: IBubblerProcessParamObj;
5
8
  type: ProcessBubbleType;
6
9
  }
10
+ /**
11
+ * @category Interfaces
12
+ */
7
13
  export interface IBubblerProcessParamObj {
8
14
  optValue?: number;
9
15
  value?: number;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @category Enums
3
+ */
1
4
  export declare enum ProcessBubbleType {
2
5
  color = "color",
3
6
  opacity = "opacity",
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @category Enums
3
+ */
1
4
  export var ProcessBubbleType;
2
5
  (function (ProcessBubbleType) {
3
6
  ProcessBubbleType["color"] = "color";
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../../main";
2
- export declare function loadExternalBubbleInteraction(tsParticles: Main): void;
2
+ export declare function loadExternalBubbleInteraction(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { Bubbler } from "./Bubbler";
2
- export function loadExternalBubbleInteraction(tsParticles) {
3
- tsParticles.addInteractor("externalBubble", (container) => new Bubbler(container));
2
+ export async function loadExternalBubbleInteraction(tsParticles) {
3
+ await tsParticles.addInteractor("externalBubble", (container) => new Bubbler(container));
4
4
  }
@@ -1,8 +1,15 @@
1
1
  import type { Container } from "../../../Core/Container";
2
2
  import { ExternalInteractorBase } from "../../../Core/ExternalInteractorBase";
3
+ /**
4
+ * Particle connection manager
5
+ * @category Interactions
6
+ */
3
7
  export declare class Connector extends ExternalInteractorBase {
4
8
  constructor(container: Container);
5
9
  isEnabled(): boolean;
6
10
  reset(): void;
11
+ /**
12
+ * Connecting particles on hover interactivity
13
+ */
7
14
  interact(): void;
8
15
  }
@@ -1,6 +1,10 @@
1
1
  import { isInArray } from "../../../Utils";
2
2
  import { HoverMode } from "../../../Enums";
3
3
  import { ExternalInteractorBase } from "../../../Core/ExternalInteractorBase";
4
+ /**
5
+ * Particle connection manager
6
+ * @category Interactions
7
+ */
4
8
  export class Connector extends ExternalInteractorBase {
5
9
  constructor(container) {
6
10
  super(container);
@@ -13,7 +17,11 @@ export class Connector extends ExternalInteractorBase {
13
17
  return isInArray(HoverMode.connect, events.onHover.mode);
14
18
  }
15
19
  reset() {
20
+ // do nothing
16
21
  }
22
+ /**
23
+ * Connecting particles on hover interactivity
24
+ */
17
25
  interact() {
18
26
  const container = this.container, options = container.actualOptions;
19
27
  if (options.interactivity.events.onHover.enable && container.interactivity.status === "mousemove") {
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../../main";
2
- export declare function loadExternalConnectInteraction(tsParticles: Main): void;
2
+ export declare function loadExternalConnectInteraction(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { Connector } from "./Connector";
2
- export function loadExternalConnectInteraction(tsParticles) {
3
- tsParticles.addInteractor("externalConnect", (container) => new Connector(container));
2
+ export async function loadExternalConnectInteraction(tsParticles) {
3
+ await tsParticles.addInteractor("externalConnect", (container) => new Connector(container));
4
4
  }
@@ -1,5 +1,9 @@
1
1
  import type { Container } from "../../../Core/Container";
2
2
  import { ExternalInteractorBase } from "../../../Core/ExternalInteractorBase";
3
+ /**
4
+ * Particle grab manager
5
+ * @category Interactions
6
+ */
3
7
  export declare class Grabber extends ExternalInteractorBase {
4
8
  constructor(container: Container);
5
9
  isEnabled(): boolean;
@@ -1,6 +1,10 @@
1
1
  import { Constants, getLinkRandomColor, getLinkColor, getDistance, isInArray } from "../../../Utils";
2
2
  import { HoverMode } from "../../../Enums";
3
3
  import { ExternalInteractorBase } from "../../../Core/ExternalInteractorBase";
4
+ /**
5
+ * Particle grab manager
6
+ * @category Interactions
7
+ */
4
8
  export class Grabber extends ExternalInteractorBase {
5
9
  constructor(container) {
6
10
  super(container);
@@ -10,6 +14,7 @@ export class Grabber extends ExternalInteractorBase {
10
14
  return events.onHover.enable && !!mouse.position && isInArray(HoverMode.grab, events.onHover.mode);
11
15
  }
12
16
  reset() {
17
+ // do nothing
13
18
  }
14
19
  interact() {
15
20
  var _a;
@@ -21,6 +26,10 @@ export class Grabber extends ExternalInteractorBase {
21
26
  }
22
27
  const distance = container.retina.grabModeDistance, query = container.particles.quadTree.queryCircle(mousePos, distance);
23
28
  for (const particle of query) {
29
+ /*
30
+ draw a line between the cursor and the particle
31
+ if the distance between them is under the config distance
32
+ */
24
33
  const pos = particle.getPosition(), pointDistance = getDistance(pos, mousePos);
25
34
  if (pointDistance <= distance) {
26
35
  const grabLineOptions = interactivity.modes.grab.links, lineOpacity = grabLineOptions.opacity, opacityLine = lineOpacity - (pointDistance * lineOpacity) / distance;
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../../main";
2
- export declare function loadExternalGrabInteraction(tsParticles: Main): void;
2
+ export declare function loadExternalGrabInteraction(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { Grabber } from "./Grabber";
2
- export function loadExternalGrabInteraction(tsParticles) {
3
- tsParticles.addInteractor("externalGrab", (container) => new Grabber(container));
2
+ export async function loadExternalGrabInteraction(tsParticles) {
3
+ await tsParticles.addInteractor("externalGrab", (container) => new Grabber(container));
4
4
  }
@@ -1,5 +1,9 @@
1
1
  import type { Container } from "../../../Core/Container";
2
2
  import { ExternalInteractorBase } from "../../../Core/ExternalInteractorBase";
3
+ /**
4
+ * Particle repulse manager
5
+ * @category Interactions
6
+ */
3
7
  export declare class Repulser extends ExternalInteractorBase {
4
8
  constructor(container: Container);
5
9
  isEnabled(): boolean;
@@ -2,6 +2,10 @@ import { ClickMode, DivMode, DivType, HoverMode } from "../../../Enums";
2
2
  import { calcEasing, Circle, clamp, Constants, divMode, divModeExecute, getDistances, isDivModeEnabled, isInArray, Rectangle, } from "../../../Utils";
3
3
  import { Vector } from "../../../Core/Particle/Vector";
4
4
  import { ExternalInteractorBase } from "../../../Core/ExternalInteractorBase";
5
+ /**
6
+ * Particle repulse manager
7
+ * @category Interactions
8
+ */
5
9
  export class Repulser extends ExternalInteractorBase {
6
10
  constructor(container) {
7
11
  super(container);
@@ -15,6 +19,7 @@ export class Repulser extends ExternalInteractorBase {
15
19
  return isInArray(HoverMode.repulse, hoverMode) || isInArray(ClickMode.repulse, clickMode) || divRepulse;
16
20
  }
17
21
  reset() {
22
+ // do nothing
18
23
  }
19
24
  interact() {
20
25
  const container = this.container, options = container.actualOptions, mouseMoveStatus = container.interactivity.status === Constants.mouseMoveEvent, events = options.interactivity.events, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, clickEnabled = events.onClick.enable, clickMode = events.onClick.mode, divs = events.onDiv;
@@ -94,3 +99,160 @@ export class Repulser extends ExternalInteractorBase {
94
99
  }
95
100
  }
96
101
  }
102
+ /* Ready for a future release, breaking change. It's behavior seems more correct than the current.
103
+ export class Repulser implements IExternalInteractor {
104
+ constructor(private readonly container: Container) {}
105
+
106
+ public isEnabled(): boolean {
107
+ const container = this.container;
108
+ const options = container.options;
109
+
110
+ const mouse = container.interactivity.mouse;
111
+ const events = options.interactivity.events;
112
+ const divs = events.onDiv;
113
+
114
+ const divRepulse = isDivModeEnabled(DivMode.repulse, divs);
115
+
116
+ if (
117
+ !(divRepulse || (events.onHover.enable && mouse.position) || (events.onClick.enable && mouse.clickPosition))
118
+ ) {
119
+ return false;
120
+ }
121
+
122
+ const hoverMode = events.onHover.mode;
123
+ const clickMode = events.onClick.mode;
124
+
125
+ return (
126
+ isInArray(HoverMode.repulse, hoverMode) || isInArray(ClickMode.repulse, clickMode) || divRepulse
127
+ );
128
+ }
129
+
130
+ public reset(): void {
131
+ // do nothing
132
+ }
133
+
134
+ public interact(): void {
135
+ const container = this.container;
136
+ const options = container.options;
137
+ const mouseMoveStatus = container.interactivity.status === Constants.mouseMoveEvent;
138
+ const events = options.interactivity.events;
139
+ const hoverEnabled = events.onHover.enable;
140
+ const hoverMode = events.onHover.mode;
141
+ const clickEnabled = events.onClick.enable;
142
+ const clickMode = events.onClick.mode;
143
+ const divs = events.onDiv;
144
+
145
+ if (mouseMoveStatus && hoverEnabled && isInArray(HoverMode.repulse, hoverMode)) {
146
+ this.hoverRepulse();
147
+ } else if (clickEnabled && isInArray(ClickMode.repulse, clickMode)) {
148
+ this.clickRepulse();
149
+ } else {
150
+ divModeExecute(DivMode.repulse, divs, (selector, div): void => this.singleDivRepulse(selector, div));
151
+ }
152
+ }
153
+
154
+ private singleDivRepulse(selector: string, div: DivEvent): void {
155
+ const container = this.container;
156
+ const query = document.querySelectorAll(selector);
157
+
158
+ if (!query.length) {
159
+ return;
160
+ }
161
+
162
+ query.forEach(item => {
163
+ const elem = item as HTMLElement;
164
+ const pxRatio = container.retina.pixelRatio;
165
+ const pos = {
166
+ x: (elem.offsetLeft + elem.offsetWidth / 2) * pxRatio,
167
+ y: (elem.offsetTop + elem.offsetHeight / 2) * pxRatio,
168
+ };
169
+ const repulseRadius = (elem.offsetWidth / 2) * pxRatio;
170
+
171
+ const area =
172
+ div.type === DivType.circle
173
+ ? new Circle(pos.x, pos.y, repulseRadius)
174
+ : new Rectangle(
175
+ elem.offsetLeft * pxRatio,
176
+ elem.offsetTop * pxRatio,
177
+ elem.offsetWidth * pxRatio,
178
+ elem.offsetHeight * pxRatio
179
+ );
180
+
181
+ const divs = container.options.interactivity.modes.repulse.divs;
182
+ const divRepulse = divMode(divs, selector);
183
+ const velocity = (divRepulse?.speed ?? container.options.interactivity.modes.repulse.speed) * 100;
184
+
185
+ this.processRepulse(pos, repulseRadius, velocity, area, divRepulse);
186
+ });
187
+ }
188
+
189
+ private hoverRepulse(): void {
190
+ const container = this.container;
191
+ const mousePos = container.interactivity.mouse.position;
192
+
193
+ if (!mousePos) {
194
+ return;
195
+ }
196
+
197
+ const repulseRadius = container.retina.repulseModeDistance;
198
+ const velocity = container.options.interactivity.modes.repulse.speed * 100;
199
+
200
+ this.processRepulse(mousePos, repulseRadius, velocity, new Circle(mousePos.x, mousePos.y, repulseRadius));
201
+ }
202
+
203
+ private clickRepulse(): void {
204
+ const container = this.container;
205
+
206
+ if (!container.repulse.finish) {
207
+ if (!container.repulse.count) {
208
+ container.repulse.count = 0;
209
+ }
210
+
211
+ container.repulse.count++;
212
+
213
+ if (container.repulse.count === container.particles.count) {
214
+ container.repulse.finish = true;
215
+ }
216
+ }
217
+
218
+ if (container.repulse.clicking) {
219
+ const mousePos = container.interactivity.mouse.clickPosition;
220
+
221
+ if (!mousePos) {
222
+ return;
223
+ }
224
+
225
+ const repulseRadius = container.retina.repulseModeDistance;
226
+ const velocity = container.options.interactivity.modes.repulse.speed * 10;
227
+
228
+ this.processRepulse(mousePos, repulseRadius, velocity, new Circle(mousePos.x, mousePos.y, repulseRadius));
229
+ } else if (container.repulse.clicking === false) {
230
+ container.repulse.particles = [];
231
+ }
232
+ }
233
+
234
+ private processRepulse(
235
+ position: ICoordinates,
236
+ repulseRadius: number,
237
+ velocity: number,
238
+ area: Range,
239
+ divRepulse?: RepulseDiv
240
+ ): void {
241
+ const container = this.container;
242
+ const query = container.particles.quadTree.query(area);
243
+
244
+ for (const particle of query) {
245
+ const { dx, dy, distance } = getDistances(particle.position, position);
246
+ const normVec = {
247
+ x: dx / distance,
248
+ y: dy / distance,
249
+ };
250
+
251
+ const repulseFactor = clamp((1 - Math.pow(distance / repulseRadius, 2)) * velocity, 0, 50);
252
+
253
+ particle.position.x += normVec.x * repulseFactor;
254
+ particle.position.y += normVec.y * repulseFactor;
255
+ }
256
+ }
257
+ }
258
+ */
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../../main";
2
- export declare function loadExternalRepulseInteraction(tsParticles: Main): void;
2
+ export declare function loadExternalRepulseInteraction(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { Repulser } from "./Repulser";
2
- export function loadExternalRepulseInteraction(tsParticles) {
3
- tsParticles.addInteractor("externalRepulse", (container) => new Repulser(container));
2
+ export async function loadExternalRepulseInteraction(tsParticles) {
3
+ await tsParticles.addInteractor("externalRepulse", (container) => new Repulser(container));
4
4
  }
@@ -1,6 +1,9 @@
1
1
  import type { Container } from "../../../Core/Container";
2
2
  import type { IDelta } from "../../../Core/Interfaces";
3
3
  import { ExternalInteractorBase } from "../../../Core/ExternalInteractorBase";
4
+ /**
5
+ * @category Interactions
6
+ */
4
7
  export declare class TrailMaker extends ExternalInteractorBase {
5
8
  private delay;
6
9
  private lastPosition?;
@@ -1,6 +1,9 @@
1
1
  import { isInArray } from "../../../Utils";
2
2
  import { ClickMode, HoverMode } from "../../../Enums";
3
3
  import { ExternalInteractorBase } from "../../../Core/ExternalInteractorBase";
4
+ /**
5
+ * @category Interactions
6
+ */
4
7
  export class TrailMaker extends ExternalInteractorBase {
5
8
  constructor(container) {
6
9
  super(container);
@@ -46,5 +49,6 @@ export class TrailMaker extends ExternalInteractorBase {
46
49
  (mouse.inside && !!mouse.position && isInArray(HoverMode.trail, events.onHover.mode)));
47
50
  }
48
51
  reset() {
52
+ // nothing to do
49
53
  }
50
54
  }
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../../main";
2
- export declare function loadExternalTrailInteraction(tsParticles: Main): void;
2
+ export declare function loadExternalTrailInteraction(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { TrailMaker } from "./TrailMaker";
2
- export function loadExternalTrailInteraction(tsParticles) {
3
- tsParticles.addInteractor("externalTrail", (container) => new TrailMaker(container));
2
+ export async function loadExternalTrailInteraction(tsParticles) {
3
+ await tsParticles.addInteractor("externalTrail", (container) => new TrailMaker(container));
4
4
  }
@@ -2,6 +2,9 @@ import type { IParticle } from "../../../Core/Interfaces";
2
2
  import type { Container } from "../../../Core/Container";
3
3
  import { Particle } from "../../../Core/Particle";
4
4
  import { ParticlesInteractorBase } from "../../../Core/ParticlesInteractorBase";
5
+ /**
6
+ * @category Interactions
7
+ */
5
8
  export declare class Attractor extends ParticlesInteractorBase {
6
9
  constructor(container: Container);
7
10
  interact(p1: IParticle): void;