tsparticles 1.37.4 → 1.39.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 (1015) hide show
  1. package/Core/Canvas.d.ts +2 -2
  2. package/Core/Canvas.js +44 -34
  3. package/Core/Container.d.ts +2 -3
  4. package/Core/Container.js +7 -8
  5. package/Core/Interfaces/ICircleBouncer.d.ts +1 -1
  6. package/Core/Interfaces/IMovePathGenerator.d.ts +1 -1
  7. package/Core/Interfaces/IParticle.d.ts +1 -1
  8. package/Core/Interfaces/index.d.ts +3 -1
  9. package/Core/Interfaces/index.js +3 -1
  10. package/Core/Loader.js +5 -9
  11. package/Core/Particle.d.ts +2 -5
  12. package/Core/Particle.js +16 -18
  13. package/Core/Particles.d.ts +1 -1
  14. package/Core/Particles.js +13 -19
  15. package/{Utils → Core/Utils}/Circle.d.ts +1 -1
  16. package/{Utils → Core/Utils}/Circle.js +2 -2
  17. package/{esm → Core}/Utils/CircleWarp.d.ts +1 -2
  18. package/{Utils → Core/Utils}/CircleWarp.js +0 -0
  19. package/{Utils → Core/Utils}/Constants.d.ts +1 -1
  20. package/{Utils → Core/Utils}/Constants.js +1 -1
  21. package/{Utils → Core/Utils}/EventListeners.d.ts +1 -1
  22. package/{Utils → Core/Utils}/EventListeners.js +11 -12
  23. package/Core/{ExternalInteractorBase.d.ts → Utils/ExternalInteractorBase.d.ts} +4 -4
  24. package/Core/{ExternalInteractorBase.js → Utils/ExternalInteractorBase.js} +1 -2
  25. package/{esm/Core → Core/Utils}/FrameManager.d.ts +1 -1
  26. package/Core/{FrameManager.js → Utils/FrameManager.js} +0 -0
  27. package/{esm/Core → Core/Utils}/InteractionManager.d.ts +3 -3
  28. package/Core/{InteractionManager.js → Utils/InteractionManager.js} +2 -3
  29. package/{esm/Core → Core/Utils}/ParticlesInteractorBase.d.ts +4 -4
  30. package/Core/{ParticlesInteractorBase.js → Utils/ParticlesInteractorBase.js} +1 -2
  31. package/{esm/Core/Particle/Mover.d.ts → Core/Utils/ParticlesMover.d.ts} +1 -1
  32. package/Core/{Particle/Mover.js → Utils/ParticlesMover.js} +6 -7
  33. package/{esm → Core}/Utils/Plugins.d.ts +5 -5
  34. package/{Utils → Core/Utils}/Plugins.js +0 -0
  35. package/{Utils → Core/Utils}/Point.d.ts +2 -2
  36. package/{Utils → Core/Utils}/Point.js +0 -0
  37. package/{Utils → Core/Utils}/QuadTree.d.ts +3 -3
  38. package/{Utils → Core/Utils}/QuadTree.js +2 -2
  39. package/{esm → Core}/Utils/Range.d.ts +1 -1
  40. package/{Utils → Core/Utils}/Range.js +0 -0
  41. package/{esm → Core}/Utils/Rectangle.d.ts +1 -2
  42. package/{Utils → Core/Utils}/Rectangle.js +0 -0
  43. package/Core/{Particle → Utils}/Vector.d.ts +0 -0
  44. package/Core/{Particle → Utils}/Vector.js +0 -0
  45. package/Core/{Particle → Utils}/Vector3d.d.ts +0 -0
  46. package/Core/{Particle → Utils}/Vector3d.js +0 -0
  47. package/Core/Utils/index.d.ts +16 -0
  48. package/Core/Utils/index.js +28 -0
  49. package/Core/index.d.ts +8 -0
  50. package/Core/index.js +20 -0
  51. package/Enums/AnimationStatus.d.ts +1 -1
  52. package/Enums/AnimationStatus.js +0 -6
  53. package/Enums/Directions/MoveDirection.d.ts +1 -1
  54. package/Enums/Directions/MoveDirection.js +0 -13
  55. package/Enums/Directions/OutModeDirection.d.ts +1 -1
  56. package/Enums/Directions/OutModeDirection.js +0 -8
  57. package/Enums/Directions/RotateDirection.d.ts +1 -1
  58. package/Enums/Directions/RotateDirection.js +0 -7
  59. package/Enums/Directions/TiltDirection.d.ts +1 -1
  60. package/Enums/Directions/TiltDirection.js +0 -7
  61. package/Enums/InteractivityDetect.d.ts +1 -1
  62. package/Enums/InteractivityDetect.js +0 -7
  63. package/Enums/Modes/ClickMode.d.ts +1 -1
  64. package/Enums/Modes/ClickMode.js +0 -11
  65. package/Enums/Modes/CollisionMode.d.ts +1 -1
  66. package/Enums/Modes/CollisionMode.js +0 -7
  67. package/Enums/Modes/DestroyMode.d.ts +1 -1
  68. package/Enums/Modes/DestroyMode.js +0 -6
  69. package/Enums/Modes/DivMode.d.ts +1 -1
  70. package/Enums/Modes/DivMode.js +0 -7
  71. package/Enums/Modes/HoverMode.d.ts +1 -1
  72. package/Enums/Modes/HoverMode.js +0 -13
  73. package/Enums/Modes/OutMode.d.ts +1 -1
  74. package/Enums/Modes/OutMode.js +0 -11
  75. package/Enums/Modes/ResponsiveMode.d.ts +1 -1
  76. package/Enums/Modes/ResponsiveMode.js +0 -6
  77. package/Enums/Modes/RollMode.d.ts +1 -1
  78. package/Enums/Modes/RollMode.js +0 -7
  79. package/Enums/Modes/SizeMode.d.ts +1 -1
  80. package/Enums/Modes/SizeMode.js +0 -6
  81. package/Enums/Modes/ThemeMode.d.ts +1 -1
  82. package/Enums/Modes/ThemeMode.js +0 -7
  83. package/Enums/Types/AlterType.d.ts +1 -1
  84. package/Enums/Types/AlterType.js +0 -6
  85. package/Enums/Types/DestroyType.d.ts +1 -1
  86. package/Enums/Types/DestroyType.js +0 -7
  87. package/Enums/Types/DivType.d.ts +1 -1
  88. package/Enums/Types/DivType.js +0 -6
  89. package/Enums/Types/EasingType.d.ts +1 -1
  90. package/Enums/Types/EasingType.js +0 -12
  91. package/Enums/Types/GradientType.d.ts +1 -1
  92. package/Enums/Types/GradientType.js +0 -7
  93. package/Enums/Types/InteractorType.d.ts +1 -1
  94. package/Enums/Types/InteractorType.js +0 -6
  95. package/Enums/Types/OrbitType.d.ts +1 -1
  96. package/Enums/Types/OrbitType.js +0 -6
  97. package/Enums/Types/ShapeType.d.ts +1 -1
  98. package/Enums/Types/ShapeType.js +0 -15
  99. package/Enums/Types/StartValueType.d.ts +1 -1
  100. package/Enums/Types/StartValueType.js +0 -7
  101. package/Interactions/External/Attract/Attractor.d.ts +2 -2
  102. package/Interactions/External/Attract/Attractor.js +9 -11
  103. package/Interactions/External/Attract/index.d.ts +2 -2
  104. package/Interactions/External/Bounce/Bouncer.d.ts +2 -2
  105. package/Interactions/External/Bounce/Bouncer.js +15 -17
  106. package/Interactions/External/Bounce/index.d.ts +2 -2
  107. package/Interactions/External/Bubble/Bubbler.d.ts +3 -3
  108. package/Interactions/External/Bubble/Bubbler.js +20 -22
  109. package/Interactions/External/Bubble/ProcessBubbleType.d.ts +1 -1
  110. package/Interactions/External/Bubble/ProcessBubbleType.js +0 -7
  111. package/Interactions/External/Bubble/index.d.ts +2 -2
  112. package/Interactions/External/Connect/Connector.d.ts +2 -2
  113. package/Interactions/External/Connect/Connector.js +3 -4
  114. package/Interactions/External/Connect/index.d.ts +2 -2
  115. package/Interactions/External/Grab/Grabber.d.ts +2 -2
  116. package/Interactions/External/Grab/Grabber.js +4 -5
  117. package/Interactions/External/Grab/index.d.ts +2 -2
  118. package/Interactions/External/Repulse/Repulser.d.ts +2 -2
  119. package/Interactions/External/Repulse/Repulser.js +15 -17
  120. package/Interactions/External/Repulse/index.d.ts +2 -2
  121. package/Interactions/External/Trail/TrailMaker.d.ts +2 -3
  122. package/Interactions/External/Trail/TrailMaker.js +4 -5
  123. package/Interactions/External/Trail/index.d.ts +2 -2
  124. package/Interactions/Particles/Attract/Attractor.d.ts +2 -4
  125. package/Interactions/Particles/Attract/Attractor.js +2 -2
  126. package/Interactions/Particles/Attract/index.d.ts +2 -2
  127. package/Interactions/Particles/Collisions/Collider.d.ts +2 -3
  128. package/Interactions/Particles/Collisions/Collider.js +5 -6
  129. package/Interactions/Particles/Collisions/index.d.ts +2 -2
  130. package/Interactions/Particles/Links/LinkInstance.d.ts +1 -3
  131. package/Interactions/Particles/Links/LinkParticle.d.ts +1 -1
  132. package/Interactions/Particles/Links/Linker.d.ts +3 -4
  133. package/Interactions/Particles/Links/Linker.js +4 -4
  134. package/Interactions/Particles/Links/index.d.ts +2 -3
  135. package/Interactions/Particles/Links/index.js +3 -7
  136. package/Interactions/Particles/Links/interaction.d.ts +2 -0
  137. package/Interactions/Particles/Links/interaction.js +8 -0
  138. package/Interactions/Particles/Links/plugin.d.ts +2 -2
  139. package/Interactions/Particles/Links/plugin.js +2 -2
  140. package/Options/Classes/AnimatableGradient.js +3 -4
  141. package/Options/Classes/Interactivity/Events/DivEvent.js +1 -2
  142. package/Options/Classes/Interactivity/Interactivity.js +5 -6
  143. package/Options/Classes/Interactivity/Modes/Attract.js +1 -2
  144. package/Options/Classes/Interactivity/Modes/RepulseBase.js +1 -2
  145. package/Options/Classes/Options.d.ts +1 -0
  146. package/Options/Classes/Options.js +10 -8
  147. package/Options/Classes/Particles/Collisions/Collisions.js +1 -2
  148. package/Options/Classes/Particles/Destroy/Destroy.js +1 -2
  149. package/Options/Classes/Particles/Move/Move.js +1 -2
  150. package/Options/Classes/Particles/Move/OutModes.js +1 -2
  151. package/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -3
  152. package/Options/Classes/Particles/Roll/Roll.js +1 -2
  153. package/Options/Classes/Particles/Rotate/Rotate.js +1 -2
  154. package/Options/Classes/Particles/Shape/Shape.js +13 -14
  155. package/Options/Classes/Particles/Size/SizeAnimation.js +2 -3
  156. package/Options/Classes/Particles/Tilt/Tilt.js +1 -2
  157. package/Options/Classes/Responsive.js +4 -5
  158. package/Options/Classes/Theme/ThemeDefault.js +1 -2
  159. package/Options/Interfaces/IOptions.d.ts +1 -0
  160. package/Plugins/Absorbers/AbsorberContainer.d.ts +1 -1
  161. package/Plugins/Absorbers/AbsorberInstance.d.ts +2 -4
  162. package/Plugins/Absorbers/AbsorberInstance.js +9 -10
  163. package/Plugins/Absorbers/Absorbers.d.ts +1 -4
  164. package/Plugins/Absorbers/Absorbers.js +1 -2
  165. package/Plugins/Absorbers/Enums/AbsorberClickMode.d.ts +1 -1
  166. package/Plugins/Absorbers/Enums/AbsorberClickMode.js +0 -5
  167. package/Plugins/Absorbers/index.d.ts +2 -0
  168. package/Plugins/Absorbers/{plugin.js → index.js} +3 -4
  169. package/Plugins/Emitters/EmitterContainer.d.ts +1 -1
  170. package/Plugins/Emitters/EmitterInstance.d.ts +1 -2
  171. package/Plugins/Emitters/EmitterInstance.js +3 -4
  172. package/Plugins/Emitters/Emitters.d.ts +1 -2
  173. package/Plugins/Emitters/Emitters.js +1 -2
  174. package/Plugins/Emitters/EmittersMain.d.ts +2 -2
  175. package/Plugins/Emitters/Enums/EmitterClickMode.d.ts +1 -1
  176. package/Plugins/Emitters/Enums/EmitterClickMode.js +0 -5
  177. package/Plugins/Emitters/Enums/EmitterShapeType.d.ts +1 -1
  178. package/Plugins/Emitters/Enums/EmitterShapeType.js +0 -6
  179. package/Plugins/Emitters/IEmitterShape.d.ts +1 -1
  180. package/Plugins/Emitters/Options/Classes/Emitter.js +1 -2
  181. package/Plugins/Emitters/Options/Classes/EmitterSize.js +1 -2
  182. package/Plugins/Emitters/Shapes/Circle/CircleShape.d.ts +1 -1
  183. package/Plugins/Emitters/Shapes/Square/SquareShape.d.ts +1 -1
  184. package/Plugins/Emitters/{plugin.d.ts → index.d.ts} +0 -0
  185. package/Plugins/Emitters/{plugin.js → index.js} +3 -4
  186. package/Plugins/PolygonMask/Enums/PolygonMaskInlineArrangement.d.ts +8 -0
  187. package/Plugins/PolygonMask/{Options/Interfaces/IDraw.js → Enums/PolygonMaskInlineArrangement.js} +0 -0
  188. package/Plugins/PolygonMask/Enums/PolygonMaskMoveType.d.ts +4 -0
  189. package/Plugins/PolygonMask/{Options/Interfaces/IDrawStroke.js → Enums/PolygonMaskMoveType.js} +0 -0
  190. package/{esm/Plugins/PolygonMask/Enums/Type.d.ts → Plugins/PolygonMask/Enums/PolygonMaskType.d.ts} +1 -1
  191. package/Plugins/PolygonMask/{Options/Interfaces/IInline.js → Enums/PolygonMaskType.js} +0 -0
  192. package/Plugins/PolygonMask/Enums/index.d.ts +3 -3
  193. package/Plugins/PolygonMask/Enums/index.js +3 -3
  194. package/Plugins/PolygonMask/Options/Classes/PolygonMask.d.ts +13 -13
  195. package/Plugins/PolygonMask/Options/Classes/PolygonMask.js +42 -42
  196. package/Plugins/PolygonMask/Options/Classes/{Draw.d.ts → PolygonMaskDraw.d.ts} +5 -5
  197. package/Plugins/PolygonMask/Options/Classes/{Draw.js → PolygonMaskDraw.js} +15 -14
  198. package/Plugins/PolygonMask/Options/Classes/{DrawStroke.d.ts → PolygonMaskDrawStroke.d.ts} +3 -3
  199. package/Plugins/PolygonMask/Options/Classes/PolygonMaskDrawStroke.js +29 -0
  200. package/Plugins/PolygonMask/Options/Classes/PolygonMaskInline.d.ts +9 -0
  201. package/Plugins/PolygonMask/Options/Classes/PolygonMaskInline.js +17 -0
  202. package/Plugins/PolygonMask/Options/Classes/PolygonMaskLocalSvg.d.ts +11 -0
  203. package/Plugins/PolygonMask/Options/Classes/PolygonMaskLocalSvg.js +29 -0
  204. package/Plugins/PolygonMask/Options/Classes/PolygonMaskMove.d.ts +10 -0
  205. package/Plugins/PolygonMask/Options/Classes/PolygonMaskMove.js +21 -0
  206. package/Plugins/PolygonMask/Options/Interfaces/IPolygonMask.d.ts +12 -13
  207. package/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskDraw.d.ts +8 -0
  208. package/Plugins/PolygonMask/Options/Interfaces/{ILocalSvg.js → IPolygonMaskDraw.js} +0 -0
  209. package/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskDrawStroke.d.ts +6 -0
  210. package/Plugins/PolygonMask/Options/Interfaces/{IMove.js → IPolygonMaskDrawStroke.js} +0 -0
  211. package/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskInline.d.ts +4 -0
  212. package/Plugins/PolygonMask/{types.js → Options/Interfaces/IPolygonMaskInline.js} +0 -0
  213. package/Plugins/PolygonMask/Options/Interfaces/{ILocalSvg.d.ts → IPolygonMaskLocalSvg.d.ts} +2 -2
  214. package/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskLocalSvg.js +2 -0
  215. package/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskMove.d.ts +5 -0
  216. package/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskMove.js +2 -0
  217. package/Plugins/PolygonMask/PolygonMaskInstance.d.ts +2 -4
  218. package/Plugins/PolygonMask/PolygonMaskInstance.js +33 -30
  219. package/Plugins/PolygonMask/{types.d.ts → Types.d.ts} +0 -0
  220. package/Plugins/PolygonMask/Types.js +2 -0
  221. package/{esm/Plugins/PolygonMask/utils.d.ts → Plugins/PolygonMask/Utils.d.ts} +5 -5
  222. package/Plugins/PolygonMask/{utils.js → Utils.js} +15 -12
  223. package/Plugins/PolygonMask/index.d.ts +2 -0
  224. package/Plugins/PolygonMask/{plugin.js → index.js} +4 -5
  225. package/Plugins/PolygonMask/pathseg.js +54 -43
  226. package/README.md +68 -0
  227. package/Shapes/Circle/CircleDrawer.d.ts +1 -1
  228. package/Shapes/Circle/index.d.ts +2 -2
  229. package/Shapes/Image/ImageDrawer.d.ts +3 -7
  230. package/Shapes/Image/ImageDrawer.js +29 -109
  231. package/Shapes/Image/Utils.d.ts +8 -5
  232. package/Shapes/Image/Utils.js +69 -38
  233. package/Shapes/Image/index.d.ts +2 -2
  234. package/Shapes/Line/LineDrawer.d.ts +1 -1
  235. package/Shapes/Line/index.d.ts +2 -2
  236. package/Shapes/Polygon/PolygonDrawer.d.ts +1 -1
  237. package/Shapes/Polygon/PolygonDrawerBase.d.ts +1 -1
  238. package/Shapes/Polygon/TriangleDrawer.d.ts +1 -1
  239. package/Shapes/Polygon/index.d.ts +4 -4
  240. package/Shapes/Square/SquareDrawer.d.ts +1 -1
  241. package/Shapes/Square/index.d.ts +2 -2
  242. package/Shapes/Star/StarDrawer.d.ts +1 -1
  243. package/Shapes/Star/index.d.ts +2 -2
  244. package/Shapes/Text/TextDrawer.d.ts +1 -2
  245. package/Shapes/Text/index.d.ts +2 -2
  246. package/Updaters/Angle/AngleUpdater.d.ts +1 -3
  247. package/Updaters/Angle/AngleUpdater.js +8 -9
  248. package/Updaters/Angle/index.d.ts +2 -2
  249. package/Updaters/Color/ColorUpdater.d.ts +1 -3
  250. package/Updaters/Color/ColorUpdater.js +3 -4
  251. package/Updaters/Color/index.d.ts +2 -2
  252. package/Updaters/Life/LifeUpdater.d.ts +1 -3
  253. package/Updaters/Life/index.d.ts +2 -2
  254. package/Updaters/Opacity/OpacityUpdater.d.ts +1 -3
  255. package/Updaters/Opacity/OpacityUpdater.js +13 -14
  256. package/Updaters/Opacity/index.d.ts +2 -2
  257. package/Updaters/OutModes/IBounceData.d.ts +1 -2
  258. package/Updaters/OutModes/OutOfCanvasUpdater.d.ts +1 -3
  259. package/Updaters/OutModes/OutOfCanvasUpdater.js +19 -20
  260. package/Updaters/OutModes/Utils.js +12 -13
  261. package/Updaters/OutModes/index.d.ts +2 -2
  262. package/Updaters/Roll/RollUpdater.d.ts +1 -2
  263. package/Updaters/Roll/RollUpdater.js +4 -5
  264. package/Updaters/Roll/index.d.ts +2 -2
  265. package/Updaters/Size/SizeUpdater.d.ts +1 -2
  266. package/Updaters/Size/SizeUpdater.js +6 -7
  267. package/Updaters/Size/index.d.ts +2 -2
  268. package/Updaters/StrokeColor/StrokeColorUpdater.d.ts +1 -3
  269. package/Updaters/StrokeColor/StrokeColorUpdater.js +3 -4
  270. package/Updaters/StrokeColor/index.d.ts +2 -2
  271. package/Updaters/Tilt/TiltUpdater.d.ts +1 -3
  272. package/Updaters/Tilt/TiltUpdater.js +8 -9
  273. package/Updaters/Tilt/index.d.ts +2 -2
  274. package/Updaters/Wobble/WobbleUpdater.d.ts +1 -3
  275. package/Updaters/Wobble/index.d.ts +2 -2
  276. package/Utils/CanvasUtils.d.ts +3 -3
  277. package/Utils/CanvasUtils.js +4 -5
  278. package/Utils/ColorUtils.d.ts +1 -1
  279. package/Utils/ColorUtils.js +7 -8
  280. package/Utils/NumberUtils.d.ts +2 -2
  281. package/Utils/NumberUtils.js +20 -21
  282. package/Utils/Utils.d.ts +1 -1
  283. package/Utils/Utils.js +10 -14
  284. package/Utils/index.d.ts +0 -9
  285. package/Utils/index.js +0 -9
  286. package/browser/Core/Canvas.d.ts +2 -2
  287. package/browser/Core/Canvas.js +25 -15
  288. package/browser/Core/Container.d.ts +2 -3
  289. package/browser/Core/Container.js +2 -3
  290. package/browser/Core/Interfaces/ICircleBouncer.d.ts +1 -1
  291. package/browser/Core/Interfaces/IMovePathGenerator.d.ts +1 -1
  292. package/browser/Core/Interfaces/IParticle.d.ts +1 -1
  293. package/browser/Core/Interfaces/index.d.ts +3 -1
  294. package/browser/Core/Interfaces/index.js +3 -1
  295. package/browser/Core/Loader.js +6 -10
  296. package/browser/Core/Particle.d.ts +2 -5
  297. package/browser/Core/Particle.js +13 -15
  298. package/browser/Core/Particles.d.ts +1 -1
  299. package/browser/Core/Particles.js +8 -14
  300. package/browser/{Utils → Core/Utils}/Circle.d.ts +1 -1
  301. package/browser/{Utils → Core/Utils}/Circle.js +1 -1
  302. package/browser/{Utils → Core/Utils}/CircleWarp.d.ts +1 -2
  303. package/browser/{Utils → Core/Utils}/CircleWarp.js +0 -0
  304. package/browser/{Utils → Core/Utils}/Constants.d.ts +1 -4
  305. package/browser/{Utils → Core/Utils}/Constants.js +1 -4
  306. package/browser/{Utils → Core/Utils}/EventListeners.d.ts +1 -1
  307. package/browser/{Utils → Core/Utils}/EventListeners.js +11 -12
  308. package/{esm/Core → browser/Core/Utils}/ExternalInteractorBase.d.ts +4 -4
  309. package/browser/Core/{ExternalInteractorBase.js → Utils/ExternalInteractorBase.js} +1 -2
  310. package/browser/Core/{FrameManager.d.ts → Utils/FrameManager.d.ts} +1 -1
  311. package/browser/Core/{FrameManager.js → Utils/FrameManager.js} +0 -0
  312. package/browser/Core/{InteractionManager.d.ts → Utils/InteractionManager.d.ts} +3 -3
  313. package/browser/Core/{InteractionManager.js → Utils/InteractionManager.js} +2 -3
  314. package/{Core → browser/Core/Utils}/ParticlesInteractorBase.d.ts +4 -4
  315. package/{esm/Core → browser/Core/Utils}/ParticlesInteractorBase.js +1 -2
  316. package/browser/Core/{Particle/Mover.d.ts → Utils/ParticlesMover.d.ts} +1 -1
  317. package/browser/Core/{Particle/Mover.js → Utils/ParticlesMover.js} +4 -5
  318. package/browser/{Utils → Core/Utils}/Plugins.d.ts +5 -5
  319. package/browser/{Utils → Core/Utils}/Plugins.js +0 -0
  320. package/browser/{Utils → Core/Utils}/Point.d.ts +2 -2
  321. package/browser/{Utils → Core/Utils}/Point.js +0 -0
  322. package/browser/{Utils → Core/Utils}/QuadTree.d.ts +3 -3
  323. package/browser/{Utils → Core/Utils}/QuadTree.js +1 -1
  324. package/browser/{Utils → Core/Utils}/Range.d.ts +1 -1
  325. package/browser/{Utils → Core/Utils}/Range.js +0 -0
  326. package/browser/{Utils → Core/Utils}/Rectangle.d.ts +1 -2
  327. package/browser/{Utils → Core/Utils}/Rectangle.js +0 -0
  328. package/browser/Core/{Particle → Utils}/Vector.d.ts +0 -0
  329. package/browser/Core/{Particle → Utils}/Vector.js +0 -0
  330. package/browser/Core/{Particle → Utils}/Vector3d.d.ts +0 -0
  331. package/browser/Core/{Particle → Utils}/Vector3d.js +0 -0
  332. package/browser/Core/Utils/index.d.ts +16 -0
  333. package/browser/Core/Utils/index.js +16 -0
  334. package/browser/Core/index.d.ts +8 -0
  335. package/browser/Core/index.js +8 -0
  336. package/browser/Enums/AnimationStatus.d.ts +1 -1
  337. package/browser/Enums/AnimationStatus.js +1 -5
  338. package/browser/Enums/Directions/MoveDirection.d.ts +1 -1
  339. package/browser/Enums/Directions/MoveDirection.js +1 -15
  340. package/browser/Enums/Directions/OutModeDirection.d.ts +1 -1
  341. package/browser/Enums/Directions/OutModeDirection.js +1 -7
  342. package/browser/Enums/Directions/RotateDirection.d.ts +1 -1
  343. package/browser/Enums/Directions/RotateDirection.js +1 -9
  344. package/browser/Enums/Directions/TiltDirection.d.ts +1 -1
  345. package/browser/Enums/Directions/TiltDirection.js +1 -9
  346. package/browser/Enums/InteractivityDetect.d.ts +1 -1
  347. package/browser/Enums/InteractivityDetect.js +1 -9
  348. package/browser/Enums/Modes/ClickMode.d.ts +1 -1
  349. package/browser/Enums/Modes/ClickMode.js +1 -13
  350. package/browser/Enums/Modes/CollisionMode.d.ts +1 -1
  351. package/browser/Enums/Modes/CollisionMode.js +1 -9
  352. package/browser/Enums/Modes/DestroyMode.d.ts +1 -1
  353. package/browser/Enums/Modes/DestroyMode.js +1 -5
  354. package/browser/Enums/Modes/DivMode.d.ts +1 -1
  355. package/browser/Enums/Modes/DivMode.js +1 -9
  356. package/browser/Enums/Modes/HoverMode.d.ts +1 -1
  357. package/browser/Enums/Modes/HoverMode.js +1 -15
  358. package/browser/Enums/Modes/OutMode.d.ts +1 -1
  359. package/browser/Enums/Modes/OutMode.js +1 -13
  360. package/browser/Enums/Modes/ResponsiveMode.d.ts +1 -1
  361. package/browser/Enums/Modes/ResponsiveMode.js +1 -5
  362. package/browser/Enums/Modes/RollMode.d.ts +1 -1
  363. package/browser/Enums/Modes/RollMode.js +1 -6
  364. package/browser/Enums/Modes/SizeMode.d.ts +1 -1
  365. package/browser/Enums/Modes/SizeMode.js +1 -8
  366. package/browser/Enums/Modes/ThemeMode.d.ts +1 -1
  367. package/browser/Enums/Modes/ThemeMode.js +1 -6
  368. package/browser/Enums/Types/AlterType.d.ts +1 -1
  369. package/browser/Enums/Types/AlterType.js +1 -5
  370. package/browser/Enums/Types/DestroyType.d.ts +1 -1
  371. package/browser/Enums/Types/DestroyType.js +1 -9
  372. package/browser/Enums/Types/DivType.d.ts +1 -1
  373. package/browser/Enums/Types/DivType.js +1 -8
  374. package/browser/Enums/Types/EasingType.d.ts +1 -1
  375. package/browser/Enums/Types/EasingType.js +1 -11
  376. package/browser/Enums/Types/GradientType.d.ts +1 -1
  377. package/browser/Enums/Types/GradientType.js +1 -6
  378. package/browser/Enums/Types/InteractorType.d.ts +1 -1
  379. package/browser/Enums/Types/InteractorType.js +1 -5
  380. package/browser/Enums/Types/OrbitType.d.ts +1 -1
  381. package/browser/Enums/Types/OrbitType.js +1 -8
  382. package/browser/Enums/Types/ShapeType.d.ts +1 -1
  383. package/browser/Enums/Types/ShapeType.js +1 -17
  384. package/browser/Enums/Types/StartValueType.d.ts +1 -1
  385. package/browser/Enums/Types/StartValueType.js +1 -9
  386. package/browser/Interactions/External/Attract/Attractor.d.ts +2 -2
  387. package/browser/Interactions/External/Attract/Attractor.js +5 -7
  388. package/browser/Interactions/External/Attract/index.d.ts +2 -2
  389. package/browser/Interactions/External/Bounce/Bouncer.d.ts +2 -2
  390. package/browser/Interactions/External/Bounce/Bouncer.js +7 -9
  391. package/browser/Interactions/External/Bounce/index.d.ts +2 -2
  392. package/browser/Interactions/External/Bubble/Bubbler.d.ts +3 -3
  393. package/browser/Interactions/External/Bubble/Bubbler.js +16 -18
  394. package/browser/Interactions/External/Bubble/ProcessBubbleType.d.ts +1 -1
  395. package/browser/Interactions/External/Bubble/ProcessBubbleType.js +1 -9
  396. package/browser/Interactions/External/Bubble/index.d.ts +2 -2
  397. package/browser/Interactions/External/Connect/Connector.d.ts +2 -2
  398. package/browser/Interactions/External/Connect/Connector.js +2 -3
  399. package/browser/Interactions/External/Connect/index.d.ts +2 -2
  400. package/browser/Interactions/External/Grab/Grabber.d.ts +2 -2
  401. package/browser/Interactions/External/Grab/Grabber.js +3 -4
  402. package/browser/Interactions/External/Grab/index.d.ts +2 -2
  403. package/browser/Interactions/External/Repulse/Repulser.d.ts +2 -2
  404. package/browser/Interactions/External/Repulse/Repulser.js +8 -10
  405. package/browser/Interactions/External/Repulse/index.d.ts +2 -2
  406. package/browser/Interactions/External/Trail/TrailMaker.d.ts +2 -3
  407. package/browser/Interactions/External/Trail/TrailMaker.js +3 -4
  408. package/browser/Interactions/External/Trail/index.d.ts +2 -2
  409. package/browser/Interactions/Particles/Attract/Attractor.d.ts +2 -4
  410. package/browser/Interactions/Particles/Attract/Attractor.js +1 -1
  411. package/browser/Interactions/Particles/Attract/index.d.ts +2 -2
  412. package/browser/Interactions/Particles/Collisions/Collider.d.ts +2 -3
  413. package/browser/Interactions/Particles/Collisions/Collider.js +4 -5
  414. package/browser/Interactions/Particles/Collisions/index.d.ts +2 -2
  415. package/browser/Interactions/Particles/Links/LinkInstance.d.ts +1 -3
  416. package/browser/Interactions/Particles/Links/LinkParticle.d.ts +1 -1
  417. package/browser/Interactions/Particles/Links/Linker.d.ts +3 -4
  418. package/browser/Interactions/Particles/Links/Linker.js +2 -2
  419. package/browser/Interactions/Particles/Links/index.d.ts +2 -3
  420. package/browser/Interactions/Particles/Links/index.js +1 -4
  421. package/browser/Interactions/Particles/Links/interaction.d.ts +2 -0
  422. package/browser/Interactions/Particles/Links/interaction.js +4 -0
  423. package/browser/Interactions/Particles/Links/plugin.d.ts +2 -2
  424. package/browser/Interactions/Particles/Links/plugin.js +2 -2
  425. package/browser/Options/Classes/AnimatableGradient.js +3 -4
  426. package/browser/Options/Classes/Interactivity/Events/DivEvent.js +1 -2
  427. package/browser/Options/Classes/Interactivity/Interactivity.js +5 -6
  428. package/browser/Options/Classes/Interactivity/Modes/Attract.js +1 -2
  429. package/browser/Options/Classes/Interactivity/Modes/RepulseBase.js +1 -2
  430. package/browser/Options/Classes/Options.d.ts +1 -0
  431. package/browser/Options/Classes/Options.js +9 -7
  432. package/browser/Options/Classes/Particles/Collisions/Collisions.js +1 -2
  433. package/browser/Options/Classes/Particles/Destroy/Destroy.js +1 -2
  434. package/browser/Options/Classes/Particles/Move/Move.js +1 -2
  435. package/browser/Options/Classes/Particles/Move/OutModes.js +1 -2
  436. package/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -3
  437. package/browser/Options/Classes/Particles/Roll/Roll.js +1 -2
  438. package/browser/Options/Classes/Particles/Rotate/Rotate.js +1 -2
  439. package/browser/Options/Classes/Particles/Shape/Shape.js +13 -14
  440. package/browser/Options/Classes/Particles/Size/SizeAnimation.js +2 -3
  441. package/browser/Options/Classes/Particles/Tilt/Tilt.js +1 -2
  442. package/browser/Options/Classes/Responsive.js +4 -5
  443. package/browser/Options/Classes/Theme/ThemeDefault.js +1 -2
  444. package/browser/Options/Interfaces/IOptions.d.ts +1 -0
  445. package/browser/Plugins/Absorbers/AbsorberContainer.d.ts +1 -1
  446. package/browser/Plugins/Absorbers/AbsorberInstance.d.ts +2 -4
  447. package/browser/Plugins/Absorbers/AbsorberInstance.js +4 -5
  448. package/browser/Plugins/Absorbers/Absorbers.d.ts +1 -4
  449. package/browser/Plugins/Absorbers/Absorbers.js +1 -2
  450. package/browser/Plugins/Absorbers/Enums/AbsorberClickMode.d.ts +1 -1
  451. package/browser/Plugins/Absorbers/Enums/AbsorberClickMode.js +1 -7
  452. package/browser/Plugins/Absorbers/index.d.ts +2 -0
  453. package/browser/Plugins/Absorbers/{plugin.js → index.js} +3 -4
  454. package/browser/Plugins/Emitters/EmitterContainer.d.ts +1 -1
  455. package/browser/Plugins/Emitters/EmitterInstance.d.ts +1 -2
  456. package/browser/Plugins/Emitters/EmitterInstance.js +3 -4
  457. package/browser/Plugins/Emitters/Emitters.d.ts +1 -2
  458. package/browser/Plugins/Emitters/Emitters.js +1 -2
  459. package/browser/Plugins/Emitters/EmittersMain.d.ts +2 -2
  460. package/browser/Plugins/Emitters/Enums/EmitterClickMode.d.ts +1 -1
  461. package/browser/Plugins/Emitters/Enums/EmitterClickMode.js +1 -7
  462. package/browser/Plugins/Emitters/Enums/EmitterShapeType.d.ts +1 -1
  463. package/browser/Plugins/Emitters/Enums/EmitterShapeType.js +1 -5
  464. package/browser/Plugins/Emitters/IEmitterShape.d.ts +1 -1
  465. package/browser/Plugins/Emitters/Options/Classes/Emitter.js +1 -2
  466. package/browser/Plugins/Emitters/Options/Classes/EmitterSize.js +1 -2
  467. package/browser/Plugins/Emitters/Shapes/Circle/CircleShape.d.ts +1 -1
  468. package/browser/Plugins/Emitters/Shapes/Square/SquareShape.d.ts +1 -1
  469. package/browser/Plugins/Emitters/{plugin.d.ts → index.d.ts} +0 -0
  470. package/browser/Plugins/Emitters/{plugin.js → index.js} +3 -4
  471. package/browser/Plugins/PolygonMask/Enums/PolygonMaskInlineArrangement.d.ts +8 -0
  472. package/browser/Plugins/PolygonMask/{Options/Interfaces/IDraw.js → Enums/PolygonMaskInlineArrangement.js} +0 -0
  473. package/browser/Plugins/PolygonMask/Enums/PolygonMaskMoveType.d.ts +4 -0
  474. package/browser/Plugins/PolygonMask/{Options/Interfaces/IDrawStroke.js → Enums/PolygonMaskMoveType.js} +0 -0
  475. package/{Plugins/PolygonMask/Enums/Type.d.ts → browser/Plugins/PolygonMask/Enums/PolygonMaskType.d.ts} +1 -1
  476. package/browser/Plugins/PolygonMask/{Options/Interfaces/IInline.js → Enums/PolygonMaskType.js} +0 -0
  477. package/browser/Plugins/PolygonMask/Enums/index.d.ts +3 -3
  478. package/browser/Plugins/PolygonMask/Enums/index.js +3 -3
  479. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMask.d.ts +13 -13
  480. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMask.js +42 -42
  481. package/browser/Plugins/PolygonMask/Options/Classes/{Draw.d.ts → PolygonMaskDraw.d.ts} +5 -5
  482. package/browser/Plugins/PolygonMask/Options/Classes/{Draw.js → PolygonMaskDraw.js} +13 -12
  483. package/browser/Plugins/PolygonMask/Options/Classes/{DrawStroke.d.ts → PolygonMaskDrawStroke.d.ts} +3 -3
  484. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMaskDrawStroke.js +28 -0
  485. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMaskInline.d.ts +12 -0
  486. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMaskInline.js +16 -0
  487. package/browser/Plugins/PolygonMask/Options/Classes/{LocalSvg.d.ts → PolygonMaskLocalSvg.d.ts} +4 -4
  488. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMaskLocalSvg.js +28 -0
  489. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMaskMove.d.ts +13 -0
  490. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMaskMove.js +20 -0
  491. package/browser/Plugins/PolygonMask/Options/Interfaces/IPolygonMask.d.ts +12 -13
  492. package/browser/Plugins/PolygonMask/Options/Interfaces/{IDraw.d.ts → IPolygonMaskDraw.d.ts} +4 -4
  493. package/browser/Plugins/PolygonMask/Options/Interfaces/{ILocalSvg.js → IPolygonMaskDraw.js} +0 -0
  494. package/browser/Plugins/PolygonMask/Options/Interfaces/{IDrawStroke.d.ts → IPolygonMaskDrawStroke.d.ts} +2 -2
  495. package/browser/Plugins/PolygonMask/Options/Interfaces/{IMove.js → IPolygonMaskDrawStroke.js} +0 -0
  496. package/browser/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskInline.d.ts +7 -0
  497. package/browser/Plugins/PolygonMask/{types.js → Options/Interfaces/IPolygonMaskInline.js} +0 -0
  498. package/browser/Plugins/PolygonMask/Options/Interfaces/{ILocalSvg.d.ts → IPolygonMaskLocalSvg.d.ts} +2 -2
  499. package/{esm/Plugins/PolygonMask/Options/Interfaces/IDraw.js → browser/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskLocalSvg.js} +0 -0
  500. package/browser/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskMove.d.ts +8 -0
  501. package/{esm/Plugins/PolygonMask/Options/Interfaces/IDrawStroke.js → browser/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskMove.js} +0 -0
  502. package/browser/Plugins/PolygonMask/PolygonMaskInstance.d.ts +2 -4
  503. package/browser/Plugins/PolygonMask/PolygonMaskInstance.js +24 -21
  504. package/browser/Plugins/PolygonMask/{types.d.ts → Types.d.ts} +0 -0
  505. package/{esm/Plugins/PolygonMask/Options/Interfaces/IInline.js → browser/Plugins/PolygonMask/Types.js} +0 -0
  506. package/{Plugins/PolygonMask/utils.d.ts → browser/Plugins/PolygonMask/Utils.d.ts} +5 -5
  507. package/browser/Plugins/PolygonMask/{utils.js → Utils.js} +15 -12
  508. package/browser/Plugins/PolygonMask/index.d.ts +2 -0
  509. package/browser/Plugins/PolygonMask/{plugin.js → index.js} +5 -6
  510. package/browser/Plugins/PolygonMask/pathseg.js +54 -44
  511. package/browser/Shapes/Circle/CircleDrawer.d.ts +1 -1
  512. package/browser/Shapes/Circle/index.d.ts +2 -2
  513. package/browser/Shapes/Image/ImageDrawer.d.ts +3 -7
  514. package/browser/Shapes/Image/ImageDrawer.js +28 -111
  515. package/browser/Shapes/Image/Utils.d.ts +8 -5
  516. package/browser/Shapes/Image/Utils.js +71 -37
  517. package/browser/Shapes/Image/index.d.ts +2 -2
  518. package/browser/Shapes/Line/LineDrawer.d.ts +1 -1
  519. package/browser/Shapes/Line/index.d.ts +2 -2
  520. package/browser/Shapes/Polygon/PolygonDrawer.d.ts +1 -1
  521. package/browser/Shapes/Polygon/PolygonDrawerBase.d.ts +1 -1
  522. package/browser/Shapes/Polygon/TriangleDrawer.d.ts +1 -1
  523. package/browser/Shapes/Polygon/index.d.ts +4 -4
  524. package/browser/Shapes/Square/SquareDrawer.d.ts +1 -1
  525. package/browser/Shapes/Square/index.d.ts +2 -2
  526. package/browser/Shapes/Star/StarDrawer.d.ts +1 -1
  527. package/browser/Shapes/Star/index.d.ts +2 -2
  528. package/browser/Shapes/Text/TextDrawer.d.ts +1 -2
  529. package/browser/Shapes/Text/index.d.ts +2 -2
  530. package/browser/Updaters/Angle/AngleUpdater.d.ts +1 -3
  531. package/browser/Updaters/Angle/AngleUpdater.js +8 -9
  532. package/browser/Updaters/Angle/index.d.ts +2 -2
  533. package/browser/Updaters/Color/ColorUpdater.d.ts +1 -3
  534. package/browser/Updaters/Color/ColorUpdater.js +3 -4
  535. package/browser/Updaters/Color/index.d.ts +2 -2
  536. package/browser/Updaters/Life/LifeUpdater.d.ts +1 -3
  537. package/browser/Updaters/Life/index.d.ts +2 -2
  538. package/browser/Updaters/Opacity/OpacityUpdater.d.ts +1 -3
  539. package/browser/Updaters/Opacity/OpacityUpdater.js +13 -14
  540. package/browser/Updaters/Opacity/index.d.ts +2 -2
  541. package/browser/Updaters/OutModes/IBounceData.d.ts +1 -2
  542. package/browser/Updaters/OutModes/OutOfCanvasUpdater.d.ts +1 -3
  543. package/browser/Updaters/OutModes/OutOfCanvasUpdater.js +19 -20
  544. package/browser/Updaters/OutModes/Utils.js +12 -13
  545. package/browser/Updaters/OutModes/index.d.ts +2 -2
  546. package/browser/Updaters/Roll/RollUpdater.d.ts +1 -2
  547. package/browser/Updaters/Roll/RollUpdater.js +4 -5
  548. package/browser/Updaters/Roll/index.d.ts +2 -2
  549. package/browser/Updaters/Size/SizeUpdater.d.ts +1 -2
  550. package/browser/Updaters/Size/SizeUpdater.js +6 -7
  551. package/browser/Updaters/Size/index.d.ts +2 -2
  552. package/browser/Updaters/StrokeColor/StrokeColorUpdater.d.ts +1 -3
  553. package/browser/Updaters/StrokeColor/StrokeColorUpdater.js +3 -4
  554. package/browser/Updaters/StrokeColor/index.d.ts +2 -2
  555. package/browser/Updaters/Tilt/TiltUpdater.d.ts +1 -3
  556. package/browser/Updaters/Tilt/TiltUpdater.js +8 -9
  557. package/browser/Updaters/Tilt/index.d.ts +2 -2
  558. package/browser/Updaters/Wobble/WobbleUpdater.d.ts +1 -3
  559. package/browser/Updaters/Wobble/index.d.ts +2 -2
  560. package/browser/Utils/CanvasUtils.d.ts +3 -3
  561. package/browser/Utils/CanvasUtils.js +4 -5
  562. package/browser/Utils/ColorUtils.d.ts +1 -1
  563. package/browser/Utils/ColorUtils.js +2 -3
  564. package/browser/Utils/NumberUtils.d.ts +2 -2
  565. package/browser/Utils/NumberUtils.js +18 -19
  566. package/browser/Utils/Utils.d.ts +1 -1
  567. package/browser/Utils/Utils.js +10 -14
  568. package/browser/Utils/index.d.ts +0 -9
  569. package/browser/Utils/index.js +0 -9
  570. package/browser/{main.d.ts → engine.d.ts} +4 -6
  571. package/browser/{main.js → engine.js} +10 -11
  572. package/browser/full.d.ts +2 -2
  573. package/browser/full.js +3 -3
  574. package/browser/index.d.ts +6 -16
  575. package/browser/index.engine.d.ts +13 -0
  576. package/browser/index.engine.js +12 -0
  577. package/browser/index.js +5 -13
  578. package/browser/index.slim.d.ts +6 -16
  579. package/browser/index.slim.js +5 -13
  580. package/browser/pjs.d.ts +3 -3
  581. package/browser/pjs.js +6 -5
  582. package/browser/slim.d.ts +2 -2
  583. package/{esm/main.d.ts → engine.d.ts} +2 -4
  584. package/{main.js → engine.js} +24 -25
  585. package/esm/Core/Canvas.d.ts +2 -2
  586. package/esm/Core/Canvas.js +25 -15
  587. package/esm/Core/Container.d.ts +2 -3
  588. package/esm/Core/Container.js +2 -3
  589. package/esm/Core/Interfaces/ICircleBouncer.d.ts +1 -1
  590. package/esm/Core/Interfaces/IMovePathGenerator.d.ts +1 -1
  591. package/esm/Core/Interfaces/IParticle.d.ts +1 -1
  592. package/esm/Core/Interfaces/index.d.ts +3 -1
  593. package/esm/Core/Interfaces/index.js +3 -1
  594. package/esm/Core/Loader.js +6 -10
  595. package/esm/Core/Particle.d.ts +2 -5
  596. package/esm/Core/Particle.js +13 -15
  597. package/esm/Core/Particles.d.ts +1 -1
  598. package/esm/Core/Particles.js +8 -14
  599. package/esm/{Utils → Core/Utils}/Circle.d.ts +1 -1
  600. package/esm/{Utils → Core/Utils}/Circle.js +1 -1
  601. package/{Utils → esm/Core/Utils}/CircleWarp.d.ts +1 -2
  602. package/esm/{Utils → Core/Utils}/CircleWarp.js +0 -0
  603. package/esm/{Utils → Core/Utils}/Constants.d.ts +1 -1
  604. package/esm/{Utils → Core/Utils}/Constants.js +1 -1
  605. package/esm/{Utils → Core/Utils}/EventListeners.d.ts +1 -1
  606. package/esm/{Utils → Core/Utils}/EventListeners.js +11 -12
  607. package/{browser/Core → esm/Core/Utils}/ExternalInteractorBase.d.ts +4 -4
  608. package/esm/Core/{ExternalInteractorBase.js → Utils/ExternalInteractorBase.js} +1 -2
  609. package/{Core → esm/Core/Utils}/FrameManager.d.ts +1 -1
  610. package/esm/Core/{FrameManager.js → Utils/FrameManager.js} +0 -0
  611. package/{Core → esm/Core/Utils}/InteractionManager.d.ts +3 -3
  612. package/esm/Core/{InteractionManager.js → Utils/InteractionManager.js} +2 -3
  613. package/{browser/Core → esm/Core/Utils}/ParticlesInteractorBase.d.ts +4 -4
  614. package/{browser/Core → esm/Core/Utils}/ParticlesInteractorBase.js +1 -2
  615. package/{Core/Particle/Mover.d.ts → esm/Core/Utils/ParticlesMover.d.ts} +1 -1
  616. package/esm/Core/{Particle/Mover.js → Utils/ParticlesMover.js} +4 -5
  617. package/{Utils → esm/Core/Utils}/Plugins.d.ts +5 -5
  618. package/esm/{Utils → Core/Utils}/Plugins.js +0 -0
  619. package/esm/{Utils → Core/Utils}/Point.d.ts +2 -2
  620. package/esm/{Utils → Core/Utils}/Point.js +0 -0
  621. package/esm/{Utils → Core/Utils}/QuadTree.d.ts +3 -3
  622. package/esm/{Utils → Core/Utils}/QuadTree.js +1 -1
  623. package/{Utils → esm/Core/Utils}/Range.d.ts +1 -1
  624. package/esm/{Utils → Core/Utils}/Range.js +0 -0
  625. package/{Utils → esm/Core/Utils}/Rectangle.d.ts +1 -2
  626. package/esm/{Utils → Core/Utils}/Rectangle.js +0 -0
  627. package/esm/Core/{Particle → Utils}/Vector.d.ts +0 -0
  628. package/esm/Core/{Particle → Utils}/Vector.js +0 -0
  629. package/esm/Core/{Particle → Utils}/Vector3d.d.ts +0 -0
  630. package/esm/Core/{Particle → Utils}/Vector3d.js +0 -0
  631. package/esm/Core/Utils/index.d.ts +16 -0
  632. package/esm/Core/Utils/index.js +16 -0
  633. package/esm/Core/index.d.ts +8 -0
  634. package/esm/Core/index.js +8 -0
  635. package/esm/Enums/AnimationStatus.d.ts +1 -1
  636. package/esm/Enums/AnimationStatus.js +1 -5
  637. package/esm/Enums/Directions/MoveDirection.d.ts +1 -1
  638. package/esm/Enums/Directions/MoveDirection.js +1 -12
  639. package/esm/Enums/Directions/OutModeDirection.d.ts +1 -1
  640. package/esm/Enums/Directions/OutModeDirection.js +1 -7
  641. package/esm/Enums/Directions/RotateDirection.d.ts +1 -1
  642. package/esm/Enums/Directions/RotateDirection.js +1 -6
  643. package/esm/Enums/Directions/TiltDirection.d.ts +1 -1
  644. package/esm/Enums/Directions/TiltDirection.js +1 -6
  645. package/esm/Enums/InteractivityDetect.d.ts +1 -1
  646. package/esm/Enums/InteractivityDetect.js +1 -6
  647. package/esm/Enums/Modes/ClickMode.d.ts +1 -1
  648. package/esm/Enums/Modes/ClickMode.js +1 -10
  649. package/esm/Enums/Modes/CollisionMode.d.ts +1 -1
  650. package/esm/Enums/Modes/CollisionMode.js +1 -6
  651. package/esm/Enums/Modes/DestroyMode.d.ts +1 -1
  652. package/esm/Enums/Modes/DestroyMode.js +1 -5
  653. package/esm/Enums/Modes/DivMode.d.ts +1 -1
  654. package/esm/Enums/Modes/DivMode.js +1 -6
  655. package/esm/Enums/Modes/HoverMode.d.ts +1 -1
  656. package/esm/Enums/Modes/HoverMode.js +1 -12
  657. package/esm/Enums/Modes/OutMode.d.ts +1 -1
  658. package/esm/Enums/Modes/OutMode.js +1 -10
  659. package/esm/Enums/Modes/ResponsiveMode.d.ts +1 -1
  660. package/esm/Enums/Modes/ResponsiveMode.js +1 -5
  661. package/esm/Enums/Modes/RollMode.d.ts +1 -1
  662. package/esm/Enums/Modes/RollMode.js +1 -6
  663. package/esm/Enums/Modes/SizeMode.d.ts +1 -1
  664. package/esm/Enums/Modes/SizeMode.js +1 -5
  665. package/esm/Enums/Modes/ThemeMode.d.ts +1 -1
  666. package/esm/Enums/Modes/ThemeMode.js +1 -6
  667. package/esm/Enums/Types/AlterType.d.ts +1 -1
  668. package/esm/Enums/Types/AlterType.js +1 -5
  669. package/esm/Enums/Types/DestroyType.d.ts +1 -1
  670. package/esm/Enums/Types/DestroyType.js +1 -6
  671. package/esm/Enums/Types/DivType.d.ts +1 -1
  672. package/esm/Enums/Types/DivType.js +1 -5
  673. package/esm/Enums/Types/EasingType.d.ts +1 -1
  674. package/esm/Enums/Types/EasingType.js +1 -11
  675. package/esm/Enums/Types/GradientType.d.ts +1 -1
  676. package/esm/Enums/Types/GradientType.js +1 -6
  677. package/esm/Enums/Types/InteractorType.d.ts +1 -1
  678. package/esm/Enums/Types/InteractorType.js +1 -5
  679. package/esm/Enums/Types/OrbitType.d.ts +1 -1
  680. package/esm/Enums/Types/OrbitType.js +1 -5
  681. package/esm/Enums/Types/ShapeType.d.ts +1 -1
  682. package/esm/Enums/Types/ShapeType.js +1 -14
  683. package/esm/Enums/Types/StartValueType.d.ts +1 -1
  684. package/esm/Enums/Types/StartValueType.js +1 -6
  685. package/esm/Interactions/External/Attract/Attractor.d.ts +2 -2
  686. package/esm/Interactions/External/Attract/Attractor.js +5 -7
  687. package/esm/Interactions/External/Attract/index.d.ts +2 -2
  688. package/esm/Interactions/External/Bounce/Bouncer.d.ts +2 -2
  689. package/esm/Interactions/External/Bounce/Bouncer.js +7 -9
  690. package/esm/Interactions/External/Bounce/index.d.ts +2 -2
  691. package/esm/Interactions/External/Bubble/Bubbler.d.ts +3 -3
  692. package/esm/Interactions/External/Bubble/Bubbler.js +16 -18
  693. package/esm/Interactions/External/Bubble/ProcessBubbleType.d.ts +1 -1
  694. package/esm/Interactions/External/Bubble/ProcessBubbleType.js +1 -6
  695. package/esm/Interactions/External/Bubble/index.d.ts +2 -2
  696. package/esm/Interactions/External/Connect/Connector.d.ts +2 -2
  697. package/esm/Interactions/External/Connect/Connector.js +2 -3
  698. package/esm/Interactions/External/Connect/index.d.ts +2 -2
  699. package/esm/Interactions/External/Grab/Grabber.d.ts +2 -2
  700. package/esm/Interactions/External/Grab/Grabber.js +3 -4
  701. package/esm/Interactions/External/Grab/index.d.ts +2 -2
  702. package/esm/Interactions/External/Repulse/Repulser.d.ts +2 -2
  703. package/esm/Interactions/External/Repulse/Repulser.js +8 -10
  704. package/esm/Interactions/External/Repulse/index.d.ts +2 -2
  705. package/esm/Interactions/External/Trail/TrailMaker.d.ts +2 -3
  706. package/esm/Interactions/External/Trail/TrailMaker.js +3 -4
  707. package/esm/Interactions/External/Trail/index.d.ts +2 -2
  708. package/esm/Interactions/Particles/Attract/Attractor.d.ts +2 -4
  709. package/esm/Interactions/Particles/Attract/Attractor.js +1 -1
  710. package/esm/Interactions/Particles/Attract/index.d.ts +2 -2
  711. package/esm/Interactions/Particles/Collisions/Collider.d.ts +2 -3
  712. package/esm/Interactions/Particles/Collisions/Collider.js +4 -5
  713. package/esm/Interactions/Particles/Collisions/index.d.ts +2 -2
  714. package/esm/Interactions/Particles/Links/LinkInstance.d.ts +1 -3
  715. package/esm/Interactions/Particles/Links/LinkParticle.d.ts +1 -1
  716. package/esm/Interactions/Particles/Links/Linker.d.ts +3 -4
  717. package/esm/Interactions/Particles/Links/Linker.js +2 -2
  718. package/esm/Interactions/Particles/Links/index.d.ts +2 -3
  719. package/esm/Interactions/Particles/Links/index.js +1 -4
  720. package/esm/Interactions/Particles/Links/interaction.d.ts +2 -0
  721. package/esm/Interactions/Particles/Links/interaction.js +4 -0
  722. package/esm/Interactions/Particles/Links/plugin.d.ts +2 -2
  723. package/esm/Interactions/Particles/Links/plugin.js +2 -2
  724. package/esm/Options/Classes/AnimatableGradient.js +3 -4
  725. package/esm/Options/Classes/Interactivity/Events/DivEvent.js +1 -2
  726. package/esm/Options/Classes/Interactivity/Interactivity.js +5 -6
  727. package/esm/Options/Classes/Interactivity/Modes/Attract.js +1 -2
  728. package/esm/Options/Classes/Interactivity/Modes/RepulseBase.js +1 -2
  729. package/esm/Options/Classes/Options.d.ts +1 -0
  730. package/esm/Options/Classes/Options.js +9 -7
  731. package/esm/Options/Classes/Particles/Collisions/Collisions.js +1 -2
  732. package/esm/Options/Classes/Particles/Destroy/Destroy.js +1 -2
  733. package/esm/Options/Classes/Particles/Move/Move.js +1 -2
  734. package/esm/Options/Classes/Particles/Move/OutModes.js +1 -2
  735. package/esm/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -3
  736. package/esm/Options/Classes/Particles/Roll/Roll.js +1 -2
  737. package/esm/Options/Classes/Particles/Rotate/Rotate.js +1 -2
  738. package/esm/Options/Classes/Particles/Shape/Shape.js +13 -14
  739. package/esm/Options/Classes/Particles/Size/SizeAnimation.js +2 -3
  740. package/esm/Options/Classes/Particles/Tilt/Tilt.js +1 -2
  741. package/esm/Options/Classes/Responsive.js +4 -5
  742. package/esm/Options/Classes/Theme/ThemeDefault.js +1 -2
  743. package/esm/Options/Interfaces/IOptions.d.ts +1 -0
  744. package/esm/Plugins/Absorbers/AbsorberContainer.d.ts +1 -1
  745. package/esm/Plugins/Absorbers/AbsorberInstance.d.ts +2 -4
  746. package/esm/Plugins/Absorbers/AbsorberInstance.js +4 -5
  747. package/esm/Plugins/Absorbers/Absorbers.d.ts +1 -4
  748. package/esm/Plugins/Absorbers/Absorbers.js +1 -2
  749. package/esm/Plugins/Absorbers/Enums/AbsorberClickMode.d.ts +1 -1
  750. package/esm/Plugins/Absorbers/Enums/AbsorberClickMode.js +1 -4
  751. package/esm/Plugins/Absorbers/index.d.ts +2 -0
  752. package/esm/Plugins/Absorbers/{plugin.js → index.js} +3 -4
  753. package/esm/Plugins/Emitters/EmitterContainer.d.ts +1 -1
  754. package/esm/Plugins/Emitters/EmitterInstance.d.ts +1 -2
  755. package/esm/Plugins/Emitters/EmitterInstance.js +3 -4
  756. package/esm/Plugins/Emitters/Emitters.d.ts +1 -2
  757. package/esm/Plugins/Emitters/Emitters.js +1 -2
  758. package/esm/Plugins/Emitters/EmittersMain.d.ts +2 -2
  759. package/esm/Plugins/Emitters/Enums/EmitterClickMode.d.ts +1 -1
  760. package/esm/Plugins/Emitters/Enums/EmitterClickMode.js +1 -4
  761. package/esm/Plugins/Emitters/Enums/EmitterShapeType.d.ts +1 -1
  762. package/esm/Plugins/Emitters/Enums/EmitterShapeType.js +1 -5
  763. package/esm/Plugins/Emitters/IEmitterShape.d.ts +1 -1
  764. package/esm/Plugins/Emitters/Options/Classes/Emitter.js +1 -2
  765. package/esm/Plugins/Emitters/Options/Classes/EmitterSize.js +1 -2
  766. package/esm/Plugins/Emitters/Shapes/Circle/CircleShape.d.ts +1 -1
  767. package/esm/Plugins/Emitters/Shapes/Square/SquareShape.d.ts +1 -1
  768. package/esm/Plugins/Emitters/{plugin.d.ts → index.d.ts} +0 -0
  769. package/esm/Plugins/Emitters/{plugin.js → index.js} +3 -4
  770. package/esm/Plugins/PolygonMask/Enums/PolygonMaskInlineArrangement.d.ts +8 -0
  771. package/esm/Plugins/PolygonMask/{Options/Interfaces/ILocalSvg.js → Enums/PolygonMaskInlineArrangement.js} +0 -0
  772. package/esm/Plugins/PolygonMask/Enums/PolygonMaskMoveType.d.ts +4 -0
  773. package/esm/Plugins/PolygonMask/{Options/Interfaces/IMove.js → Enums/PolygonMaskMoveType.js} +0 -0
  774. package/{browser/Plugins/PolygonMask/Enums/Type.d.ts → esm/Plugins/PolygonMask/Enums/PolygonMaskType.d.ts} +1 -1
  775. package/esm/Plugins/PolygonMask/{types.js → Enums/PolygonMaskType.js} +0 -0
  776. package/esm/Plugins/PolygonMask/Enums/index.d.ts +3 -3
  777. package/esm/Plugins/PolygonMask/Enums/index.js +3 -3
  778. package/esm/Plugins/PolygonMask/Options/Classes/PolygonMask.d.ts +13 -13
  779. package/esm/Plugins/PolygonMask/Options/Classes/PolygonMask.js +42 -42
  780. package/esm/Plugins/PolygonMask/Options/Classes/{Draw.d.ts → PolygonMaskDraw.d.ts} +5 -5
  781. package/esm/Plugins/PolygonMask/Options/Classes/{Draw.js → PolygonMaskDraw.js} +13 -12
  782. package/esm/Plugins/PolygonMask/Options/Classes/{DrawStroke.d.ts → PolygonMaskDrawStroke.d.ts} +3 -3
  783. package/esm/Plugins/PolygonMask/Options/Classes/PolygonMaskDrawStroke.js +25 -0
  784. package/esm/Plugins/PolygonMask/Options/Classes/PolygonMaskInline.d.ts +9 -0
  785. package/esm/Plugins/PolygonMask/Options/Classes/PolygonMaskInline.js +13 -0
  786. package/esm/Plugins/PolygonMask/Options/Classes/PolygonMaskLocalSvg.d.ts +11 -0
  787. package/esm/Plugins/PolygonMask/Options/Classes/PolygonMaskLocalSvg.js +25 -0
  788. package/esm/Plugins/PolygonMask/Options/Classes/PolygonMaskMove.d.ts +10 -0
  789. package/esm/Plugins/PolygonMask/Options/Classes/PolygonMaskMove.js +17 -0
  790. package/esm/Plugins/PolygonMask/Options/Interfaces/IPolygonMask.d.ts +12 -13
  791. package/esm/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskDraw.d.ts +8 -0
  792. package/esm/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskDraw.js +1 -0
  793. package/esm/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskDrawStroke.d.ts +6 -0
  794. package/esm/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskDrawStroke.js +1 -0
  795. package/esm/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskInline.d.ts +4 -0
  796. package/esm/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskInline.js +1 -0
  797. package/esm/Plugins/PolygonMask/Options/Interfaces/{ILocalSvg.d.ts → IPolygonMaskLocalSvg.d.ts} +2 -2
  798. package/esm/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskLocalSvg.js +1 -0
  799. package/esm/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskMove.d.ts +5 -0
  800. package/esm/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskMove.js +1 -0
  801. package/esm/Plugins/PolygonMask/PolygonMaskInstance.d.ts +2 -4
  802. package/esm/Plugins/PolygonMask/PolygonMaskInstance.js +24 -21
  803. package/esm/Plugins/PolygonMask/{types.d.ts → Types.d.ts} +0 -0
  804. package/esm/Plugins/PolygonMask/Types.js +1 -0
  805. package/{browser/Plugins/PolygonMask/utils.d.ts → esm/Plugins/PolygonMask/Utils.d.ts} +5 -5
  806. package/esm/Plugins/PolygonMask/{utils.js → Utils.js} +15 -12
  807. package/esm/Plugins/PolygonMask/index.d.ts +2 -0
  808. package/esm/Plugins/PolygonMask/{plugin.js → index.js} +4 -5
  809. package/esm/Plugins/PolygonMask/pathseg.js +54 -43
  810. package/esm/Shapes/Circle/CircleDrawer.d.ts +1 -1
  811. package/esm/Shapes/Circle/index.d.ts +2 -2
  812. package/esm/Shapes/Image/ImageDrawer.d.ts +3 -7
  813. package/esm/Shapes/Image/ImageDrawer.js +28 -108
  814. package/esm/Shapes/Image/Utils.d.ts +8 -5
  815. package/esm/Shapes/Image/Utils.js +67 -36
  816. package/esm/Shapes/Image/index.d.ts +2 -2
  817. package/esm/Shapes/Line/LineDrawer.d.ts +1 -1
  818. package/esm/Shapes/Line/index.d.ts +2 -2
  819. package/esm/Shapes/Polygon/PolygonDrawer.d.ts +1 -1
  820. package/esm/Shapes/Polygon/PolygonDrawerBase.d.ts +1 -1
  821. package/esm/Shapes/Polygon/TriangleDrawer.d.ts +1 -1
  822. package/esm/Shapes/Polygon/index.d.ts +4 -4
  823. package/esm/Shapes/Square/SquareDrawer.d.ts +1 -1
  824. package/esm/Shapes/Square/index.d.ts +2 -2
  825. package/esm/Shapes/Star/StarDrawer.d.ts +1 -1
  826. package/esm/Shapes/Star/index.d.ts +2 -2
  827. package/esm/Shapes/Text/TextDrawer.d.ts +1 -2
  828. package/esm/Shapes/Text/index.d.ts +2 -2
  829. package/esm/Updaters/Angle/AngleUpdater.d.ts +1 -3
  830. package/esm/Updaters/Angle/AngleUpdater.js +8 -9
  831. package/esm/Updaters/Angle/index.d.ts +2 -2
  832. package/esm/Updaters/Color/ColorUpdater.d.ts +1 -3
  833. package/esm/Updaters/Color/ColorUpdater.js +3 -4
  834. package/esm/Updaters/Color/index.d.ts +2 -2
  835. package/esm/Updaters/Life/LifeUpdater.d.ts +1 -3
  836. package/esm/Updaters/Life/index.d.ts +2 -2
  837. package/esm/Updaters/Opacity/OpacityUpdater.d.ts +1 -3
  838. package/esm/Updaters/Opacity/OpacityUpdater.js +13 -14
  839. package/esm/Updaters/Opacity/index.d.ts +2 -2
  840. package/esm/Updaters/OutModes/IBounceData.d.ts +1 -2
  841. package/esm/Updaters/OutModes/OutOfCanvasUpdater.d.ts +1 -3
  842. package/esm/Updaters/OutModes/OutOfCanvasUpdater.js +19 -20
  843. package/esm/Updaters/OutModes/Utils.js +12 -13
  844. package/esm/Updaters/OutModes/index.d.ts +2 -2
  845. package/esm/Updaters/Roll/RollUpdater.d.ts +1 -2
  846. package/esm/Updaters/Roll/RollUpdater.js +4 -5
  847. package/esm/Updaters/Roll/index.d.ts +2 -2
  848. package/esm/Updaters/Size/SizeUpdater.d.ts +1 -2
  849. package/esm/Updaters/Size/SizeUpdater.js +6 -7
  850. package/esm/Updaters/Size/index.d.ts +2 -2
  851. package/esm/Updaters/StrokeColor/StrokeColorUpdater.d.ts +1 -3
  852. package/esm/Updaters/StrokeColor/StrokeColorUpdater.js +3 -4
  853. package/esm/Updaters/StrokeColor/index.d.ts +2 -2
  854. package/esm/Updaters/Tilt/TiltUpdater.d.ts +1 -3
  855. package/esm/Updaters/Tilt/TiltUpdater.js +8 -9
  856. package/esm/Updaters/Tilt/index.d.ts +2 -2
  857. package/esm/Updaters/Wobble/WobbleUpdater.d.ts +1 -3
  858. package/esm/Updaters/Wobble/index.d.ts +2 -2
  859. package/esm/Utils/CanvasUtils.d.ts +3 -3
  860. package/esm/Utils/CanvasUtils.js +4 -5
  861. package/esm/Utils/ColorUtils.d.ts +1 -1
  862. package/esm/Utils/ColorUtils.js +2 -3
  863. package/esm/Utils/NumberUtils.d.ts +2 -2
  864. package/esm/Utils/NumberUtils.js +18 -19
  865. package/esm/Utils/Utils.d.ts +1 -1
  866. package/esm/Utils/Utils.js +10 -14
  867. package/esm/Utils/index.d.ts +0 -9
  868. package/esm/Utils/index.js +0 -9
  869. package/{main.d.ts → esm/engine.d.ts} +2 -4
  870. package/esm/{main.js → engine.js} +8 -9
  871. package/esm/full.d.ts +2 -2
  872. package/esm/full.js +3 -3
  873. package/esm/index.d.ts +6 -16
  874. package/esm/index.engine.d.ts +13 -0
  875. package/esm/index.engine.js +11 -0
  876. package/esm/index.js +5 -13
  877. package/esm/index.slim.d.ts +6 -16
  878. package/esm/index.slim.js +5 -13
  879. package/esm/pjs.d.ts +3 -3
  880. package/esm/pjs.js +6 -5
  881. package/esm/slim.d.ts +2 -2
  882. package/full.d.ts +2 -2
  883. package/full.js +6 -6
  884. package/index.d.ts +6 -16
  885. package/index.engine.d.ts +13 -0
  886. package/index.engine.js +27 -0
  887. package/index.js +7 -19
  888. package/index.slim.d.ts +6 -16
  889. package/index.slim.js +7 -19
  890. package/package.json +1 -1
  891. package/pjs.d.ts +3 -3
  892. package/pjs.js +6 -5
  893. package/report.html +2 -2
  894. package/report.slim.html +2 -2
  895. package/scripts/install.js +14 -3
  896. package/slim.d.ts +2 -2
  897. package/tsparticles.engine.js +6746 -0
  898. package/tsparticles.engine.min.js +2 -0
  899. package/tsparticles.interaction.external.attract.js +4976 -0
  900. package/tsparticles.interaction.external.attract.min.js +2 -0
  901. package/tsparticles.interaction.external.bounce.js +4997 -0
  902. package/tsparticles.interaction.external.bounce.min.js +2 -0
  903. package/tsparticles.interaction.external.bubble.js +5083 -0
  904. package/tsparticles.interaction.external.bubble.min.js +2 -0
  905. package/tsparticles.interaction.external.connect.js +4845 -0
  906. package/tsparticles.interaction.external.connect.min.js +2 -0
  907. package/tsparticles.interaction.external.grab.js +4851 -0
  908. package/tsparticles.interaction.external.grab.min.js +2 -0
  909. package/tsparticles.interaction.external.repulse.js +5028 -0
  910. package/tsparticles.interaction.external.repulse.min.js +2 -0
  911. package/tsparticles.interaction.external.trail.js +4853 -0
  912. package/tsparticles.interaction.external.trail.min.js +2 -0
  913. package/tsparticles.interaction.particles.attract.js +4834 -0
  914. package/tsparticles.interaction.particles.attract.min.js +2 -0
  915. package/tsparticles.interaction.particles.collisions.js +4999 -0
  916. package/tsparticles.interaction.particles.collisions.min.js +2 -0
  917. package/tsparticles.interaction.particles.links.js +5071 -0
  918. package/tsparticles.interaction.particles.links.min.js +2 -0
  919. package/tsparticles.js +1297 -1605
  920. package/tsparticles.min.js +2 -2
  921. package/tsparticles.pathseg.min.js +2 -0
  922. package/tsparticles.plugins.absorbers.js +5332 -0
  923. package/tsparticles.plugins.absorbers.min.js +2 -0
  924. package/tsparticles.plugins.emitters.js +5419 -0
  925. package/tsparticles.plugins.emitters.min.js +2 -0
  926. package/tsparticles.plugins.polygonMask.js +5862 -0
  927. package/tsparticles.plugins.polygonMask.min.js +2 -0
  928. package/tsparticles.shape.circle.js +59 -0
  929. package/tsparticles.shape.circle.min.js +2 -0
  930. package/tsparticles.shape.image.js +5021 -0
  931. package/tsparticles.shape.image.min.js +2 -0
  932. package/tsparticles.shape.line.js +60 -0
  933. package/tsparticles.shape.line.min.js +2 -0
  934. package/tsparticles.shape.polygon.js +131 -0
  935. package/tsparticles.shape.polygon.min.js +2 -0
  936. package/tsparticles.shape.square.js +62 -0
  937. package/tsparticles.shape.square.min.js +2 -0
  938. package/tsparticles.shape.star.js +71 -0
  939. package/tsparticles.shape.star.min.js +2 -0
  940. package/tsparticles.shape.text.js +4865 -0
  941. package/tsparticles.shape.text.min.js +2 -0
  942. package/tsparticles.slim.js +1075 -1336
  943. package/tsparticles.slim.min.js +2 -2
  944. package/tsparticles.updater.angle.js +4880 -0
  945. package/tsparticles.updater.angle.min.js +2 -0
  946. package/tsparticles.updater.color.js +4862 -0
  947. package/tsparticles.updater.color.min.js +2 -0
  948. package/tsparticles.updater.life.js +4864 -0
  949. package/tsparticles.updater.life.min.js +2 -0
  950. package/tsparticles.updater.opacity.js +4914 -0
  951. package/tsparticles.updater.opacity.min.js +2 -0
  952. package/tsparticles.updater.outModes.js +4998 -0
  953. package/tsparticles.updater.outModes.min.js +2 -0
  954. package/tsparticles.updater.roll.js +4862 -0
  955. package/tsparticles.updater.roll.min.js +2 -0
  956. package/tsparticles.updater.size.js +4870 -0
  957. package/tsparticles.updater.size.min.js +2 -0
  958. package/tsparticles.updater.strokeColor.js +4875 -0
  959. package/tsparticles.updater.strokeColor.min.js +2 -0
  960. package/tsparticles.updater.tilt.js +4881 -0
  961. package/tsparticles.updater.tilt.min.js +2 -0
  962. package/tsparticles.updater.wobble.js +4850 -0
  963. package/tsparticles.updater.wobble.min.js +2 -0
  964. package/Plugins/Absorbers/plugin.d.ts +0 -2
  965. package/Plugins/PolygonMask/Enums/InlineArrangement.d.ts +0 -8
  966. package/Plugins/PolygonMask/Enums/InlineArrangement.js +0 -11
  967. package/Plugins/PolygonMask/Enums/MoveType.d.ts +0 -4
  968. package/Plugins/PolygonMask/Enums/MoveType.js +0 -8
  969. package/Plugins/PolygonMask/Enums/Type.js +0 -10
  970. package/Plugins/PolygonMask/Options/Classes/DrawStroke.js +0 -28
  971. package/Plugins/PolygonMask/Options/Classes/Inline.d.ts +0 -9
  972. package/Plugins/PolygonMask/Options/Classes/Inline.js +0 -17
  973. package/Plugins/PolygonMask/Options/Classes/LocalSvg.d.ts +0 -11
  974. package/Plugins/PolygonMask/Options/Classes/LocalSvg.js +0 -28
  975. package/Plugins/PolygonMask/Options/Classes/Move.d.ts +0 -10
  976. package/Plugins/PolygonMask/Options/Classes/Move.js +0 -21
  977. package/Plugins/PolygonMask/Options/Interfaces/IDraw.d.ts +0 -8
  978. package/Plugins/PolygonMask/Options/Interfaces/IDrawStroke.d.ts +0 -6
  979. package/Plugins/PolygonMask/Options/Interfaces/IInline.d.ts +0 -4
  980. package/Plugins/PolygonMask/Options/Interfaces/IMove.d.ts +0 -5
  981. package/Plugins/PolygonMask/plugin.d.ts +0 -2
  982. package/browser/Plugins/Absorbers/plugin.d.ts +0 -2
  983. package/browser/Plugins/PolygonMask/Enums/InlineArrangement.d.ts +0 -8
  984. package/browser/Plugins/PolygonMask/Enums/InlineArrangement.js +0 -8
  985. package/browser/Plugins/PolygonMask/Enums/MoveType.d.ts +0 -4
  986. package/browser/Plugins/PolygonMask/Enums/MoveType.js +0 -5
  987. package/browser/Plugins/PolygonMask/Enums/Type.js +0 -7
  988. package/browser/Plugins/PolygonMask/Options/Classes/DrawStroke.js +0 -27
  989. package/browser/Plugins/PolygonMask/Options/Classes/Inline.d.ts +0 -12
  990. package/browser/Plugins/PolygonMask/Options/Classes/Inline.js +0 -16
  991. package/browser/Plugins/PolygonMask/Options/Classes/LocalSvg.js +0 -27
  992. package/browser/Plugins/PolygonMask/Options/Classes/Move.d.ts +0 -13
  993. package/browser/Plugins/PolygonMask/Options/Classes/Move.js +0 -20
  994. package/browser/Plugins/PolygonMask/Options/Interfaces/IInline.d.ts +0 -7
  995. package/browser/Plugins/PolygonMask/Options/Interfaces/IMove.d.ts +0 -8
  996. package/browser/Plugins/PolygonMask/plugin.d.ts +0 -2
  997. package/esm/Plugins/Absorbers/plugin.d.ts +0 -2
  998. package/esm/Plugins/PolygonMask/Enums/InlineArrangement.d.ts +0 -8
  999. package/esm/Plugins/PolygonMask/Enums/InlineArrangement.js +0 -8
  1000. package/esm/Plugins/PolygonMask/Enums/MoveType.d.ts +0 -4
  1001. package/esm/Plugins/PolygonMask/Enums/MoveType.js +0 -5
  1002. package/esm/Plugins/PolygonMask/Enums/Type.js +0 -7
  1003. package/esm/Plugins/PolygonMask/Options/Classes/DrawStroke.js +0 -24
  1004. package/esm/Plugins/PolygonMask/Options/Classes/Inline.d.ts +0 -9
  1005. package/esm/Plugins/PolygonMask/Options/Classes/Inline.js +0 -13
  1006. package/esm/Plugins/PolygonMask/Options/Classes/LocalSvg.d.ts +0 -11
  1007. package/esm/Plugins/PolygonMask/Options/Classes/LocalSvg.js +0 -24
  1008. package/esm/Plugins/PolygonMask/Options/Classes/Move.d.ts +0 -10
  1009. package/esm/Plugins/PolygonMask/Options/Classes/Move.js +0 -17
  1010. package/esm/Plugins/PolygonMask/Options/Interfaces/IDraw.d.ts +0 -8
  1011. package/esm/Plugins/PolygonMask/Options/Interfaces/IDrawStroke.d.ts +0 -6
  1012. package/esm/Plugins/PolygonMask/Options/Interfaces/IInline.d.ts +0 -4
  1013. package/esm/Plugins/PolygonMask/Options/Interfaces/IMove.d.ts +0 -5
  1014. package/esm/Plugins/PolygonMask/plugin.d.ts +0 -2
  1015. package/tsparticles.pathseg.js +0 -1472
@@ -1033,9 +1033,9 @@
1033
1033
  window.SVGPathElement.prototype.getPathSegAtLength = function (distance) {
1034
1034
  if (distance === undefined || !isFinite(distance))
1035
1035
  throw "Invalid arguments.";
1036
- var measurementElement = document.createElementNS("http://www.w3.org/2000/svg", "path");
1036
+ const measurementElement = document.createElementNS("http://www.w3.org/2000/svg", "path");
1037
1037
  measurementElement.setAttribute("d", this.getAttribute("d"));
1038
- var lastPathSegment = measurementElement.pathSegList.numberOfItems - 1;
1038
+ let lastPathSegment = measurementElement.pathSegList.numberOfItems - 1;
1039
1039
  if (lastPathSegment <= 0)
1040
1040
  return 0;
1041
1041
  do {
@@ -1103,7 +1103,7 @@
1103
1103
  window.SVGPathSegList.prototype._updateListFromPathMutations = function (mutationRecords) {
1104
1104
  if (!this._pathElement)
1105
1105
  return;
1106
- var hasPathMutations = false;
1106
+ let hasPathMutations = false;
1107
1107
  mutationRecords.forEach(function (record) {
1108
1108
  if (record.attributeName == "d")
1109
1109
  hasPathMutations = true;
@@ -1169,7 +1169,7 @@
1169
1169
  window.SVGPathSegList.prototype.removeItem = function (index) {
1170
1170
  this._checkPathSynchronizedToList();
1171
1171
  this._checkValidIndex(index);
1172
- var item = this._list[index];
1172
+ const item = this._list[index];
1173
1173
  this._list.splice(index, 1);
1174
1174
  this._writeListToPath();
1175
1175
  return item;
@@ -1185,8 +1185,8 @@
1185
1185
  return newItem;
1186
1186
  };
1187
1187
  window.SVGPathSegList._pathSegArrayAsString = function (pathSegArray) {
1188
- var string = "";
1189
- var first = true;
1188
+ let string = "";
1189
+ let first = true;
1190
1190
  pathSegArray.forEach(function (pathSeg) {
1191
1191
  if (first) {
1192
1192
  first = false;
@@ -1201,14 +1201,14 @@
1201
1201
  window.SVGPathSegList.prototype._parsePath = function (string) {
1202
1202
  if (!string || string.length == 0)
1203
1203
  return [];
1204
- var owningPathSegList = this;
1205
- var Builder = function () {
1204
+ const owningPathSegList = this;
1205
+ const Builder = function () {
1206
1206
  this.pathSegList = [];
1207
1207
  };
1208
1208
  Builder.prototype.appendSegment = function (pathSeg) {
1209
1209
  this.pathSegList.push(pathSeg);
1210
1210
  };
1211
- var Source = function (string) {
1211
+ const Source = function (string) {
1212
1212
  this._string = string;
1213
1213
  this._currentIndex = 0;
1214
1214
  this._endIndex = this._string.length;
@@ -1216,9 +1216,13 @@
1216
1216
  this._skipOptionalSpaces();
1217
1217
  };
1218
1218
  Source.prototype._isCurrentSpace = function () {
1219
- var character = this._string[this._currentIndex];
1219
+ const character = this._string[this._currentIndex];
1220
1220
  return (character <= " " &&
1221
- (character == " " || character == "\n" || character == "\t" || character == "\r" || character == "\f"));
1221
+ (character == " " ||
1222
+ character == "\n" ||
1223
+ character == "\t" ||
1224
+ character == "\r" ||
1225
+ character == "\f"));
1222
1226
  };
1223
1227
  Source.prototype._skipOptionalSpaces = function () {
1224
1228
  while (this._currentIndex < this._endIndex && this._isCurrentSpace())
@@ -1242,7 +1246,7 @@
1242
1246
  return this._currentIndex < this._endIndex;
1243
1247
  };
1244
1248
  Source.prototype.peekSegmentType = function () {
1245
- var lookahead = this._string[this._currentIndex];
1249
+ const lookahead = this._string[this._currentIndex];
1246
1250
  return this._pathSegTypeFromChar(lookahead);
1247
1251
  };
1248
1252
  Source.prototype._pathSegTypeFromChar = function (lookahead) {
@@ -1291,7 +1295,10 @@
1291
1295
  }
1292
1296
  };
1293
1297
  Source.prototype._nextCommandHelper = function (lookahead, previousCommand) {
1294
- if ((lookahead == "+" || lookahead == "-" || lookahead == "." || (lookahead >= "0" && lookahead <= "9")) &&
1298
+ if ((lookahead == "+" ||
1299
+ lookahead == "-" ||
1300
+ lookahead == "." ||
1301
+ (lookahead >= "0" && lookahead <= "9")) &&
1295
1302
  previousCommand != window.SVGPathSeg.PATHSEG_CLOSEPATH) {
1296
1303
  if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_ABS)
1297
1304
  return window.SVGPathSeg.PATHSEG_LINETO_ABS;
@@ -1304,17 +1311,18 @@
1304
1311
  Source.prototype.initialCommandIsMoveTo = function () {
1305
1312
  if (!this.hasMoreData())
1306
1313
  return true;
1307
- var command = this.peekSegmentType();
1308
- return command == window.SVGPathSeg.PATHSEG_MOVETO_ABS || command == window.SVGPathSeg.PATHSEG_MOVETO_REL;
1314
+ const command = this.peekSegmentType();
1315
+ return (command == window.SVGPathSeg.PATHSEG_MOVETO_ABS ||
1316
+ command == window.SVGPathSeg.PATHSEG_MOVETO_REL);
1309
1317
  };
1310
1318
  Source.prototype._parseNumber = function () {
1311
- var exponent = 0;
1312
- var integer = 0;
1313
- var frac = 1;
1314
- var decimal = 0;
1315
- var sign = 1;
1316
- var expsign = 1;
1317
- var startIndex = this._currentIndex;
1319
+ let exponent = 0;
1320
+ let integer = 0;
1321
+ let frac = 1;
1322
+ let decimal = 0;
1323
+ let sign = 1;
1324
+ let expsign = 1;
1325
+ const startIndex = this._currentIndex;
1318
1326
  this._skipOptionalSpaces();
1319
1327
  if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == "+")
1320
1328
  this._currentIndex++;
@@ -1323,17 +1331,18 @@
1323
1331
  sign = -1;
1324
1332
  }
1325
1333
  if (this._currentIndex == this._endIndex ||
1326
- ((this._string.charAt(this._currentIndex) < "0" || this._string.charAt(this._currentIndex) > "9") &&
1334
+ ((this._string.charAt(this._currentIndex) < "0" ||
1335
+ this._string.charAt(this._currentIndex) > "9") &&
1327
1336
  this._string.charAt(this._currentIndex) != "."))
1328
1337
  return undefined;
1329
- var startIntPartIndex = this._currentIndex;
1338
+ const startIntPartIndex = this._currentIndex;
1330
1339
  while (this._currentIndex < this._endIndex &&
1331
1340
  this._string.charAt(this._currentIndex) >= "0" &&
1332
1341
  this._string.charAt(this._currentIndex) <= "9")
1333
1342
  this._currentIndex++;
1334
1343
  if (this._currentIndex != startIntPartIndex) {
1335
- var scanIntPartIndex = this._currentIndex - 1;
1336
- var multiplier = 1;
1344
+ let scanIntPartIndex = this._currentIndex - 1;
1345
+ let multiplier = 1;
1337
1346
  while (scanIntPartIndex >= startIntPartIndex) {
1338
1347
  integer += multiplier * (this._string.charAt(scanIntPartIndex--) - "0");
1339
1348
  multiplier *= 10;
@@ -1355,7 +1364,8 @@
1355
1364
  }
1356
1365
  if (this._currentIndex != startIndex &&
1357
1366
  this._currentIndex + 1 < this._endIndex &&
1358
- (this._string.charAt(this._currentIndex) == "e" || this._string.charAt(this._currentIndex) == "E") &&
1367
+ (this._string.charAt(this._currentIndex) == "e" ||
1368
+ this._string.charAt(this._currentIndex) == "E") &&
1359
1369
  this._string.charAt(this._currentIndex + 1) != "x" &&
1360
1370
  this._string.charAt(this._currentIndex + 1) != "m") {
1361
1371
  this._currentIndex++;
@@ -1378,7 +1388,7 @@
1378
1388
  this._currentIndex++;
1379
1389
  }
1380
1390
  }
1381
- var number = integer + decimal;
1391
+ let number = integer + decimal;
1382
1392
  number *= sign;
1383
1393
  if (exponent)
1384
1394
  number *= Math.pow(10, expsign * exponent);
@@ -1390,8 +1400,8 @@
1390
1400
  Source.prototype._parseArcFlag = function () {
1391
1401
  if (this._currentIndex >= this._endIndex)
1392
1402
  return undefined;
1393
- var flag = false;
1394
- var flagChar = this._string.charAt(this._currentIndex++);
1403
+ let flag = false;
1404
+ const flagChar = this._string.charAt(this._currentIndex++);
1395
1405
  if (flagChar == "0")
1396
1406
  flag = false;
1397
1407
  else if (flagChar == "1")
@@ -1402,8 +1412,8 @@
1402
1412
  return flag;
1403
1413
  };
1404
1414
  Source.prototype.parseSegment = function () {
1405
- var lookahead = this._string[this._currentIndex];
1406
- var command = this._pathSegTypeFromChar(lookahead);
1415
+ const lookahead = this._string[this._currentIndex];
1416
+ let command = this._pathSegTypeFromChar(lookahead);
1407
1417
  if (command == window.SVGPathSeg.PATHSEG_UNKNOWN) {
1408
1418
  if (this._previousCommand == window.SVGPathSeg.PATHSEG_UNKNOWN)
1409
1419
  return null;
@@ -1415,6 +1425,7 @@
1415
1425
  this._currentIndex++;
1416
1426
  }
1417
1427
  this._previousCommand = command;
1428
+ let points;
1418
1429
  switch (command) {
1419
1430
  case window.SVGPathSeg.PATHSEG_MOVETO_REL:
1420
1431
  return new window.SVGPathSegMovetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());
@@ -1436,7 +1447,7 @@
1436
1447
  this._skipOptionalSpaces();
1437
1448
  return new window.SVGPathSegClosePath(owningPathSegList);
1438
1449
  case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:
1439
- var points = {
1450
+ points = {
1440
1451
  x1: this._parseNumber(),
1441
1452
  y1: this._parseNumber(),
1442
1453
  x2: this._parseNumber(),
@@ -1446,7 +1457,7 @@
1446
1457
  };
1447
1458
  return new window.SVGPathSegCurvetoCubicRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);
1448
1459
  case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:
1449
- var points = {
1460
+ points = {
1450
1461
  x1: this._parseNumber(),
1451
1462
  y1: this._parseNumber(),
1452
1463
  x2: this._parseNumber(),
@@ -1456,7 +1467,7 @@
1456
1467
  };
1457
1468
  return new window.SVGPathSegCurvetoCubicAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);
1458
1469
  case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:
1459
- var points = {
1470
+ points = {
1460
1471
  x2: this._parseNumber(),
1461
1472
  y2: this._parseNumber(),
1462
1473
  x: this._parseNumber(),
@@ -1464,7 +1475,7 @@
1464
1475
  };
1465
1476
  return new window.SVGPathSegCurvetoCubicSmoothRel(owningPathSegList, points.x, points.y, points.x2, points.y2);
1466
1477
  case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:
1467
- var points = {
1478
+ points = {
1468
1479
  x2: this._parseNumber(),
1469
1480
  y2: this._parseNumber(),
1470
1481
  x: this._parseNumber(),
@@ -1472,7 +1483,7 @@
1472
1483
  };
1473
1484
  return new window.SVGPathSegCurvetoCubicSmoothAbs(owningPathSegList, points.x, points.y, points.x2, points.y2);
1474
1485
  case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:
1475
- var points = {
1486
+ points = {
1476
1487
  x1: this._parseNumber(),
1477
1488
  y1: this._parseNumber(),
1478
1489
  x: this._parseNumber(),
@@ -1480,7 +1491,7 @@
1480
1491
  };
1481
1492
  return new window.SVGPathSegCurvetoQuadraticRel(owningPathSegList, points.x, points.y, points.x1, points.y1);
1482
1493
  case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:
1483
- var points = {
1494
+ points = {
1484
1495
  x1: this._parseNumber(),
1485
1496
  y1: this._parseNumber(),
1486
1497
  x: this._parseNumber(),
@@ -1492,7 +1503,7 @@
1492
1503
  case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:
1493
1504
  return new window.SVGPathSegCurvetoQuadraticSmoothAbs(owningPathSegList, this._parseNumber(), this._parseNumber());
1494
1505
  case window.SVGPathSeg.PATHSEG_ARC_REL:
1495
- var points = {
1506
+ points = {
1496
1507
  x1: this._parseNumber(),
1497
1508
  y1: this._parseNumber(),
1498
1509
  arcAngle: this._parseNumber(),
@@ -1503,7 +1514,7 @@
1503
1514
  };
1504
1515
  return new window.SVGPathSegArcRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);
1505
1516
  case window.SVGPathSeg.PATHSEG_ARC_ABS:
1506
- var points = {
1517
+ points = {
1507
1518
  x1: this._parseNumber(),
1508
1519
  y1: this._parseNumber(),
1509
1520
  arcAngle: this._parseNumber(),
@@ -1517,12 +1528,12 @@
1517
1528
  throw "Unknown path seg type.";
1518
1529
  }
1519
1530
  };
1520
- var builder = new Builder();
1521
- var source = new Source(string);
1531
+ const builder = new Builder();
1532
+ const source = new Source(string);
1522
1533
  if (!source.initialCommandIsMoveTo())
1523
1534
  return [];
1524
1535
  while (source.hasMoreData()) {
1525
- var pathSeg = source.parseSegment();
1536
+ const pathSeg = source.parseSegment();
1526
1537
  if (!pathSeg)
1527
1538
  return [];
1528
1539
  builder.appendSegment(pathSeg);
@@ -1,4 +1,4 @@
1
- import type { IParticle, IShapeDrawer } from "../../Core/Interfaces";
1
+ import type { IParticle, IShapeDrawer } from "../../Core";
2
2
  export declare class CircleDrawer implements IShapeDrawer {
3
3
  getSidesCount(): number;
4
4
  draw(context: CanvasRenderingContext2D, particle: IParticle, radius: number): void;
@@ -1,2 +1,2 @@
1
- import type { Main } from "../../main";
2
- export declare function loadCircleShape(tsParticles: Main): Promise<void>;
1
+ import type { Engine } from "../../engine";
2
+ export declare function loadCircleShape(tsParticles: Engine): Promise<void>;
@@ -1,7 +1,5 @@
1
- import type { IParticle, IShapeDrawer } from "../../Core/Interfaces";
2
- import type { Container } from "../../Core/Container";
3
- import type { IImage } from "./Utils";
4
- import { Particle } from "../../Core/Particle";
1
+ import type { Container, IShapeDrawer, Particle } from "../../Core";
2
+ import type { IImage, IImageParticle } from "./Utils";
5
3
  interface ContainerImage {
6
4
  id: string;
7
5
  images: IImage[];
@@ -12,11 +10,9 @@ export declare class ImageDrawer implements IShapeDrawer {
12
10
  getSidesCount(): number;
13
11
  getImages(container: Container): ContainerImage;
14
12
  addImage(container: Container, image: IImage): void;
15
- init(container: Container): Promise<void>;
16
13
  destroy(): void;
17
- private loadImagesFromParticlesOptions;
18
14
  private loadImageShape;
19
- draw(context: CanvasRenderingContext2D, particle: IParticle, radius: number, opacity: number): void;
15
+ draw(context: CanvasRenderingContext2D, particle: IImageParticle, radius: number, opacity: number): void;
20
16
  loadShape(particle: Particle): void;
21
17
  }
22
18
  export {};
@@ -10,9 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
12
  var _ImageDrawer_images;
13
- import { isInArray } from "../../Utils";
14
- import { ShapeType } from "../../Enums";
15
- import { downloadSvgImage, loadImage, replaceColorSvg } from "./Utils";
13
+ import { downloadSvgImage, loadImage, replaceImageColor } from "./Utils";
16
14
  export class ImageDrawer {
17
15
  constructor() {
18
16
  _ImageDrawer_images.set(this, void 0);
@@ -38,86 +36,31 @@ export class ImageDrawer {
38
36
  const containerImages = this.getImages(container);
39
37
  containerImages === null || containerImages === void 0 ? void 0 : containerImages.images.push(image);
40
38
  }
41
- async init(container) {
42
- await this.loadImagesFromParticlesOptions(container, container.actualOptions.particles);
43
- await this.loadImagesFromParticlesOptions(container, container.actualOptions.interactivity.modes.trail.particles);
44
- for (const manualParticle of container.actualOptions.manualParticles) {
45
- await this.loadImagesFromParticlesOptions(container, manualParticle.options);
46
- }
47
- const emitterOptions = container.actualOptions;
48
- if (emitterOptions.emitters) {
49
- if (emitterOptions.emitters instanceof Array) {
50
- for (const emitter of emitterOptions.emitters) {
51
- await this.loadImagesFromParticlesOptions(container, emitter.particles);
52
- }
53
- }
54
- else {
55
- await this.loadImagesFromParticlesOptions(container, emitterOptions.emitters.particles);
56
- }
57
- }
58
- const interactiveEmitters = emitterOptions.interactivity.modes.emitters;
59
- if (interactiveEmitters) {
60
- if (interactiveEmitters instanceof Array) {
61
- for (const emitter of interactiveEmitters) {
62
- await this.loadImagesFromParticlesOptions(container, emitter.particles);
63
- }
64
- }
65
- else {
66
- await this.loadImagesFromParticlesOptions(container, interactiveEmitters.particles);
67
- }
68
- }
69
- }
70
39
  destroy() {
71
40
  __classPrivateFieldSet(this, _ImageDrawer_images, [], "f");
72
41
  }
73
- async loadImagesFromParticlesOptions(container, options) {
74
- var _a, _b, _c;
75
- const shapeOptions = options === null || options === void 0 ? void 0 : options.shape;
76
- if (!(shapeOptions === null || shapeOptions === void 0 ? void 0 : shapeOptions.type) ||
77
- !shapeOptions.options ||
78
- (!isInArray(ShapeType.image, shapeOptions.type) && !isInArray(ShapeType.images, shapeOptions.type))) {
79
- return;
80
- }
81
- const idx = __classPrivateFieldGet(this, _ImageDrawer_images, "f").findIndex((t) => t.id === container.id);
82
- if (idx >= 0) {
83
- __classPrivateFieldGet(this, _ImageDrawer_images, "f").splice(idx, 1);
84
- }
85
- const imageOptions = (_a = shapeOptions.options[ShapeType.images]) !== null && _a !== void 0 ? _a : shapeOptions.options[ShapeType.image];
86
- if (imageOptions instanceof Array) {
87
- for (const optionsImage of imageOptions) {
88
- await this.loadImageShape(container, optionsImage);
89
- }
90
- }
91
- else {
92
- await this.loadImageShape(container, imageOptions);
93
- }
94
- if (options === null || options === void 0 ? void 0 : options.groups) {
95
- for (const groupName in options.groups) {
96
- const group = options.groups[groupName];
97
- await this.loadImagesFromParticlesOptions(container, group);
98
- }
99
- }
100
- if ((_c = (_b = options === null || options === void 0 ? void 0 : options.destroy) === null || _b === void 0 ? void 0 : _b.split) === null || _c === void 0 ? void 0 : _c.particles) {
101
- await this.loadImagesFromParticlesOptions(container, options === null || options === void 0 ? void 0 : options.destroy.split.particles);
102
- }
103
- }
104
42
  async loadImageShape(container, imageShape) {
43
+ const source = imageShape.src;
44
+ if (!source) {
45
+ throw new Error("Error tsParticles - No image.src");
46
+ }
105
47
  try {
48
+ const image = {
49
+ source: source,
50
+ type: source.substr(source.length - 3),
51
+ error: false,
52
+ loading: true,
53
+ };
54
+ this.addImage(container, image);
106
55
  const imageFunc = imageShape.replaceColor ? downloadSvgImage : loadImage;
107
- const image = await imageFunc(imageShape.src);
108
- if (image) {
109
- this.addImage(container, image);
110
- }
56
+ await imageFunc(image);
111
57
  }
112
58
  catch (_a) {
113
- console.warn(`tsParticles error - ${imageShape.src} not found`);
59
+ throw new Error(`tsParticles error - ${imageShape.src} not found`);
114
60
  }
115
61
  }
116
62
  draw(context, particle, radius, opacity) {
117
63
  var _a, _b;
118
- if (!context) {
119
- return;
120
- }
121
64
  const image = particle.image;
122
65
  const element = (_a = image === null || image === void 0 ? void 0 : image.data) === null || _a === void 0 ? void 0 : _a.element;
123
66
  if (!element) {
@@ -137,64 +80,41 @@ export class ImageDrawer {
137
80
  }
138
81
  }
139
82
  loadShape(particle) {
140
- var _a, _b, _c, _d, _e, _f, _g;
83
+ var _a, _b, _c;
141
84
  if (particle.shape !== "image" && particle.shape !== "images") {
142
85
  return;
143
86
  }
144
87
  const images = this.getImages(particle.container).images;
145
88
  const imageData = particle.shapeData;
146
- const image = (_a = images.find((t) => t.source === imageData.src)) !== null && _a !== void 0 ? _a : images[0];
147
- const color = particle.getFillColor();
89
+ const image = images.find((t) => t.source === imageData.src);
148
90
  let imageRes;
149
91
  if (!image) {
92
+ this.loadImageShape(particle.container, imageData).then(() => {
93
+ this.loadShape(particle);
94
+ });
150
95
  return;
151
96
  }
152
- if (image.svgData !== undefined && imageData.replaceColor && color) {
153
- const svgColoredData = replaceColorSvg(image, color, (_c = (_b = particle.opacity) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : 1);
154
- const svg = new Blob([svgColoredData], { type: "image/svg+xml" });
155
- const domUrl = URL || window.URL || window.webkitURL || window;
156
- const url = domUrl.createObjectURL(svg);
157
- const img = new Image();
158
- imageRes = {
159
- data: Object.assign(Object.assign({}, image), { svgData: svgColoredData }),
160
- ratio: imageData.width / imageData.height,
161
- replaceColor: (_d = imageData.replaceColor) !== null && _d !== void 0 ? _d : imageData.replace_color,
162
- source: imageData.src,
163
- };
164
- img.addEventListener("load", () => {
165
- const pImage = particle.image;
166
- if (pImage) {
167
- pImage.loaded = true;
168
- image.element = img;
169
- }
170
- domUrl.revokeObjectURL(url);
171
- });
172
- img.addEventListener("error", () => {
173
- domUrl.revokeObjectURL(url);
174
- loadImage(imageData.src).then((img2) => {
175
- const pImage = particle.image;
176
- if (pImage) {
177
- image.element = img2 === null || img2 === void 0 ? void 0 : img2.element;
178
- pImage.loaded = true;
179
- }
180
- });
181
- });
182
- img.src = url;
97
+ if (image.error) {
98
+ return;
99
+ }
100
+ const color = particle.getFillColor();
101
+ if (image.svgData && imageData.replaceColor && color) {
102
+ imageRes = replaceImageColor(image, imageData, color, particle);
183
103
  }
184
104
  else {
185
105
  imageRes = {
186
106
  data: image,
187
107
  loaded: true,
188
108
  ratio: imageData.width / imageData.height,
189
- replaceColor: (_e = imageData.replaceColor) !== null && _e !== void 0 ? _e : imageData.replace_color,
109
+ replaceColor: (_a = imageData.replaceColor) !== null && _a !== void 0 ? _a : imageData.replace_color,
190
110
  source: imageData.src,
191
111
  };
192
112
  }
193
113
  if (!imageRes.ratio) {
194
114
  imageRes.ratio = 1;
195
115
  }
196
- const fill = (_f = imageData.fill) !== null && _f !== void 0 ? _f : particle.fill;
197
- const close = (_g = imageData.close) !== null && _g !== void 0 ? _g : particle.close;
116
+ const fill = (_b = imageData.fill) !== null && _b !== void 0 ? _b : particle.fill;
117
+ const close = (_c = imageData.close) !== null && _c !== void 0 ? _c : particle.close;
198
118
  const imageShape = {
199
119
  image: imageRes,
200
120
  fill,
@@ -1,9 +1,12 @@
1
- import type { IHsl, IParticle } from "../../Core/Interfaces";
1
+ import type { IHsl, IParticle, Particle } from "../../Core";
2
+ import type { IImageShape } from "../../Options/Interfaces/Particles/Shape/IImageShape";
2
3
  export interface IImage {
3
4
  source: string;
4
5
  type: string;
5
6
  element?: HTMLImageElement;
6
7
  svgData?: string;
8
+ error: boolean;
9
+ loading: boolean;
7
10
  }
8
11
  export interface IParticleImage {
9
12
  source: string;
@@ -18,8 +21,8 @@ export interface ContainerImage {
18
21
  images: IImage[];
19
22
  }
20
23
  export declare type IImageParticle = IParticle & {
21
- image: IParticleImage;
24
+ image?: IParticleImage;
22
25
  };
23
- export declare function loadImage(source: string): Promise<IImage | undefined>;
24
- export declare function downloadSvgImage(source: string): Promise<IImage | undefined>;
25
- export declare function replaceColorSvg(imageShape: IImage, color: IHsl, opacity: number): string;
26
+ export declare function loadImage(image: IImage): Promise<void>;
27
+ export declare function downloadSvgImage(image: IImage): Promise<void>;
28
+ export declare function replaceImageColor(image: IImage, imageData: IImageShape, color: IHsl, particle: Particle): IParticleImage;
@@ -1,52 +1,83 @@
1
1
  import { getStyleFromHsl } from "../../Utils";
2
- export function loadImage(source) {
3
- return new Promise((resolve, reject) => {
4
- if (!source) {
5
- reject("Error tsParticles - No image.src");
6
- return;
7
- }
8
- const image = {
9
- source: source,
10
- type: source.substr(source.length - 3),
11
- };
2
+ const currentColorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d.]+%?\))|currentcolor/gi;
3
+ function replaceColorSvg(imageShape, color, opacity) {
4
+ const { svgData } = imageShape;
5
+ if (!svgData) {
6
+ return "";
7
+ }
8
+ const colorStyle = getStyleFromHsl(color, opacity);
9
+ if (svgData.includes("fill")) {
10
+ return svgData.replace(currentColorRegex, () => colorStyle);
11
+ }
12
+ const preFillIndex = svgData.indexOf(">");
13
+ return `${svgData.substring(0, preFillIndex)} fill="${colorStyle}"${svgData.substring(preFillIndex)}`;
14
+ }
15
+ export async function loadImage(image) {
16
+ return new Promise((resolve) => {
17
+ image.loading = true;
12
18
  const img = new Image();
13
19
  img.addEventListener("load", () => {
14
20
  image.element = img;
15
- resolve(image);
21
+ image.loading = false;
22
+ resolve();
16
23
  });
17
24
  img.addEventListener("error", () => {
18
- reject(`Error tsParticles - loading image: ${source}`);
25
+ image.error = true;
26
+ image.loading = false;
27
+ console.error(`Error tsParticles - loading image: ${image.source}`);
28
+ resolve();
19
29
  });
20
- img.src = source;
30
+ img.src = image.source;
21
31
  });
22
32
  }
23
- export async function downloadSvgImage(source) {
24
- if (!source) {
25
- throw new Error("Error tsParticles - No image.src");
26
- }
27
- const image = {
28
- source: source,
29
- type: source.substr(source.length - 3),
30
- };
33
+ export async function downloadSvgImage(image) {
31
34
  if (image.type !== "svg") {
32
- return loadImage(source);
35
+ await loadImage(image);
36
+ return;
33
37
  }
38
+ image.loading = true;
34
39
  const response = await fetch(image.source);
40
+ image.loading = false;
35
41
  if (!response.ok) {
36
- throw new Error("Error tsParticles - Image not found");
42
+ console.error("Error tsParticles - Image not found");
43
+ image.error = true;
37
44
  }
38
- image.svgData = await response.text();
39
- return image;
40
- }
41
- export function replaceColorSvg(imageShape, color, opacity) {
42
- const { svgData } = imageShape;
43
- if (!svgData) {
44
- return "";
45
- }
46
- if (svgData.includes("fill")) {
47
- const currentColor = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d.]+%?\))|currentcolor/gi;
48
- return svgData.replace(currentColor, () => getStyleFromHsl(color, opacity));
45
+ if (!image.error) {
46
+ image.svgData = await response.text();
49
47
  }
50
- const preFillIndex = svgData.indexOf(">");
51
- return `${svgData.substring(0, preFillIndex)} fill="${getStyleFromHsl(color, opacity)}"${svgData.substring(preFillIndex)}`;
48
+ }
49
+ export function replaceImageColor(image, imageData, color, particle) {
50
+ var _a, _b, _c;
51
+ const svgColoredData = replaceColorSvg(image, color, (_b = (_a = particle.opacity) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 1);
52
+ const svg = new Blob([svgColoredData], { type: "image/svg+xml" });
53
+ const domUrl = URL || window.URL || window.webkitURL || window;
54
+ const url = domUrl.createObjectURL(svg);
55
+ const img = new Image();
56
+ const imageRes = {
57
+ data: Object.assign(Object.assign({}, image), { svgData: svgColoredData }),
58
+ ratio: imageData.width / imageData.height,
59
+ replaceColor: (_c = imageData.replaceColor) !== null && _c !== void 0 ? _c : imageData.replace_color,
60
+ source: imageData.src,
61
+ };
62
+ img.addEventListener("load", () => {
63
+ const pImage = particle.image;
64
+ if (pImage) {
65
+ pImage.loaded = true;
66
+ image.element = img;
67
+ }
68
+ domUrl.revokeObjectURL(url);
69
+ });
70
+ img.addEventListener("error", () => {
71
+ domUrl.revokeObjectURL(url);
72
+ const img2 = Object.assign(Object.assign({}, image), { error: false, loading: true });
73
+ loadImage(img2).then(() => {
74
+ const pImage = particle.image;
75
+ if (pImage) {
76
+ image.element = img2.element;
77
+ pImage.loaded = true;
78
+ }
79
+ });
80
+ });
81
+ img.src = url;
82
+ return imageRes;
52
83
  }
@@ -1,2 +1,2 @@
1
- import type { Main } from "../../main";
2
- export declare function loadImageShape(tsParticles: Main): Promise<void>;
1
+ import type { Engine } from "../../engine";
2
+ export declare function loadImageShape(tsParticles: Engine): Promise<void>;