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
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  // SVGPathSeg API polyfill
3
- // https://github.com/progers/pathseg
4
3
  //
5
4
  // This is a drop-in replacement for the SVGPathSeg and SVGPathSegList APIs that were removed from
6
5
  // SVG2 (https://lists.w3.org/Archives/Public/www-svg/2015Jun/0044.html), including the latest spec
@@ -1049,9 +1048,9 @@
1049
1048
  window.SVGPathElement.prototype.getPathSegAtLength = function (distance) {
1050
1049
  if (distance === undefined || !isFinite(distance))
1051
1050
  throw "Invalid arguments.";
1052
- var measurementElement = document.createElementNS("http://www.w3.org/2000/svg", "path");
1051
+ const measurementElement = document.createElementNS("http://www.w3.org/2000/svg", "path");
1053
1052
  measurementElement.setAttribute("d", this.getAttribute("d"));
1054
- var lastPathSegment = measurementElement.pathSegList.numberOfItems - 1;
1053
+ let lastPathSegment = measurementElement.pathSegList.numberOfItems - 1;
1055
1054
  // If the path is empty, return 0.
1056
1055
  if (lastPathSegment <= 0)
1057
1056
  return 0;
@@ -1134,7 +1133,7 @@
1134
1133
  window.SVGPathSegList.prototype._updateListFromPathMutations = function (mutationRecords) {
1135
1134
  if (!this._pathElement)
1136
1135
  return;
1137
- var hasPathMutations = false;
1136
+ let hasPathMutations = false;
1138
1137
  mutationRecords.forEach(function (record) {
1139
1138
  if (record.attributeName == "d")
1140
1139
  hasPathMutations = true;
@@ -1205,7 +1204,7 @@
1205
1204
  window.SVGPathSegList.prototype.removeItem = function (index) {
1206
1205
  this._checkPathSynchronizedToList();
1207
1206
  this._checkValidIndex(index);
1208
- var item = this._list[index];
1207
+ const item = this._list[index];
1209
1208
  this._list.splice(index, 1);
1210
1209
  this._writeListToPath();
1211
1210
  return item;
@@ -1223,8 +1222,8 @@
1223
1222
  return newItem;
1224
1223
  };
1225
1224
  window.SVGPathSegList._pathSegArrayAsString = function (pathSegArray) {
1226
- var string = "";
1227
- var first = true;
1225
+ let string = "";
1226
+ let first = true;
1228
1227
  pathSegArray.forEach(function (pathSeg) {
1229
1228
  if (first) {
1230
1229
  first = false;
@@ -1240,14 +1239,14 @@
1240
1239
  window.SVGPathSegList.prototype._parsePath = function (string) {
1241
1240
  if (!string || string.length == 0)
1242
1241
  return [];
1243
- var owningPathSegList = this;
1244
- var Builder = function () {
1242
+ const owningPathSegList = this;
1243
+ const Builder = function () {
1245
1244
  this.pathSegList = [];
1246
1245
  };
1247
1246
  Builder.prototype.appendSegment = function (pathSeg) {
1248
1247
  this.pathSegList.push(pathSeg);
1249
1248
  };
1250
- var Source = function (string) {
1249
+ const Source = function (string) {
1251
1250
  this._string = string;
1252
1251
  this._currentIndex = 0;
1253
1252
  this._endIndex = this._string.length;
@@ -1255,9 +1254,13 @@
1255
1254
  this._skipOptionalSpaces();
1256
1255
  };
1257
1256
  Source.prototype._isCurrentSpace = function () {
1258
- var character = this._string[this._currentIndex];
1257
+ const character = this._string[this._currentIndex];
1259
1258
  return (character <= " " &&
1260
- (character == " " || character == "\n" || character == "\t" || character == "\r" || character == "\f"));
1259
+ (character == " " ||
1260
+ character == "\n" ||
1261
+ character == "\t" ||
1262
+ character == "\r" ||
1263
+ character == "\f"));
1261
1264
  };
1262
1265
  Source.prototype._skipOptionalSpaces = function () {
1263
1266
  while (this._currentIndex < this._endIndex && this._isCurrentSpace())
@@ -1281,7 +1284,7 @@
1281
1284
  return this._currentIndex < this._endIndex;
1282
1285
  };
1283
1286
  Source.prototype.peekSegmentType = function () {
1284
- var lookahead = this._string[this._currentIndex];
1287
+ const lookahead = this._string[this._currentIndex];
1285
1288
  return this._pathSegTypeFromChar(lookahead);
1286
1289
  };
1287
1290
  Source.prototype._pathSegTypeFromChar = function (lookahead) {
@@ -1331,7 +1334,10 @@
1331
1334
  };
1332
1335
  Source.prototype._nextCommandHelper = function (lookahead, previousCommand) {
1333
1336
  // Check for remaining coordinates in the current command.
1334
- if ((lookahead == "+" || lookahead == "-" || lookahead == "." || (lookahead >= "0" && lookahead <= "9")) &&
1337
+ if ((lookahead == "+" ||
1338
+ lookahead == "-" ||
1339
+ lookahead == "." ||
1340
+ (lookahead >= "0" && lookahead <= "9")) &&
1335
1341
  previousCommand != window.SVGPathSeg.PATHSEG_CLOSEPATH) {
1336
1342
  if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_ABS)
1337
1343
  return window.SVGPathSeg.PATHSEG_LINETO_ABS;
@@ -1345,20 +1351,21 @@
1345
1351
  // If the path is empty it is still valid, so return true.
1346
1352
  if (!this.hasMoreData())
1347
1353
  return true;
1348
- var command = this.peekSegmentType();
1354
+ const command = this.peekSegmentType();
1349
1355
  // Path must start with moveTo.
1350
- return command == window.SVGPathSeg.PATHSEG_MOVETO_ABS || command == window.SVGPathSeg.PATHSEG_MOVETO_REL;
1356
+ return (command == window.SVGPathSeg.PATHSEG_MOVETO_ABS ||
1357
+ command == window.SVGPathSeg.PATHSEG_MOVETO_REL);
1351
1358
  };
1352
1359
  // Parse a number from an SVG path. This very closely follows genericParseNumber(...) from Source/core/svg/SVGParserUtilities.cpp.
1353
1360
  // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-PathDataBNF
1354
1361
  Source.prototype._parseNumber = function () {
1355
- var exponent = 0;
1356
- var integer = 0;
1357
- var frac = 1;
1358
- var decimal = 0;
1359
- var sign = 1;
1360
- var expsign = 1;
1361
- var startIndex = this._currentIndex;
1362
+ let exponent = 0;
1363
+ let integer = 0;
1364
+ let frac = 1;
1365
+ let decimal = 0;
1366
+ let sign = 1;
1367
+ let expsign = 1;
1368
+ const startIndex = this._currentIndex;
1362
1369
  this._skipOptionalSpaces();
1363
1370
  // Read the sign.
1364
1371
  if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == "+")
@@ -1368,19 +1375,20 @@
1368
1375
  sign = -1;
1369
1376
  }
1370
1377
  if (this._currentIndex == this._endIndex ||
1371
- ((this._string.charAt(this._currentIndex) < "0" || this._string.charAt(this._currentIndex) > "9") &&
1378
+ ((this._string.charAt(this._currentIndex) < "0" ||
1379
+ this._string.charAt(this._currentIndex) > "9") &&
1372
1380
  this._string.charAt(this._currentIndex) != "."))
1373
1381
  // The first character of a number must be one of [0-9+-.].
1374
1382
  return undefined;
1375
1383
  // Read the integer part, build right-to-left.
1376
- var startIntPartIndex = this._currentIndex;
1384
+ const startIntPartIndex = this._currentIndex;
1377
1385
  while (this._currentIndex < this._endIndex &&
1378
1386
  this._string.charAt(this._currentIndex) >= "0" &&
1379
1387
  this._string.charAt(this._currentIndex) <= "9")
1380
1388
  this._currentIndex++; // Advance to first non-digit.
1381
1389
  if (this._currentIndex != startIntPartIndex) {
1382
- var scanIntPartIndex = this._currentIndex - 1;
1383
- var multiplier = 1;
1390
+ let scanIntPartIndex = this._currentIndex - 1;
1391
+ let multiplier = 1;
1384
1392
  while (scanIntPartIndex >= startIntPartIndex) {
1385
1393
  integer += multiplier * (this._string.charAt(scanIntPartIndex--) - "0");
1386
1394
  multiplier *= 10;
@@ -1405,7 +1413,8 @@
1405
1413
  // Read the exponent part.
1406
1414
  if (this._currentIndex != startIndex &&
1407
1415
  this._currentIndex + 1 < this._endIndex &&
1408
- (this._string.charAt(this._currentIndex) == "e" || this._string.charAt(this._currentIndex) == "E") &&
1416
+ (this._string.charAt(this._currentIndex) == "e" ||
1417
+ this._string.charAt(this._currentIndex) == "E") &&
1409
1418
  this._string.charAt(this._currentIndex + 1) != "x" &&
1410
1419
  this._string.charAt(this._currentIndex + 1) != "m") {
1411
1420
  this._currentIndex++;
@@ -1430,7 +1439,7 @@
1430
1439
  this._currentIndex++;
1431
1440
  }
1432
1441
  }
1433
- var number = integer + decimal;
1442
+ let number = integer + decimal;
1434
1443
  number *= sign;
1435
1444
  if (exponent)
1436
1445
  number *= Math.pow(10, expsign * exponent);
@@ -1442,8 +1451,8 @@
1442
1451
  Source.prototype._parseArcFlag = function () {
1443
1452
  if (this._currentIndex >= this._endIndex)
1444
1453
  return undefined;
1445
- var flag = false;
1446
- var flagChar = this._string.charAt(this._currentIndex++);
1454
+ let flag = false;
1455
+ const flagChar = this._string.charAt(this._currentIndex++);
1447
1456
  if (flagChar == "0")
1448
1457
  flag = false;
1449
1458
  else if (flagChar == "1")
@@ -1454,8 +1463,8 @@
1454
1463
  return flag;
1455
1464
  };
1456
1465
  Source.prototype.parseSegment = function () {
1457
- var lookahead = this._string[this._currentIndex];
1458
- var command = this._pathSegTypeFromChar(lookahead);
1466
+ const lookahead = this._string[this._currentIndex];
1467
+ let command = this._pathSegTypeFromChar(lookahead);
1459
1468
  if (command == window.SVGPathSeg.PATHSEG_UNKNOWN) {
1460
1469
  // Possibly an implicit command. Not allowed if this is the first command.
1461
1470
  if (this._previousCommand == window.SVGPathSeg.PATHSEG_UNKNOWN)
@@ -1468,6 +1477,7 @@
1468
1477
  this._currentIndex++;
1469
1478
  }
1470
1479
  this._previousCommand = command;
1480
+ let points;
1471
1481
  switch (command) {
1472
1482
  case window.SVGPathSeg.PATHSEG_MOVETO_REL:
1473
1483
  return new window.SVGPathSegMovetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());
@@ -1489,7 +1499,7 @@
1489
1499
  this._skipOptionalSpaces();
1490
1500
  return new window.SVGPathSegClosePath(owningPathSegList);
1491
1501
  case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:
1492
- var points = {
1502
+ points = {
1493
1503
  x1: this._parseNumber(),
1494
1504
  y1: this._parseNumber(),
1495
1505
  x2: this._parseNumber(),
@@ -1499,7 +1509,7 @@
1499
1509
  };
1500
1510
  return new window.SVGPathSegCurvetoCubicRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);
1501
1511
  case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:
1502
- var points = {
1512
+ points = {
1503
1513
  x1: this._parseNumber(),
1504
1514
  y1: this._parseNumber(),
1505
1515
  x2: this._parseNumber(),
@@ -1509,7 +1519,7 @@
1509
1519
  };
1510
1520
  return new window.SVGPathSegCurvetoCubicAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);
1511
1521
  case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:
1512
- var points = {
1522
+ points = {
1513
1523
  x2: this._parseNumber(),
1514
1524
  y2: this._parseNumber(),
1515
1525
  x: this._parseNumber(),
@@ -1517,7 +1527,7 @@
1517
1527
  };
1518
1528
  return new window.SVGPathSegCurvetoCubicSmoothRel(owningPathSegList, points.x, points.y, points.x2, points.y2);
1519
1529
  case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:
1520
- var points = {
1530
+ points = {
1521
1531
  x2: this._parseNumber(),
1522
1532
  y2: this._parseNumber(),
1523
1533
  x: this._parseNumber(),
@@ -1525,7 +1535,7 @@
1525
1535
  };
1526
1536
  return new window.SVGPathSegCurvetoCubicSmoothAbs(owningPathSegList, points.x, points.y, points.x2, points.y2);
1527
1537
  case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:
1528
- var points = {
1538
+ points = {
1529
1539
  x1: this._parseNumber(),
1530
1540
  y1: this._parseNumber(),
1531
1541
  x: this._parseNumber(),
@@ -1533,7 +1543,7 @@
1533
1543
  };
1534
1544
  return new window.SVGPathSegCurvetoQuadraticRel(owningPathSegList, points.x, points.y, points.x1, points.y1);
1535
1545
  case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:
1536
- var points = {
1546
+ points = {
1537
1547
  x1: this._parseNumber(),
1538
1548
  y1: this._parseNumber(),
1539
1549
  x: this._parseNumber(),
@@ -1545,7 +1555,7 @@
1545
1555
  case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:
1546
1556
  return new window.SVGPathSegCurvetoQuadraticSmoothAbs(owningPathSegList, this._parseNumber(), this._parseNumber());
1547
1557
  case window.SVGPathSeg.PATHSEG_ARC_REL:
1548
- var points = {
1558
+ points = {
1549
1559
  x1: this._parseNumber(),
1550
1560
  y1: this._parseNumber(),
1551
1561
  arcAngle: this._parseNumber(),
@@ -1556,7 +1566,7 @@
1556
1566
  };
1557
1567
  return new window.SVGPathSegArcRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);
1558
1568
  case window.SVGPathSeg.PATHSEG_ARC_ABS:
1559
- var points = {
1569
+ points = {
1560
1570
  x1: this._parseNumber(),
1561
1571
  y1: this._parseNumber(),
1562
1572
  arcAngle: this._parseNumber(),
@@ -1570,12 +1580,12 @@
1570
1580
  throw "Unknown path seg type.";
1571
1581
  }
1572
1582
  };
1573
- var builder = new Builder();
1574
- var source = new Source(string);
1583
+ const builder = new Builder();
1584
+ const source = new Source(string);
1575
1585
  if (!source.initialCommandIsMoveTo())
1576
1586
  return [];
1577
1587
  while (source.hasMoreData()) {
1578
- var pathSeg = source.parseSegment();
1588
+ const pathSeg = source.parseSegment();
1579
1589
  if (!pathSeg)
1580
1590
  return [];
1581
1591
  builder.appendSegment(pathSeg);
@@ -1,4 +1,4 @@
1
- import type { IParticle, IShapeDrawer } from "../../Core/Interfaces";
1
+ import type { IParticle, IShapeDrawer } from "../../Core";
2
2
  /**
3
3
  * @category Shape Drawers
4
4
  */
@@ -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[];
@@ -15,11 +13,9 @@ export declare class ImageDrawer implements IShapeDrawer {
15
13
  getSidesCount(): number;
16
14
  getImages(container: Container): ContainerImage;
17
15
  addImage(container: Container, image: IImage): void;
18
- init(container: Container): Promise<void>;
19
16
  destroy(): void;
20
- private loadImagesFromParticlesOptions;
21
17
  private loadImageShape;
22
- draw(context: CanvasRenderingContext2D, particle: IParticle, radius: number, opacity: number): void;
18
+ draw(context: CanvasRenderingContext2D, particle: IImageParticle, radius: number, opacity: number): void;
23
19
  loadShape(particle: Particle): void;
24
20
  }
25
21
  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
  /**
17
15
  * @category Shape Drawers
18
16
  */
@@ -41,86 +39,31 @@ export class ImageDrawer {
41
39
  const containerImages = this.getImages(container);
42
40
  containerImages === null || containerImages === void 0 ? void 0 : containerImages.images.push(image);
43
41
  }
44
- async init(container) {
45
- await this.loadImagesFromParticlesOptions(container, container.actualOptions.particles);
46
- await this.loadImagesFromParticlesOptions(container, container.actualOptions.interactivity.modes.trail.particles);
47
- for (const manualParticle of container.actualOptions.manualParticles) {
48
- await this.loadImagesFromParticlesOptions(container, manualParticle.options);
49
- }
50
- const emitterOptions = container.actualOptions;
51
- if (emitterOptions.emitters) {
52
- if (emitterOptions.emitters instanceof Array) {
53
- for (const emitter of emitterOptions.emitters) {
54
- await this.loadImagesFromParticlesOptions(container, emitter.particles);
55
- }
56
- }
57
- else {
58
- await this.loadImagesFromParticlesOptions(container, emitterOptions.emitters.particles);
59
- }
60
- }
61
- const interactiveEmitters = emitterOptions.interactivity.modes.emitters;
62
- if (interactiveEmitters) {
63
- if (interactiveEmitters instanceof Array) {
64
- for (const emitter of interactiveEmitters) {
65
- await this.loadImagesFromParticlesOptions(container, emitter.particles);
66
- }
67
- }
68
- else {
69
- await this.loadImagesFromParticlesOptions(container, interactiveEmitters.particles);
70
- }
71
- }
72
- }
73
42
  destroy() {
74
43
  __classPrivateFieldSet(this, _ImageDrawer_images, [], "f");
75
44
  }
76
- async loadImagesFromParticlesOptions(container, options) {
77
- var _a, _b, _c;
78
- const shapeOptions = options === null || options === void 0 ? void 0 : options.shape;
79
- if (!(shapeOptions === null || shapeOptions === void 0 ? void 0 : shapeOptions.type) ||
80
- !shapeOptions.options ||
81
- (!isInArray(ShapeType.image, shapeOptions.type) && !isInArray(ShapeType.images, shapeOptions.type))) {
82
- return;
83
- }
84
- const idx = __classPrivateFieldGet(this, _ImageDrawer_images, "f").findIndex((t) => t.id === container.id);
85
- if (idx >= 0) {
86
- __classPrivateFieldGet(this, _ImageDrawer_images, "f").splice(idx, 1);
87
- }
88
- const imageOptions = (_a = shapeOptions.options[ShapeType.images]) !== null && _a !== void 0 ? _a : shapeOptions.options[ShapeType.image];
89
- if (imageOptions instanceof Array) {
90
- for (const optionsImage of imageOptions) {
91
- await this.loadImageShape(container, optionsImage);
92
- }
93
- }
94
- else {
95
- await this.loadImageShape(container, imageOptions);
96
- }
97
- if (options === null || options === void 0 ? void 0 : options.groups) {
98
- for (const groupName in options.groups) {
99
- const group = options.groups[groupName];
100
- await this.loadImagesFromParticlesOptions(container, group);
101
- }
102
- }
103
- 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) {
104
- await this.loadImagesFromParticlesOptions(container, options === null || options === void 0 ? void 0 : options.destroy.split.particles);
105
- }
106
- }
107
45
  async loadImageShape(container, imageShape) {
46
+ const source = imageShape.src;
47
+ if (!source) {
48
+ throw new Error("Error tsParticles - No image.src");
49
+ }
108
50
  try {
51
+ const image = {
52
+ source: source,
53
+ type: source.substr(source.length - 3),
54
+ error: false,
55
+ loading: true,
56
+ };
57
+ this.addImage(container, image);
109
58
  const imageFunc = imageShape.replaceColor ? downloadSvgImage : loadImage;
110
- const image = await imageFunc(imageShape.src);
111
- if (image) {
112
- this.addImage(container, image);
113
- }
59
+ await imageFunc(image);
114
60
  }
115
61
  catch (_a) {
116
- console.warn(`tsParticles error - ${imageShape.src} not found`);
62
+ throw new Error(`tsParticles error - ${imageShape.src} not found`);
117
63
  }
118
64
  }
119
65
  draw(context, particle, radius, opacity) {
120
66
  var _a, _b;
121
- if (!context) {
122
- return;
123
- }
124
67
  const image = particle.image;
125
68
  const element = (_a = image === null || image === void 0 ? void 0 : image.data) === null || _a === void 0 ? void 0 : _a.element;
126
69
  if (!element) {
@@ -140,67 +83,41 @@ export class ImageDrawer {
140
83
  }
141
84
  }
142
85
  loadShape(particle) {
143
- var _a, _b, _c, _d, _e, _f, _g;
86
+ var _a, _b, _c;
144
87
  if (particle.shape !== "image" && particle.shape !== "images") {
145
88
  return;
146
89
  }
147
90
  const images = this.getImages(particle.container).images;
148
91
  const imageData = particle.shapeData;
149
- const image = (_a = images.find((t) => t.source === imageData.src)) !== null && _a !== void 0 ? _a : images[0];
150
- const color = particle.getFillColor();
92
+ const image = images.find((t) => t.source === imageData.src);
151
93
  let imageRes;
152
94
  if (!image) {
95
+ this.loadImageShape(particle.container, imageData).then(() => {
96
+ this.loadShape(particle);
97
+ });
153
98
  return;
154
99
  }
155
- if (image.svgData !== undefined && imageData.replaceColor && color) {
156
- const svgColoredData = replaceColorSvg(image, color, (_c = (_b = particle.opacity) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : 1);
157
- /* prepare to create img with colored svg */
158
- const svg = new Blob([svgColoredData], { type: "image/svg+xml" });
159
- const domUrl = URL || window.URL || window.webkitURL || window;
160
- const url = domUrl.createObjectURL(svg);
161
- /* create particle img obj */
162
- const img = new Image();
163
- imageRes = {
164
- data: Object.assign(Object.assign({}, image), { svgData: svgColoredData }),
165
- ratio: imageData.width / imageData.height,
166
- replaceColor: (_d = imageData.replaceColor) !== null && _d !== void 0 ? _d : imageData.replace_color,
167
- source: imageData.src,
168
- };
169
- img.addEventListener("load", () => {
170
- const pImage = particle.image;
171
- if (pImage) {
172
- pImage.loaded = true;
173
- image.element = img;
174
- }
175
- domUrl.revokeObjectURL(url);
176
- });
177
- img.addEventListener("error", () => {
178
- domUrl.revokeObjectURL(url);
179
- // deepcode ignore PromiseNotCaughtGeneral: catch can be ignored
180
- loadImage(imageData.src).then((img2) => {
181
- const pImage = particle.image;
182
- if (pImage) {
183
- image.element = img2 === null || img2 === void 0 ? void 0 : img2.element;
184
- pImage.loaded = true;
185
- }
186
- });
187
- });
188
- img.src = url;
100
+ if (image.error) {
101
+ return;
102
+ }
103
+ const color = particle.getFillColor();
104
+ if (image.svgData && imageData.replaceColor && color) {
105
+ imageRes = replaceImageColor(image, imageData, color, particle);
189
106
  }
190
107
  else {
191
108
  imageRes = {
192
109
  data: image,
193
110
  loaded: true,
194
111
  ratio: imageData.width / imageData.height,
195
- replaceColor: (_e = imageData.replaceColor) !== null && _e !== void 0 ? _e : imageData.replace_color,
112
+ replaceColor: (_a = imageData.replaceColor) !== null && _a !== void 0 ? _a : imageData.replace_color,
196
113
  source: imageData.src,
197
114
  };
198
115
  }
199
116
  if (!imageRes.ratio) {
200
117
  imageRes.ratio = 1;
201
118
  }
202
- const fill = (_f = imageData.fill) !== null && _f !== void 0 ? _f : particle.fill;
203
- const close = (_g = imageData.close) !== null && _g !== void 0 ? _g : particle.close;
119
+ const fill = (_b = imageData.fill) !== null && _b !== void 0 ? _b : particle.fill;
120
+ const close = (_c = imageData.close) !== null && _c !== void 0 ? _c : particle.close;
204
121
  const imageShape = {
205
122
  image: imageRes,
206
123
  fill,
@@ -1,12 +1,15 @@
1
1
  /**
2
2
  * @category Interfaces
3
3
  */
4
- import type { IHsl, IParticle } from "../../Core/Interfaces";
4
+ import type { IHsl, IParticle, Particle } from "../../Core";
5
+ import type { IImageShape } from "../../Options/Interfaces/Particles/Shape/IImageShape";
5
6
  export interface IImage {
6
7
  source: string;
7
8
  type: string;
8
9
  element?: HTMLImageElement;
9
10
  svgData?: string;
11
+ error: boolean;
12
+ loading: boolean;
10
13
  }
11
14
  export interface IParticleImage {
12
15
  source: string;
@@ -21,8 +24,8 @@ export interface ContainerImage {
21
24
  images: IImage[];
22
25
  }
23
26
  export declare type IImageParticle = IParticle & {
24
- image: IParticleImage;
27
+ image?: IParticleImage;
25
28
  };
26
- export declare function loadImage(source: string): Promise<IImage | undefined>;
27
- export declare function downloadSvgImage(source: string): Promise<IImage | undefined>;
28
- export declare function replaceColorSvg(imageShape: IImage, color: IHsl, opacity: number): string;
29
+ export declare function loadImage(image: IImage): Promise<void>;
30
+ export declare function downloadSvgImage(image: IImage): Promise<void>;
31
+ export declare function replaceImageColor(image: IImage, imageData: IImageShape, color: IHsl, particle: Particle): IParticleImage;