@tsparticles/engine 3.0.0-alpha.1 → 3.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (498) hide show
  1. package/README.md +244 -188
  2. package/browser/Core/Canvas.js +273 -243
  3. package/browser/Core/Container.js +97 -113
  4. package/browser/Core/Engine.js +271 -0
  5. package/browser/Core/Particle.js +165 -172
  6. package/browser/Core/Particles.js +153 -148
  7. package/browser/Core/Retina.js +17 -15
  8. package/browser/Core/Utils/Circle.js +12 -8
  9. package/browser/Core/Utils/Constants.js +4 -3
  10. package/browser/Core/Utils/EventListeners.js +259 -235
  11. package/browser/Core/Utils/InteractionManager.js +6 -16
  12. package/browser/Core/Utils/QuadTree.js +17 -23
  13. package/browser/Core/Utils/Rectangle.js +2 -2
  14. package/browser/Core/Utils/Vector.js +1 -1
  15. package/browser/Core/Utils/Vector3d.js +17 -9
  16. package/browser/Options/Classes/AnimatableColor.js +4 -3
  17. package/browser/Options/Classes/AnimationOptions.js +5 -4
  18. package/browser/Options/Classes/Background/Background.js +1 -1
  19. package/browser/Options/Classes/BackgroundMask/BackgroundMask.js +3 -2
  20. package/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.js +1 -1
  21. package/browser/Options/Classes/ColorAnimation.js +5 -1
  22. package/browser/Options/Classes/HslAnimation.js +1 -1
  23. package/browser/Options/Classes/Interactivity/Events/DivEvent.js +0 -24
  24. package/browser/Options/Classes/Interactivity/Events/Events.js +9 -28
  25. package/browser/Options/Classes/Interactivity/Events/HoverEvent.js +1 -1
  26. package/browser/Options/Classes/Interactivity/Interactivity.js +3 -10
  27. package/browser/Options/Classes/Interactivity/Modes/Modes.js +11 -8
  28. package/browser/Options/Classes/ManualParticle.js +6 -7
  29. package/browser/Options/Classes/Options.js +28 -48
  30. package/browser/Options/Classes/OptionsColor.js +3 -2
  31. package/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js +1 -1
  32. package/browser/Options/Classes/Particles/Bounce/ParticlesBounceFactor.js +1 -1
  33. package/browser/Options/Classes/Particles/Collisions/Collisions.js +8 -3
  34. package/browser/Options/Classes/Particles/Move/Move.js +20 -50
  35. package/browser/Options/Classes/Particles/Move/MoveAngle.js +1 -1
  36. package/browser/Options/Classes/Particles/Move/MoveAttract.js +10 -21
  37. package/browser/Options/Classes/Particles/Move/MoveGravity.js +1 -1
  38. package/browser/Options/Classes/Particles/Move/MoveTrail.js +3 -9
  39. package/browser/Options/Classes/Particles/Move/MoveTrailFill.js +1 -1
  40. package/browser/Options/Classes/Particles/Move/OutModes.js +4 -5
  41. package/browser/Options/Classes/Particles/Move/Path/MovePath.js +2 -2
  42. package/browser/Options/Classes/Particles/Move/Spin.js +5 -3
  43. package/browser/Options/Classes/Particles/Number/ParticlesDensity.js +2 -21
  44. package/browser/Options/Classes/Particles/Number/ParticlesNumber.js +3 -10
  45. package/browser/Options/Classes/Particles/Opacity/Opacity.js +12 -8
  46. package/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js +1 -10
  47. package/browser/Options/Classes/Particles/ParticlesOptions.js +18 -23
  48. package/browser/Options/Classes/Particles/Shadow.js +1 -1
  49. package/browser/Options/Classes/Particles/Shape/Shape.js +10 -11
  50. package/browser/Options/Classes/Particles/Size/Size.js +12 -8
  51. package/browser/Options/Classes/Particles/Size/SizeAnimation.js +1 -10
  52. package/browser/Options/Classes/Particles/Stroke.js +2 -2
  53. package/browser/Options/Classes/Particles/ZIndex/ZIndex.js +1 -1
  54. package/browser/Options/Classes/Responsive.js +1 -1
  55. package/browser/Options/Classes/Theme/Theme.js +2 -2
  56. package/browser/Options/Classes/ValueWithRandom.js +6 -19
  57. package/browser/Utils/CanvasUtils.js +19 -55
  58. package/browser/Utils/ColorUtils.js +18 -20
  59. package/browser/Utils/EventDispatcher.js +7 -6
  60. package/browser/Utils/HslColorManager.js +4 -6
  61. package/browser/Utils/NumberUtils.js +42 -46
  62. package/browser/Utils/OptionsUtils.js +1 -1
  63. package/browser/Utils/RgbColorManager.js +3 -5
  64. package/browser/Utils/Utils.js +135 -64
  65. package/browser/bundle.js +4 -97
  66. package/browser/export-types.js +97 -0
  67. package/browser/exports.js +89 -0
  68. package/browser/index.js +8 -199
  69. package/browser/init.js +12 -0
  70. package/browser/package.json +1 -0
  71. package/cjs/Core/Canvas.js +278 -248
  72. package/cjs/Core/Container.js +104 -120
  73. package/cjs/Core/Engine.js +275 -0
  74. package/cjs/Core/Particle.js +173 -180
  75. package/cjs/Core/Particles.js +154 -149
  76. package/cjs/Core/Retina.js +20 -18
  77. package/cjs/Core/Utils/Circle.js +14 -10
  78. package/cjs/Core/Utils/Constants.js +5 -4
  79. package/cjs/Core/Utils/EventListeners.js +267 -243
  80. package/cjs/Core/Utils/InteractionManager.js +6 -16
  81. package/cjs/Core/Utils/QuadTree.js +20 -26
  82. package/cjs/Core/Utils/Rectangle.js +4 -4
  83. package/cjs/Core/Utils/Vector.js +2 -2
  84. package/cjs/Core/Utils/Vector3d.js +17 -9
  85. package/cjs/Options/Classes/AnimatableColor.js +6 -5
  86. package/cjs/Options/Classes/AnimationOptions.js +8 -7
  87. package/cjs/Options/Classes/Background/Background.js +3 -3
  88. package/cjs/Options/Classes/BackgroundMask/BackgroundMask.js +4 -3
  89. package/cjs/Options/Classes/BackgroundMask/BackgroundMaskCover.js +3 -3
  90. package/cjs/Options/Classes/ColorAnimation.js +9 -5
  91. package/cjs/Options/Classes/HslAnimation.js +4 -4
  92. package/cjs/Options/Classes/Interactivity/Events/DivEvent.js +0 -24
  93. package/cjs/Options/Classes/Interactivity/Events/Events.js +15 -34
  94. package/cjs/Options/Classes/Interactivity/Events/HoverEvent.js +2 -2
  95. package/cjs/Options/Classes/Interactivity/Interactivity.js +5 -12
  96. package/cjs/Options/Classes/Interactivity/Modes/Modes.js +11 -8
  97. package/cjs/Options/Classes/ManualParticle.js +7 -8
  98. package/cjs/Options/Classes/Options.js +41 -61
  99. package/cjs/Options/Classes/OptionsColor.js +3 -2
  100. package/cjs/Options/Classes/Particles/Bounce/ParticlesBounce.js +3 -3
  101. package/cjs/Options/Classes/Particles/Bounce/ParticlesBounceFactor.js +2 -2
  102. package/cjs/Options/Classes/Particles/Collisions/Collisions.js +11 -6
  103. package/cjs/Options/Classes/Particles/Move/Move.js +31 -61
  104. package/cjs/Options/Classes/Particles/Move/MoveAngle.js +3 -3
  105. package/cjs/Options/Classes/Particles/Move/MoveAttract.js +11 -22
  106. package/cjs/Options/Classes/Particles/Move/MoveGravity.js +3 -3
  107. package/cjs/Options/Classes/Particles/Move/MoveTrail.js +4 -10
  108. package/cjs/Options/Classes/Particles/Move/MoveTrailFill.js +2 -2
  109. package/cjs/Options/Classes/Particles/Move/OutModes.js +4 -5
  110. package/cjs/Options/Classes/Particles/Move/Path/MovePath.js +4 -4
  111. package/cjs/Options/Classes/Particles/Move/Spin.js +6 -4
  112. package/cjs/Options/Classes/Particles/Number/ParticlesDensity.js +2 -21
  113. package/cjs/Options/Classes/Particles/Number/ParticlesNumber.js +4 -11
  114. package/cjs/Options/Classes/Particles/Opacity/Opacity.js +13 -9
  115. package/cjs/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -11
  116. package/cjs/Options/Classes/Particles/ParticlesOptions.js +32 -37
  117. package/cjs/Options/Classes/Particles/Shadow.js +3 -3
  118. package/cjs/Options/Classes/Particles/Shape/Shape.js +10 -11
  119. package/cjs/Options/Classes/Particles/Size/Size.js +13 -9
  120. package/cjs/Options/Classes/Particles/Size/SizeAnimation.js +2 -11
  121. package/cjs/Options/Classes/Particles/Stroke.js +5 -5
  122. package/cjs/Options/Classes/Particles/ZIndex/ZIndex.js +2 -2
  123. package/cjs/Options/Classes/Responsive.js +2 -2
  124. package/cjs/Options/Classes/Theme/Theme.js +4 -4
  125. package/cjs/Options/Classes/ValueWithRandom.js +10 -23
  126. package/cjs/Utils/CanvasUtils.js +23 -60
  127. package/cjs/Utils/ColorUtils.js +31 -33
  128. package/cjs/Utils/EventDispatcher.js +7 -6
  129. package/cjs/Utils/HslColorManager.js +11 -13
  130. package/cjs/Utils/NumberUtils.js +44 -48
  131. package/cjs/Utils/OptionsUtils.js +2 -2
  132. package/cjs/Utils/RgbColorManager.js +7 -9
  133. package/cjs/Utils/Utils.js +157 -77
  134. package/cjs/bundle.js +4 -97
  135. package/cjs/export-types.js +113 -0
  136. package/cjs/exports.js +105 -0
  137. package/cjs/index.js +8 -199
  138. package/cjs/init.js +16 -0
  139. package/cjs/package.json +1 -0
  140. package/esm/Core/Canvas.js +273 -243
  141. package/esm/Core/Container.js +97 -113
  142. package/esm/Core/Engine.js +271 -0
  143. package/esm/Core/Particle.js +165 -172
  144. package/esm/Core/Particles.js +153 -148
  145. package/esm/Core/Retina.js +17 -15
  146. package/esm/Core/Utils/Circle.js +12 -8
  147. package/esm/Core/Utils/Constants.js +4 -3
  148. package/esm/Core/Utils/EventListeners.js +259 -235
  149. package/esm/Core/Utils/InteractionManager.js +6 -16
  150. package/esm/Core/Utils/QuadTree.js +17 -23
  151. package/esm/Core/Utils/Rectangle.js +2 -2
  152. package/esm/Core/Utils/Vector.js +1 -1
  153. package/esm/Core/Utils/Vector3d.js +17 -9
  154. package/esm/Options/Classes/AnimatableColor.js +4 -3
  155. package/esm/Options/Classes/AnimationOptions.js +5 -4
  156. package/esm/Options/Classes/Background/Background.js +1 -1
  157. package/esm/Options/Classes/BackgroundMask/BackgroundMask.js +3 -2
  158. package/esm/Options/Classes/BackgroundMask/BackgroundMaskCover.js +1 -1
  159. package/esm/Options/Classes/ColorAnimation.js +5 -1
  160. package/esm/Options/Classes/HslAnimation.js +1 -1
  161. package/esm/Options/Classes/Interactivity/Events/DivEvent.js +0 -24
  162. package/esm/Options/Classes/Interactivity/Events/Events.js +9 -28
  163. package/esm/Options/Classes/Interactivity/Events/HoverEvent.js +1 -1
  164. package/esm/Options/Classes/Interactivity/Interactivity.js +3 -10
  165. package/esm/Options/Classes/Interactivity/Modes/Modes.js +11 -8
  166. package/esm/Options/Classes/ManualParticle.js +6 -7
  167. package/esm/Options/Classes/Options.js +28 -48
  168. package/esm/Options/Classes/OptionsColor.js +3 -2
  169. package/esm/Options/Classes/Particles/Bounce/ParticlesBounce.js +1 -1
  170. package/esm/Options/Classes/Particles/Bounce/ParticlesBounceFactor.js +1 -1
  171. package/esm/Options/Classes/Particles/Collisions/Collisions.js +8 -3
  172. package/esm/Options/Classes/Particles/Move/Move.js +20 -50
  173. package/esm/Options/Classes/Particles/Move/MoveAngle.js +1 -1
  174. package/esm/Options/Classes/Particles/Move/MoveAttract.js +10 -21
  175. package/esm/Options/Classes/Particles/Move/MoveGravity.js +1 -1
  176. package/esm/Options/Classes/Particles/Move/MoveTrail.js +3 -9
  177. package/esm/Options/Classes/Particles/Move/MoveTrailFill.js +1 -1
  178. package/esm/Options/Classes/Particles/Move/OutModes.js +4 -5
  179. package/esm/Options/Classes/Particles/Move/Path/MovePath.js +2 -2
  180. package/esm/Options/Classes/Particles/Move/Spin.js +5 -3
  181. package/esm/Options/Classes/Particles/Number/ParticlesDensity.js +2 -21
  182. package/esm/Options/Classes/Particles/Number/ParticlesNumber.js +3 -10
  183. package/esm/Options/Classes/Particles/Opacity/Opacity.js +12 -8
  184. package/esm/Options/Classes/Particles/Opacity/OpacityAnimation.js +1 -10
  185. package/esm/Options/Classes/Particles/ParticlesOptions.js +18 -23
  186. package/esm/Options/Classes/Particles/Shadow.js +1 -1
  187. package/esm/Options/Classes/Particles/Shape/Shape.js +10 -11
  188. package/esm/Options/Classes/Particles/Size/Size.js +12 -8
  189. package/esm/Options/Classes/Particles/Size/SizeAnimation.js +1 -10
  190. package/esm/Options/Classes/Particles/Stroke.js +2 -2
  191. package/esm/Options/Classes/Particles/ZIndex/ZIndex.js +1 -1
  192. package/esm/Options/Classes/Responsive.js +1 -1
  193. package/esm/Options/Classes/Theme/Theme.js +2 -2
  194. package/esm/Options/Classes/ValueWithRandom.js +6 -19
  195. package/esm/Utils/CanvasUtils.js +19 -55
  196. package/esm/Utils/ColorUtils.js +18 -20
  197. package/esm/Utils/EventDispatcher.js +7 -6
  198. package/esm/Utils/HslColorManager.js +4 -6
  199. package/esm/Utils/NumberUtils.js +42 -46
  200. package/esm/Utils/OptionsUtils.js +1 -1
  201. package/esm/Utils/RgbColorManager.js +3 -5
  202. package/esm/Utils/Utils.js +135 -64
  203. package/esm/bundle.js +4 -97
  204. package/esm/export-types.js +97 -0
  205. package/esm/exports.js +89 -0
  206. package/esm/index.js +8 -199
  207. package/esm/init.js +12 -0
  208. package/esm/package.json +1 -0
  209. package/package.json +21 -4
  210. package/report.html +4 -4
  211. package/scripts/install.js +90 -33
  212. package/tsparticles.engine.js +1832 -2007
  213. package/tsparticles.engine.min.js +1 -1
  214. package/tsparticles.engine.min.js.LICENSE.txt +1 -10
  215. package/types/Core/Canvas.d.ts +25 -21
  216. package/types/Core/Container.d.ts +21 -25
  217. package/types/Core/Engine.d.ts +71 -0
  218. package/types/Core/Interfaces/Colors.d.ts +2 -2
  219. package/types/Core/Interfaces/IBubbleParticleData.d.ts +1 -1
  220. package/types/Core/Interfaces/ICircleBouncer.d.ts +2 -2
  221. package/types/Core/Interfaces/IColorManager.d.ts +1 -1
  222. package/types/Core/Interfaces/IContainerInteractivity.d.ts +1 -1
  223. package/types/Core/Interfaces/IContainerPlugin.d.ts +8 -6
  224. package/types/Core/Interfaces/ICoordinates.d.ts +3 -3
  225. package/types/Core/Interfaces/IDimension.d.ts +2 -2
  226. package/types/Core/Interfaces/IDrawParticleParams.d.ts +6 -6
  227. package/types/Core/Interfaces/IExternalInteractor.d.ts +7 -7
  228. package/types/Core/Interfaces/IInteractor.d.ts +8 -8
  229. package/types/Core/Interfaces/ILoadParams.d.ts +2 -2
  230. package/types/Core/Interfaces/IMouseData.d.ts +1 -1
  231. package/types/Core/Interfaces/IMovePathGenerator.d.ts +5 -4
  232. package/types/Core/Interfaces/IParticle.d.ts +11 -11
  233. package/types/Core/Interfaces/IParticleHslAnimation.d.ts +1 -1
  234. package/types/Core/Interfaces/IParticleMover.d.ts +2 -2
  235. package/types/Core/Interfaces/IParticleRetinaProps.d.ts +1 -1
  236. package/types/Core/Interfaces/IParticleRoll.d.ts +1 -1
  237. package/types/Core/Interfaces/IParticleUpdater.d.ts +7 -9
  238. package/types/Core/Interfaces/IParticleValueAnimation.d.ts +3 -1
  239. package/types/Core/Interfaces/IParticlesInteractor.d.ts +3 -3
  240. package/types/Core/Interfaces/IPlugin.d.ts +7 -6
  241. package/types/Core/Interfaces/IPositionFromSizeParams.d.ts +2 -2
  242. package/types/Core/Interfaces/IShapeDrawer.d.ts +1 -1
  243. package/types/Core/Interfaces/IShapeValues.d.ts +2 -2
  244. package/types/Core/Interfaces/ITrailFillData.d.ts +1 -1
  245. package/types/Core/Particle.d.ts +27 -27
  246. package/types/Core/Particles.d.ts +24 -21
  247. package/types/Core/Retina.d.ts +2 -2
  248. package/types/Core/Utils/Circle.d.ts +2 -2
  249. package/types/Core/Utils/Constants.d.ts +4 -3
  250. package/types/Core/Utils/EventListeners.d.ts +21 -19
  251. package/types/Core/Utils/ExternalInteractorBase.d.ts +5 -5
  252. package/types/Core/Utils/InteractionManager.d.ts +5 -5
  253. package/types/Core/Utils/ParticlesInteractorBase.d.ts +5 -5
  254. package/types/Core/Utils/Point.d.ts +2 -2
  255. package/types/Core/Utils/QuadTree.d.ts +8 -11
  256. package/types/Core/Utils/Range.d.ts +1 -1
  257. package/types/Core/Utils/Rectangle.d.ts +3 -3
  258. package/types/Core/Utils/Vector.d.ts +2 -2
  259. package/types/Core/Utils/Vector3d.d.ts +3 -2
  260. package/types/Enums/Modes/{SizeMode.d.ts → PixelMode.d.ts} +1 -1
  261. package/types/Options/Classes/AnimatableColor.d.ts +6 -6
  262. package/types/Options/Classes/AnimationOptions.d.ts +7 -7
  263. package/types/Options/Classes/Background/Background.d.ts +4 -4
  264. package/types/Options/Classes/BackgroundMask/BackgroundMask.d.ts +4 -4
  265. package/types/Options/Classes/BackgroundMask/BackgroundMaskCover.d.ts +4 -4
  266. package/types/Options/Classes/ColorAnimation.d.ts +5 -4
  267. package/types/Options/Classes/FullScreen/FullScreen.d.ts +3 -3
  268. package/types/Options/Classes/HslAnimation.d.ts +4 -4
  269. package/types/Options/Classes/Interactivity/Events/ClickEvent.d.ts +5 -5
  270. package/types/Options/Classes/Interactivity/Events/DivEvent.d.ts +6 -12
  271. package/types/Options/Classes/Interactivity/Events/Events.d.ts +8 -14
  272. package/types/Options/Classes/Interactivity/Events/HoverEvent.d.ts +6 -6
  273. package/types/Options/Classes/Interactivity/Events/Parallax.d.ts +3 -3
  274. package/types/Options/Classes/Interactivity/Events/ResizeEvent.d.ts +3 -3
  275. package/types/Options/Classes/Interactivity/Interactivity.d.ts +8 -10
  276. package/types/Options/Classes/Interactivity/Modes/Modes.d.ts +5 -5
  277. package/types/Options/Classes/ManualParticle.d.ts +5 -5
  278. package/types/Options/Classes/Options.d.ts +19 -26
  279. package/types/Options/Classes/OptionsColor.d.ts +5 -5
  280. package/types/Options/Classes/Particles/Bounce/ParticlesBounce.d.ts +4 -4
  281. package/types/Options/Classes/Particles/Bounce/ParticlesBounceFactor.d.ts +1 -1
  282. package/types/Options/Classes/Particles/Collisions/Collisions.d.ts +9 -7
  283. package/types/Options/Classes/Particles/Collisions/CollisionsAbsorb.d.ts +3 -3
  284. package/types/Options/Classes/Particles/Collisions/CollisionsOverlap.d.ts +3 -3
  285. package/types/Options/Classes/Particles/Move/Move.d.ts +15 -26
  286. package/types/Options/Classes/Particles/Move/MoveAngle.d.ts +4 -4
  287. package/types/Options/Classes/Particles/Move/MoveAttract.d.ts +5 -9
  288. package/types/Options/Classes/Particles/Move/MoveCenter.d.ts +5 -5
  289. package/types/Options/Classes/Particles/Move/MoveGravity.d.ts +4 -4
  290. package/types/Options/Classes/Particles/Move/MoveTrail.d.ts +4 -7
  291. package/types/Options/Classes/Particles/Move/MoveTrailFill.d.ts +4 -4
  292. package/types/Options/Classes/Particles/Move/OutModes.d.ts +5 -5
  293. package/types/Options/Classes/Particles/Move/Path/MovePath.d.ts +5 -5
  294. package/types/Options/Classes/Particles/Move/Spin.d.ts +5 -5
  295. package/types/Options/Classes/Particles/Number/ParticlesDensity.d.ts +3 -9
  296. package/types/Options/Classes/Particles/Number/ParticlesNumber.d.ts +4 -6
  297. package/types/Options/Classes/Particles/Opacity/Opacity.d.ts +7 -7
  298. package/types/Options/Classes/Particles/Opacity/OpacityAnimation.d.ts +5 -7
  299. package/types/Options/Classes/Particles/ParticlesOptions.d.ts +19 -19
  300. package/types/Options/Classes/Particles/Shadow.d.ts +5 -5
  301. package/types/Options/Classes/Particles/Shape/Shape.d.ts +5 -5
  302. package/types/Options/Classes/Particles/Size/Size.d.ts +7 -7
  303. package/types/Options/Classes/Particles/Size/SizeAnimation.d.ts +5 -7
  304. package/types/Options/Classes/Particles/Stroke.d.ts +5 -5
  305. package/types/Options/Classes/Particles/ZIndex/ZIndex.d.ts +4 -4
  306. package/types/Options/Classes/Random.d.ts +3 -3
  307. package/types/Options/Classes/Responsive.d.ts +7 -7
  308. package/types/Options/Classes/Theme/Theme.d.ts +6 -6
  309. package/types/Options/Classes/Theme/ThemeDefault.d.ts +4 -4
  310. package/types/Options/Classes/ValueWithRandom.d.ts +7 -11
  311. package/types/Options/Interfaces/Background/IBackground.d.ts +1 -1
  312. package/types/Options/Interfaces/BackgroundMask/IBackgroundMask.d.ts +2 -2
  313. package/types/Options/Interfaces/BackgroundMask/IBackgroundMaskCover.d.ts +1 -1
  314. package/types/Options/Interfaces/IAnimatable.d.ts +1 -1
  315. package/types/Options/Interfaces/IAnimatableColor.d.ts +3 -3
  316. package/types/Options/Interfaces/IAnimation.d.ts +4 -4
  317. package/types/Options/Interfaces/IColorAnimation.d.ts +2 -2
  318. package/types/Options/Interfaces/IHslAnimation.d.ts +1 -1
  319. package/types/Options/Interfaces/IManualParticle.d.ts +3 -3
  320. package/types/Options/Interfaces/IOptionLoader.d.ts +1 -1
  321. package/types/Options/Interfaces/IOptions.d.ts +12 -15
  322. package/types/Options/Interfaces/IOptionsColor.d.ts +1 -1
  323. package/types/Options/Interfaces/IResponsive.d.ts +5 -4
  324. package/types/Options/Interfaces/IValueWithRandom.d.ts +3 -3
  325. package/types/Options/Interfaces/Interactivity/Events/IClickEvent.d.ts +2 -2
  326. package/types/Options/Interfaces/Interactivity/Events/IDivEvent.d.ts +3 -6
  327. package/types/Options/Interfaces/Interactivity/Events/IEvents.d.ts +5 -8
  328. package/types/Options/Interfaces/Interactivity/Events/IHoverEvent.d.ts +3 -3
  329. package/types/Options/Interfaces/Interactivity/IInteractivity.d.ts +3 -4
  330. package/types/Options/Interfaces/Interactivity/Modes/IModeDiv.d.ts +1 -2
  331. package/types/Options/Interfaces/Particles/Bounce/IParticlesBounce.d.ts +1 -1
  332. package/types/Options/Interfaces/Particles/Collisions/ICollisions.d.ts +6 -4
  333. package/types/Options/Interfaces/Particles/IParticlesOptions.d.ts +15 -15
  334. package/types/Options/Interfaces/Particles/IShadow.d.ts +2 -2
  335. package/types/Options/Interfaces/Particles/IStroke.d.ts +5 -4
  336. package/types/Options/Interfaces/Particles/Move/IMove.d.ts +12 -17
  337. package/types/Options/Interfaces/Particles/Move/IMoveAngle.d.ts +1 -1
  338. package/types/Options/Interfaces/Particles/Move/IMoveAttract.d.ts +2 -4
  339. package/types/Options/Interfaces/Particles/Move/IMoveCenter.d.ts +1 -1
  340. package/types/Options/Interfaces/Particles/Move/IMoveGravity.d.ts +1 -1
  341. package/types/Options/Interfaces/Particles/Move/IMoveTrail.d.ts +1 -3
  342. package/types/Options/Interfaces/Particles/Move/IMoveTrailFill.d.ts +1 -1
  343. package/types/Options/Interfaces/Particles/Move/IOutModes.d.ts +1 -1
  344. package/types/Options/Interfaces/Particles/Move/ISpin.d.ts +2 -2
  345. package/types/Options/Interfaces/Particles/Move/Path/IMovePath.d.ts +2 -2
  346. package/types/Options/Interfaces/Particles/Number/IParticlesDensity.d.ts +0 -3
  347. package/types/Options/Interfaces/Particles/Number/IParticlesNumber.d.ts +1 -2
  348. package/types/Options/Interfaces/Particles/Opacity/IOpacity.d.ts +2 -3
  349. package/types/Options/Interfaces/Particles/Opacity/IOpacityAnimation.d.ts +2 -3
  350. package/types/Options/Interfaces/Particles/Shape/IShape.d.ts +2 -2
  351. package/types/Options/Interfaces/Particles/Size/ISize.d.ts +2 -3
  352. package/types/Options/Interfaces/Particles/Size/ISizeAnimation.d.ts +2 -3
  353. package/types/Options/Interfaces/Particles/ZIndex/IZIndex.d.ts +1 -1
  354. package/types/Options/Interfaces/Theme/ITheme.d.ts +4 -3
  355. package/types/Options/Interfaces/Theme/IThemeDefault.d.ts +1 -1
  356. package/types/Types/CustomEventArgs.d.ts +1 -1
  357. package/types/Types/CustomEventListener.d.ts +1 -1
  358. package/types/Types/ExportResult.d.ts +5 -0
  359. package/types/Types/ISourceOptions.d.ts +2 -2
  360. package/types/Types/ParticlesGroups.d.ts +1 -1
  361. package/types/Types/RangeValue.d.ts +1 -1
  362. package/types/Types/ShapeData.d.ts +2 -2
  363. package/types/Types/ShapeDrawerFunctions.d.ts +3 -3
  364. package/types/Utils/CanvasUtils.d.ts +11 -14
  365. package/types/Utils/ColorUtils.d.ts +6 -6
  366. package/types/Utils/EventDispatcher.d.ts +2 -2
  367. package/types/Utils/HslColorManager.d.ts +2 -2
  368. package/types/Utils/NumberUtils.d.ts +8 -8
  369. package/types/Utils/OptionsUtils.d.ts +6 -6
  370. package/types/Utils/RgbColorManager.d.ts +2 -2
  371. package/types/Utils/Utils.d.ts +32 -14
  372. package/types/bundle.d.ts +2 -91
  373. package/types/export-types.d.ts +107 -0
  374. package/types/exports.d.ts +89 -0
  375. package/types/index.d.ts +3 -204
  376. package/types/init.d.ts +2 -0
  377. package/umd/Core/Canvas.js +279 -249
  378. package/umd/Core/Container.js +105 -121
  379. package/umd/Core/Engine.js +285 -0
  380. package/umd/Core/Particle.js +174 -181
  381. package/umd/Core/Particles.js +155 -150
  382. package/umd/Core/Retina.js +21 -19
  383. package/umd/Core/Utils/Circle.js +15 -11
  384. package/umd/Core/Utils/Constants.js +5 -4
  385. package/umd/Core/Utils/EventListeners.js +268 -244
  386. package/umd/Core/Utils/InteractionManager.js +6 -16
  387. package/umd/Core/Utils/QuadTree.js +21 -27
  388. package/umd/Core/Utils/Rectangle.js +5 -5
  389. package/umd/Core/Utils/Vector.js +3 -3
  390. package/umd/Core/Utils/Vector3d.js +18 -10
  391. package/umd/Options/Classes/AnimatableColor.js +7 -6
  392. package/umd/Options/Classes/AnimationOptions.js +9 -8
  393. package/umd/Options/Classes/Background/Background.js +4 -4
  394. package/umd/Options/Classes/BackgroundMask/BackgroundMask.js +5 -4
  395. package/umd/Options/Classes/BackgroundMask/BackgroundMaskCover.js +4 -4
  396. package/umd/Options/Classes/ColorAnimation.js +10 -6
  397. package/umd/Options/Classes/HslAnimation.js +5 -5
  398. package/umd/Options/Classes/Interactivity/Events/DivEvent.js +1 -25
  399. package/umd/Options/Classes/Interactivity/Events/Events.js +16 -35
  400. package/umd/Options/Classes/Interactivity/Events/HoverEvent.js +3 -3
  401. package/umd/Options/Classes/Interactivity/Interactivity.js +6 -13
  402. package/umd/Options/Classes/Interactivity/Modes/Modes.js +11 -8
  403. package/umd/Options/Classes/ManualParticle.js +8 -9
  404. package/umd/Options/Classes/Options.js +42 -62
  405. package/umd/Options/Classes/OptionsColor.js +4 -3
  406. package/umd/Options/Classes/Particles/Bounce/ParticlesBounce.js +4 -4
  407. package/umd/Options/Classes/Particles/Bounce/ParticlesBounceFactor.js +3 -3
  408. package/umd/Options/Classes/Particles/Collisions/Collisions.js +12 -7
  409. package/umd/Options/Classes/Particles/Move/Move.js +32 -62
  410. package/umd/Options/Classes/Particles/Move/MoveAngle.js +4 -4
  411. package/umd/Options/Classes/Particles/Move/MoveAttract.js +12 -23
  412. package/umd/Options/Classes/Particles/Move/MoveGravity.js +4 -4
  413. package/umd/Options/Classes/Particles/Move/MoveTrail.js +5 -11
  414. package/umd/Options/Classes/Particles/Move/MoveTrailFill.js +3 -3
  415. package/umd/Options/Classes/Particles/Move/OutModes.js +4 -5
  416. package/umd/Options/Classes/Particles/Move/Path/MovePath.js +5 -5
  417. package/umd/Options/Classes/Particles/Move/Spin.js +7 -5
  418. package/umd/Options/Classes/Particles/Number/ParticlesDensity.js +2 -21
  419. package/umd/Options/Classes/Particles/Number/ParticlesNumber.js +5 -12
  420. package/umd/Options/Classes/Particles/Opacity/Opacity.js +14 -10
  421. package/umd/Options/Classes/Particles/Opacity/OpacityAnimation.js +3 -12
  422. package/umd/Options/Classes/Particles/ParticlesOptions.js +33 -38
  423. package/umd/Options/Classes/Particles/Shadow.js +4 -4
  424. package/umd/Options/Classes/Particles/Shape/Shape.js +11 -12
  425. package/umd/Options/Classes/Particles/Size/Size.js +14 -10
  426. package/umd/Options/Classes/Particles/Size/SizeAnimation.js +3 -12
  427. package/umd/Options/Classes/Particles/Stroke.js +6 -6
  428. package/umd/Options/Classes/Particles/ZIndex/ZIndex.js +3 -3
  429. package/umd/Options/Classes/Responsive.js +3 -3
  430. package/umd/Options/Classes/Theme/Theme.js +5 -5
  431. package/umd/Options/Classes/ValueWithRandom.js +11 -24
  432. package/umd/Utils/CanvasUtils.js +24 -61
  433. package/umd/Utils/ColorUtils.js +32 -34
  434. package/umd/Utils/EventDispatcher.js +7 -6
  435. package/umd/Utils/HslColorManager.js +12 -14
  436. package/umd/Utils/NumberUtils.js +45 -49
  437. package/umd/Utils/OptionsUtils.js +3 -3
  438. package/umd/Utils/RgbColorManager.js +8 -10
  439. package/umd/Utils/Utils.js +158 -78
  440. package/umd/bundle.js +5 -98
  441. package/umd/export-types.js +123 -0
  442. package/umd/exports.js +115 -0
  443. package/umd/index.js +9 -200
  444. package/umd/init.js +26 -0
  445. package/browser/Core/Utils/FrameManager.js +0 -42
  446. package/browser/Core/Utils/Plugins.js +0 -112
  447. package/browser/Options/Interfaces/Particles/Shape/IImageShape.js +0 -1
  448. package/browser/Options/Interfaces/Particles/Shape/IPolygonShape.js +0 -1
  449. package/browser/Options/Interfaces/Particles/Shape/IShapeValues.js +0 -1
  450. package/browser/Options/Interfaces/Particles/Shape/IStarShape.js +0 -1
  451. package/browser/engine.js +0 -175
  452. package/cjs/Core/Utils/FrameManager.js +0 -46
  453. package/cjs/Core/Utils/Plugins.js +0 -116
  454. package/cjs/Enums/Modes/SizeMode.js +0 -2
  455. package/cjs/Options/Interfaces/Particles/Shape/ICharacterShape.js +0 -2
  456. package/cjs/Options/Interfaces/Particles/Shape/IImageShape.js +0 -2
  457. package/cjs/Options/Interfaces/Particles/Shape/IPolygonShape.js +0 -2
  458. package/cjs/Options/Interfaces/Particles/Shape/IShapeValues.js +0 -17
  459. package/cjs/Options/Interfaces/Particles/Shape/IStarShape.js +0 -2
  460. package/cjs/engine.js +0 -179
  461. package/esm/Core/Interfaces/IParticleOverride.js +0 -1
  462. package/esm/Core/Interfaces/IParticlesMover.js +0 -1
  463. package/esm/Core/Utils/FrameManager.js +0 -42
  464. package/esm/Core/Utils/Plugins.js +0 -112
  465. package/esm/Enums/Modes/SizeMode.js +0 -1
  466. package/esm/Options/Interfaces/Particles/Shape/ICharacterShape.js +0 -1
  467. package/esm/Options/Interfaces/Particles/Shape/IImageShape.js +0 -1
  468. package/esm/Options/Interfaces/Particles/Shape/IPolygonShape.js +0 -1
  469. package/esm/Options/Interfaces/Particles/Shape/IShapeValues.js +0 -1
  470. package/esm/Options/Interfaces/Particles/Shape/IStarShape.js +0 -1
  471. package/esm/engine.js +0 -175
  472. package/types/Core/Interfaces/IParticleOverride.d.ts +0 -6
  473. package/types/Core/Interfaces/IParticlesMover.d.ts +0 -7
  474. package/types/Core/Utils/FrameManager.d.ts +0 -6
  475. package/types/Core/Utils/Plugins.d.ts +0 -51
  476. package/types/Options/Interfaces/Particles/Shape/ICharacterShape.d.ts +0 -8
  477. package/types/Options/Interfaces/Particles/Shape/IImageShape.d.ts +0 -8
  478. package/types/Options/Interfaces/Particles/Shape/IPolygonShape.d.ts +0 -5
  479. package/types/Options/Interfaces/Particles/Shape/IShapeValues.d.ts +0 -1
  480. package/types/Options/Interfaces/Particles/Shape/IStarShape.d.ts +0 -6
  481. package/types/engine.d.ts +0 -39
  482. package/umd/Core/Utils/FrameManager.js +0 -56
  483. package/umd/Core/Utils/Plugins.js +0 -126
  484. package/umd/Enums/Modes/SizeMode.js +0 -12
  485. package/umd/Options/Interfaces/Particles/Shape/ICharacterShape.js +0 -12
  486. package/umd/Options/Interfaces/Particles/Shape/IImageShape.js +0 -12
  487. package/umd/Options/Interfaces/Particles/Shape/IPolygonShape.js +0 -12
  488. package/umd/Options/Interfaces/Particles/Shape/IShapeValues.js +0 -27
  489. package/umd/Options/Interfaces/Particles/Shape/IStarShape.js +0 -12
  490. package/umd/engine.js +0 -189
  491. /package/browser/{Core/Interfaces/IParticleOverride.js → Enums/Modes/PixelMode.js} +0 -0
  492. /package/browser/{Core/Interfaces/IParticlesMover.js → Types/ExportResult.js} +0 -0
  493. /package/cjs/{Core/Interfaces/IParticleOverride.js → Enums/Modes/PixelMode.js} +0 -0
  494. /package/cjs/{Core/Interfaces/IParticlesMover.js → Types/ExportResult.js} +0 -0
  495. /package/{browser/Enums/Modes/SizeMode.js → esm/Enums/Modes/PixelMode.js} +0 -0
  496. /package/{browser/Options/Interfaces/Particles/Shape/ICharacterShape.js → esm/Types/ExportResult.js} +0 -0
  497. /package/umd/{Core/Interfaces/IParticleOverride.js → Enums/Modes/PixelMode.js} +0 -0
  498. /package/umd/{Core/Interfaces/IParticlesMover.js → Types/ExportResult.js} +0 -0
@@ -1,57 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.alterHsl = exports.drawParticlePlugin = exports.drawPlugin = exports.drawShapeAfterEffect = exports.drawShape = exports.drawParticle = exports.clear = exports.drawTriangle = exports.drawLine = exports.paintCanvas = exports.clearCanvas = exports.getContext = void 0;
4
- const ColorUtils_1 = require("./ColorUtils");
5
- function paintBase(context, dimension, baseColor) {
6
- context.fillStyle = baseColor !== null && baseColor !== void 0 ? baseColor : "rgba(0,0,0,0)";
7
- context.fillRect(0, 0, dimension.width, dimension.height);
8
- }
9
- function paintImage(context, dimension, image, opacity) {
10
- if (!image) {
11
- return;
12
- }
13
- context.globalAlpha = opacity;
14
- context.drawImage(image, 0, 0, dimension.width, dimension.height);
15
- context.globalAlpha = 1;
16
- }
17
- function getContext(canvas) {
18
- const context = canvas.getContext("2d");
19
- if (!context) {
20
- throw new Error("Error tsParticles - No canvas context found");
21
- }
22
- return context;
23
- }
24
- exports.getContext = getContext;
25
- function clearCanvas(context, size, options, trailFill, coverColorStyle) {
26
- if (options.backgroundMask.enable) {
27
- paintCanvas(context, size, options, coverColorStyle);
28
- }
29
- else {
30
- const trail = options.particles.move.trail;
31
- if (trail.enable && trail.length > 0 && trailFill) {
32
- if (trailFill.color) {
33
- paintBase(context, size, (0, ColorUtils_1.getStyleFromRgb)(trailFill.color, trailFill.opacity));
34
- }
35
- else if (trailFill.image) {
36
- paintImage(context, size, trailFill.image, trailFill.opacity);
37
- }
38
- }
39
- else {
40
- clear(context, size);
41
- }
42
- }
43
- }
44
- exports.clearCanvas = clearCanvas;
45
- function paintCanvas(context, size, options, coverColorStyle) {
46
- if (options.backgroundMask.enable && coverColorStyle) {
47
- clear(context, size);
48
- paintBase(context, size, coverColorStyle);
49
- }
50
- else {
51
- paintBase(context, size);
52
- }
53
- }
54
- exports.paintCanvas = paintCanvas;
3
+ exports.alterHsl = exports.drawParticlePlugin = exports.drawPlugin = exports.drawShapeAfterEffect = exports.drawShape = exports.drawParticle = exports.clear = exports.paintImage = exports.paintBase = exports.drawTriangle = exports.drawLine = void 0;
4
+ const ColorUtils_js_1 = require("./ColorUtils.js");
55
5
  function drawLine(context, begin, end) {
56
6
  context.beginPath();
57
7
  context.moveTo(begin.x, begin.y);
@@ -67,21 +17,34 @@ function drawTriangle(context, p1, p2, p3) {
67
17
  context.closePath();
68
18
  }
69
19
  exports.drawTriangle = drawTriangle;
20
+ function paintBase(context, dimension, baseColor) {
21
+ context.fillStyle = baseColor ?? "rgba(0,0,0,0)";
22
+ context.fillRect(0, 0, dimension.width, dimension.height);
23
+ }
24
+ exports.paintBase = paintBase;
25
+ function paintImage(context, dimension, image, opacity) {
26
+ if (!image) {
27
+ return;
28
+ }
29
+ context.globalAlpha = opacity;
30
+ context.drawImage(image, 0, 0, dimension.width, dimension.height);
31
+ context.globalAlpha = 1;
32
+ }
33
+ exports.paintImage = paintImage;
70
34
  function clear(context, dimension) {
71
35
  context.clearRect(0, 0, dimension.width, dimension.height);
72
36
  }
73
37
  exports.clear = clear;
74
38
  function drawParticle(data) {
75
- var _a, _b, _c, _d, _e;
76
39
  const { container, context, particle, delta, colorStyles, backgroundMask, composite, radius, opacity, shadow, transform, } = data;
77
40
  const pos = particle.getPosition(), angle = particle.rotation + (particle.pathRotation ? particle.velocity.angle : 0), rotateData = {
78
41
  sin: Math.sin(angle),
79
42
  cos: Math.cos(angle),
80
43
  }, transformData = {
81
- a: rotateData.cos * ((_a = transform.a) !== null && _a !== void 0 ? _a : 1),
82
- b: rotateData.sin * ((_b = transform.b) !== null && _b !== void 0 ? _b : 1),
83
- c: -rotateData.sin * ((_c = transform.c) !== null && _c !== void 0 ? _c : 1),
84
- d: rotateData.cos * ((_d = transform.d) !== null && _d !== void 0 ? _d : 1),
44
+ a: rotateData.cos * (transform.a ?? 1),
45
+ b: rotateData.sin * (transform.b ?? 1),
46
+ c: -rotateData.sin * (transform.c ?? 1),
47
+ d: rotateData.cos * (transform.d ?? 1),
85
48
  };
86
49
  context.setTransform(transformData.a, transformData.b, transformData.c, transformData.d, pos.x, pos.y);
87
50
  context.beginPath();
@@ -91,14 +54,14 @@ function drawParticle(data) {
91
54
  const shadowColor = particle.shadowColor;
92
55
  if (shadow.enable && shadowColor) {
93
56
  context.shadowBlur = shadow.blur;
94
- context.shadowColor = (0, ColorUtils_1.getStyleFromRgb)(shadowColor);
57
+ context.shadowColor = (0, ColorUtils_js_1.getStyleFromRgb)(shadowColor);
95
58
  context.shadowOffsetX = shadow.offset.x;
96
59
  context.shadowOffsetY = shadow.offset.y;
97
60
  }
98
61
  if (colorStyles.fill) {
99
62
  context.fillStyle = colorStyles.fill;
100
63
  }
101
- const strokeWidth = (_e = particle.strokeWidth) !== null && _e !== void 0 ? _e : 0;
64
+ const strokeWidth = particle.strokeWidth ?? 0;
102
65
  context.lineWidth = strokeWidth;
103
66
  if (colorStyles.stroke) {
104
67
  context.strokeStyle = colorStyles.stroke;
@@ -134,7 +97,7 @@ function drawShapeAfterEffect(container, context, particle, radius, opacity, del
134
97
  return;
135
98
  }
136
99
  const drawer = container.drawers.get(particle.shape);
137
- if (!(drawer === null || drawer === void 0 ? void 0 : drawer.afterEffect)) {
100
+ if (!drawer || !drawer.afterEffect) {
138
101
  return;
139
102
  }
140
103
  drawer.afterEffect(context, particle, radius, opacity, delta, container.retina.pixelRatio);
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getHslAnimationFromHsl = exports.getHslFromAnimation = exports.getLinkRandomColor = exports.getLinkColor = exports.colorMix = exports.getStyleFromHsl = exports.getStyleFromRgb = exports.getRandomRgbColor = exports.hslaToRgba = exports.hslToRgb = exports.stringToRgb = exports.stringToAlpha = exports.rgbToHsl = exports.rangeColorToHsl = exports.colorToHsl = exports.colorToRgb = exports.rangeColorToRgb = exports.addColorManager = void 0;
4
- const NumberUtils_1 = require("./NumberUtils");
5
- const Utils_1 = require("./Utils");
4
+ const NumberUtils_js_1 = require("./NumberUtils.js");
5
+ const Utils_js_1 = require("./Utils.js");
6
6
  const randomColorValue = "random", midColorValue = "mid", colorManagers = new Map();
7
7
  function addColorManager(manager) {
8
8
  colorManagers.set(manager.key, manager);
@@ -48,13 +48,13 @@ function rangeColorToRgb(input, index, useIndex = true) {
48
48
  if (!input) {
49
49
  return;
50
50
  }
51
- const color = typeof input === "string" ? { value: input } : input;
52
- if (typeof color.value === "string") {
51
+ const color = (0, Utils_js_1.isString)(input) ? { value: input } : input;
52
+ if ((0, Utils_js_1.isString)(color.value)) {
53
53
  return colorToRgb(color.value, index, useIndex);
54
54
  }
55
- if (color.value instanceof Array) {
55
+ if ((0, Utils_js_1.isArray)(color.value)) {
56
56
  return rangeColorToRgb({
57
- value: (0, Utils_1.itemFromArray)(color.value, index, useIndex),
57
+ value: (0, Utils_js_1.itemFromArray)(color.value, index, useIndex),
58
58
  });
59
59
  }
60
60
  for (const [, manager] of colorManagers) {
@@ -69,13 +69,13 @@ function colorToRgb(input, index, useIndex = true) {
69
69
  if (!input) {
70
70
  return;
71
71
  }
72
- const color = typeof input === "string" ? { value: input } : input;
73
- if (typeof color.value === "string") {
72
+ const color = (0, Utils_js_1.isString)(input) ? { value: input } : input;
73
+ if ((0, Utils_js_1.isString)(color.value)) {
74
74
  return color.value === randomColorValue ? getRandomRgbColor() : stringToRgb(color.value);
75
75
  }
76
- if (color.value instanceof Array) {
76
+ if ((0, Utils_js_1.isArray)(color.value)) {
77
77
  return colorToRgb({
78
- value: (0, Utils_1.itemFromArray)(color.value, index, useIndex),
78
+ value: (0, Utils_js_1.itemFromArray)(color.value, index, useIndex),
79
79
  });
80
80
  }
81
81
  for (const [, manager] of colorManagers) {
@@ -122,8 +122,7 @@ function rgbToHsl(color) {
122
122
  }
123
123
  exports.rgbToHsl = rgbToHsl;
124
124
  function stringToAlpha(input) {
125
- var _a;
126
- return (_a = stringToRgba(input)) === null || _a === void 0 ? void 0 : _a.a;
125
+ return stringToRgba(input)?.a;
127
126
  }
128
127
  exports.stringToAlpha = stringToAlpha;
129
128
  function stringToRgb(input) {
@@ -137,9 +136,7 @@ function hslToRgb(hsl) {
137
136
  s: hsl.s / 100,
138
137
  };
139
138
  if (!hslPercent.s) {
140
- result.b = hslPercent.l;
141
- result.g = hslPercent.l;
142
- result.r = hslPercent.l;
139
+ result.r = result.g = result.b = hslPercent.l;
143
140
  }
144
141
  else {
145
142
  const q = hslPercent.l < 0.5
@@ -166,20 +163,20 @@ function hslaToRgba(hsla) {
166
163
  }
167
164
  exports.hslaToRgba = hslaToRgba;
168
165
  function getRandomRgbColor(min) {
169
- const fixedMin = min !== null && min !== void 0 ? min : 0;
166
+ const fixedMin = min ?? 0;
170
167
  return {
171
- b: Math.floor((0, NumberUtils_1.randomInRange)((0, NumberUtils_1.setRangeValue)(fixedMin, 256))),
172
- g: Math.floor((0, NumberUtils_1.randomInRange)((0, NumberUtils_1.setRangeValue)(fixedMin, 256))),
173
- r: Math.floor((0, NumberUtils_1.randomInRange)((0, NumberUtils_1.setRangeValue)(fixedMin, 256))),
168
+ b: Math.floor((0, NumberUtils_js_1.randomInRange)((0, NumberUtils_js_1.setRangeValue)(fixedMin, 256))),
169
+ g: Math.floor((0, NumberUtils_js_1.randomInRange)((0, NumberUtils_js_1.setRangeValue)(fixedMin, 256))),
170
+ r: Math.floor((0, NumberUtils_js_1.randomInRange)((0, NumberUtils_js_1.setRangeValue)(fixedMin, 256))),
174
171
  };
175
172
  }
176
173
  exports.getRandomRgbColor = getRandomRgbColor;
177
174
  function getStyleFromRgb(color, opacity) {
178
- return `rgba(${color.r}, ${color.g}, ${color.b}, ${opacity !== null && opacity !== void 0 ? opacity : 1})`;
175
+ return `rgba(${color.r}, ${color.g}, ${color.b}, ${opacity ?? 1})`;
179
176
  }
180
177
  exports.getStyleFromRgb = getStyleFromRgb;
181
178
  function getStyleFromHsl(color, opacity) {
182
- return `hsla(${color.h}, ${color.s}%, ${color.l}%, ${opacity !== null && opacity !== void 0 ? opacity : 1})`;
179
+ return `hsla(${color.h}, ${color.s}%, ${color.l}%, ${opacity ?? 1})`;
183
180
  }
184
181
  exports.getStyleFromHsl = getStyleFromHsl;
185
182
  function colorMix(color1, color2, size1, size2) {
@@ -191,24 +188,23 @@ function colorMix(color1, color2, size1, size2) {
191
188
  rgb2 = hslToRgb(color2);
192
189
  }
193
190
  return {
194
- b: (0, NumberUtils_1.mix)(rgb1.b, rgb2.b, size1, size2),
195
- g: (0, NumberUtils_1.mix)(rgb1.g, rgb2.g, size1, size2),
196
- r: (0, NumberUtils_1.mix)(rgb1.r, rgb2.r, size1, size2),
191
+ b: (0, NumberUtils_js_1.mix)(rgb1.b, rgb2.b, size1, size2),
192
+ g: (0, NumberUtils_js_1.mix)(rgb1.g, rgb2.g, size1, size2),
193
+ r: (0, NumberUtils_js_1.mix)(rgb1.r, rgb2.r, size1, size2),
197
194
  };
198
195
  }
199
196
  exports.colorMix = colorMix;
200
197
  function getLinkColor(p1, p2, linkColor) {
201
- var _a, _b;
202
198
  if (linkColor === randomColorValue) {
203
199
  return getRandomRgbColor();
204
200
  }
205
201
  else if (linkColor === midColorValue) {
206
- const sourceColor = (_a = p1.getFillColor()) !== null && _a !== void 0 ? _a : p1.getStrokeColor(), destColor = (_b = p2 === null || p2 === void 0 ? void 0 : p2.getFillColor()) !== null && _b !== void 0 ? _b : p2 === null || p2 === void 0 ? void 0 : p2.getStrokeColor();
202
+ const sourceColor = p1.getFillColor() ?? p1.getStrokeColor(), destColor = p2?.getFillColor() ?? p2?.getStrokeColor();
207
203
  if (sourceColor && destColor && p2) {
208
204
  return colorMix(sourceColor, destColor, p1.getRadius(), p2.getRadius());
209
205
  }
210
206
  else {
211
- const hslColor = sourceColor !== null && sourceColor !== void 0 ? sourceColor : destColor;
207
+ const hslColor = sourceColor ?? destColor;
212
208
  if (hslColor) {
213
209
  return hslToRgb(hslColor);
214
210
  }
@@ -220,7 +216,7 @@ function getLinkColor(p1, p2, linkColor) {
220
216
  }
221
217
  exports.getLinkColor = getLinkColor;
222
218
  function getLinkRandomColor(optColor, blink, consent) {
223
- const color = typeof optColor === "string" ? optColor : optColor.value;
219
+ const color = (0, Utils_js_1.isString)(optColor) ? optColor : optColor.value;
224
220
  if (color === randomColorValue) {
225
221
  if (consent) {
226
222
  return rangeColorToRgb({
@@ -278,14 +274,16 @@ exports.getHslAnimationFromHsl = getHslAnimationFromHsl;
278
274
  function setColorAnimation(colorValue, colorAnimation, reduceFactor) {
279
275
  colorValue.enable = colorAnimation.enable;
280
276
  if (colorValue.enable) {
281
- colorValue.velocity = ((0, NumberUtils_1.getRangeValue)(colorAnimation.speed) / 100) * reduceFactor;
282
- colorValue.decay = 1 - (0, NumberUtils_1.getRangeValue)(colorAnimation.decay);
277
+ colorValue.velocity = ((0, NumberUtils_js_1.getRangeValue)(colorAnimation.speed) / 100) * reduceFactor;
278
+ colorValue.decay = 1 - (0, NumberUtils_js_1.getRangeValue)(colorAnimation.decay);
283
279
  colorValue.status = "increasing";
284
280
  colorValue.loops = 0;
285
- colorValue.maxLoops = (0, NumberUtils_1.getRangeValue)(colorAnimation.count);
281
+ colorValue.maxLoops = (0, NumberUtils_js_1.getRangeValue)(colorAnimation.count);
282
+ colorValue.time = 0;
283
+ colorValue.delayTime = (0, NumberUtils_js_1.getRangeValue)(colorAnimation.delay) * 1000;
286
284
  if (!colorAnimation.sync) {
287
- colorValue.velocity *= (0, NumberUtils_1.getRandom)();
288
- colorValue.value *= (0, NumberUtils_1.getRandom)();
285
+ colorValue.velocity *= (0, NumberUtils_js_1.getRandom)();
286
+ colorValue.value *= (0, NumberUtils_js_1.getRandom)();
289
287
  }
290
288
  colorValue.initialValue = colorValue.value;
291
289
  }
@@ -6,16 +6,17 @@ class EventDispatcher {
6
6
  this._listeners = new Map();
7
7
  }
8
8
  addEventListener(type, listener) {
9
- var _a;
10
9
  this.removeEventListener(type, listener);
11
- if (!this._listeners.get(type)) {
12
- this._listeners.set(type, []);
10
+ let arr = this._listeners.get(type);
11
+ if (!arr) {
12
+ arr = [];
13
+ this._listeners.set(type, arr);
13
14
  }
14
- (_a = this._listeners.get(type)) === null || _a === void 0 ? void 0 : _a.push(listener);
15
+ arr.push(listener);
15
16
  }
16
17
  dispatchEvent(type, args) {
17
- var _a;
18
- (_a = this._listeners.get(type)) === null || _a === void 0 ? void 0 : _a.forEach((handler) => handler(args));
18
+ const listeners = this._listeners.get(type);
19
+ listeners && listeners.forEach((handler) => handler(args));
19
20
  }
20
21
  hasEventListener(type) {
21
22
  return !!this._listeners.get(type);
@@ -1,28 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HslColorManager = void 0;
4
- const NumberUtils_1 = require("./NumberUtils");
5
- const ColorUtils_1 = require("./ColorUtils");
4
+ const NumberUtils_js_1 = require("./NumberUtils.js");
5
+ const ColorUtils_js_1 = require("./ColorUtils.js");
6
6
  class HslColorManager {
7
7
  constructor() {
8
8
  this.key = "hsl";
9
9
  this.stringPrefix = "hsl";
10
10
  }
11
11
  handleColor(color) {
12
- var _a;
13
- const colorValue = color.value, hslColor = (_a = colorValue.hsl) !== null && _a !== void 0 ? _a : color.value;
12
+ const colorValue = color.value, hslColor = colorValue.hsl ?? color.value;
14
13
  if (hslColor.h !== undefined && hslColor.s !== undefined && hslColor.l !== undefined) {
15
- return (0, ColorUtils_1.hslToRgb)(hslColor);
14
+ return (0, ColorUtils_js_1.hslToRgb)(hslColor);
16
15
  }
17
16
  }
18
17
  handleRangeColor(color) {
19
- var _a;
20
- const colorValue = color.value, hslColor = (_a = colorValue.hsl) !== null && _a !== void 0 ? _a : color.value;
18
+ const colorValue = color.value, hslColor = colorValue.hsl ?? color.value;
21
19
  if (hslColor.h !== undefined && hslColor.l !== undefined) {
22
- return (0, ColorUtils_1.hslToRgb)({
23
- h: (0, NumberUtils_1.getRangeValue)(hslColor.h),
24
- l: (0, NumberUtils_1.getRangeValue)(hslColor.l),
25
- s: (0, NumberUtils_1.getRangeValue)(hslColor.s),
20
+ return (0, ColorUtils_js_1.hslToRgb)({
21
+ h: (0, NumberUtils_js_1.getRangeValue)(hslColor.h),
22
+ l: (0, NumberUtils_js_1.getRangeValue)(hslColor.l),
23
+ s: (0, NumberUtils_js_1.getRangeValue)(hslColor.s),
26
24
  });
27
25
  }
28
26
  }
@@ -32,8 +30,8 @@ class HslColorManager {
32
30
  }
33
31
  const regex = /hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.%]+)\s*)?\)/i, result = regex.exec(input);
34
32
  return result
35
- ? (0, ColorUtils_1.hslaToRgba)({
36
- a: result.length > 4 ? (0, NumberUtils_1.parseAlpha)(result[5]) : 1,
33
+ ? (0, ColorUtils_js_1.hslaToRgba)({
34
+ a: result.length > 4 ? (0, NumberUtils_js_1.parseAlpha)(result[5]) : 1,
37
35
  h: parseInt(result[1], 10),
38
36
  l: parseInt(result[3], 10),
39
37
  s: parseInt(result[2], 10),
@@ -1,13 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseAlpha = exports.calcExactPositionOrRandomFromSizeRanged = exports.calcExactPositionOrRandomFromSize = exports.calcPositionOrRandomFromSizeRanged = exports.calcPositionOrRandomFromSize = exports.calcPositionFromSize = exports.collisionVelocity = exports.getParticleBaseVelocity = exports.getParticleDirectionAngle = exports.getDistance = exports.getDistances = exports.getValue = exports.setRangeValue = exports.getRangeMax = exports.getRangeMin = exports.getRangeValue = exports.randomInRange = exports.mix = exports.clamp = exports.getRandom = exports.setRandom = exports.getEasing = exports.addEasing = void 0;
4
- const Vector_1 = require("../Core/Utils/Vector");
4
+ const Utils_js_1 = require("./Utils.js");
5
+ const Vector_js_1 = require("../Core/Utils/Vector.js");
5
6
  let _random = Math.random;
6
7
  const easings = new Map();
7
8
  function addEasing(name, easing) {
8
- if (!easings.get(name)) {
9
- easings.set(name, easing);
9
+ if (easings.get(name)) {
10
+ return;
10
11
  }
12
+ easings.set(name, easing);
11
13
  }
12
14
  exports.addEasing = addEasing;
13
15
  function getEasing(name) {
@@ -40,19 +42,19 @@ function randomInRange(r) {
40
42
  }
41
43
  exports.randomInRange = randomInRange;
42
44
  function getRangeValue(value) {
43
- return typeof value === "number" ? value : randomInRange(value);
45
+ return (0, Utils_js_1.isNumber)(value) ? value : randomInRange(value);
44
46
  }
45
47
  exports.getRangeValue = getRangeValue;
46
48
  function getRangeMin(value) {
47
- return typeof value === "number" ? value : value.min;
49
+ return (0, Utils_js_1.isNumber)(value) ? value : value.min;
48
50
  }
49
51
  exports.getRangeMin = getRangeMin;
50
52
  function getRangeMax(value) {
51
- return typeof value === "number" ? value : value.max;
53
+ return (0, Utils_js_1.isNumber)(value) ? value : value.max;
52
54
  }
53
55
  exports.getRangeMax = getRangeMax;
54
56
  function setRangeValue(source, value) {
55
- if (source === value || (value === undefined && typeof source === "number")) {
57
+ if (source === value || (value === undefined && (0, Utils_js_1.isNumber)(source))) {
56
58
  return source;
57
59
  }
58
60
  const min = getRangeMin(source), max = getRangeMax(source);
@@ -65,7 +67,7 @@ function setRangeValue(source, value) {
65
67
  }
66
68
  exports.setRangeValue = setRangeValue;
67
69
  function getValue(options) {
68
- const random = options.random, { enable, minimumValue } = typeof random === "boolean"
70
+ const random = options.random, { enable, minimumValue } = (0, Utils_js_1.isBoolean)(random)
69
71
  ? {
70
72
  enable: random,
71
73
  minimumValue: 0,
@@ -84,46 +86,44 @@ function getDistance(pointA, pointB) {
84
86
  }
85
87
  exports.getDistance = getDistance;
86
88
  function getParticleDirectionAngle(direction, position, center) {
87
- if (typeof direction === "number") {
89
+ if ((0, Utils_js_1.isNumber)(direction)) {
88
90
  return (direction * Math.PI) / 180;
89
91
  }
90
- else {
91
- switch (direction) {
92
- case "top":
93
- return -Math.PI / 2;
94
- case "top-right":
95
- return -Math.PI / 4;
96
- case "right":
97
- return 0;
98
- case "bottom-right":
99
- return Math.PI / 4;
100
- case "bottom":
101
- return Math.PI / 2;
102
- case "bottom-left":
103
- return (3 * Math.PI) / 4;
104
- case "left":
105
- return Math.PI;
106
- case "top-left":
107
- return (-3 * Math.PI) / 4;
108
- case "inside":
109
- return Math.atan2(center.y - position.y, center.x - position.x);
110
- case "outside":
111
- return Math.atan2(position.y - center.y, position.x - center.x);
112
- default:
113
- return getRandom() * Math.PI * 2;
114
- }
92
+ switch (direction) {
93
+ case "top":
94
+ return -Math.PI / 2;
95
+ case "top-right":
96
+ return -Math.PI / 4;
97
+ case "right":
98
+ return 0;
99
+ case "bottom-right":
100
+ return Math.PI / 4;
101
+ case "bottom":
102
+ return Math.PI / 2;
103
+ case "bottom-left":
104
+ return (3 * Math.PI) / 4;
105
+ case "left":
106
+ return Math.PI;
107
+ case "top-left":
108
+ return (-3 * Math.PI) / 4;
109
+ case "inside":
110
+ return Math.atan2(center.y - position.y, center.x - position.x);
111
+ case "outside":
112
+ return Math.atan2(position.y - center.y, position.x - center.x);
113
+ default:
114
+ return getRandom() * Math.PI * 2;
115
115
  }
116
116
  }
117
117
  exports.getParticleDirectionAngle = getParticleDirectionAngle;
118
118
  function getParticleBaseVelocity(direction) {
119
- const baseVelocity = Vector_1.Vector.origin;
119
+ const baseVelocity = Vector_js_1.Vector.origin;
120
120
  baseVelocity.length = 1;
121
121
  baseVelocity.angle = direction;
122
122
  return baseVelocity;
123
123
  }
124
124
  exports.getParticleBaseVelocity = getParticleBaseVelocity;
125
125
  function collisionVelocity(v1, v2, m1, m2) {
126
- return Vector_1.Vector.create((v1.x * (m1 - m2)) / (m1 + m2) + (v2.x * 2 * m2) / (m1 + m2), v1.y);
126
+ return Vector_js_1.Vector.create((v1.x * (m1 - m2)) / (m1 + m2) + (v2.x * 2 * m2) / (m1 + m2), v1.y);
127
127
  }
128
128
  exports.collisionVelocity = collisionVelocity;
129
129
  function calcPositionFromSize(data) {
@@ -136,35 +136,31 @@ function calcPositionFromSize(data) {
136
136
  }
137
137
  exports.calcPositionFromSize = calcPositionFromSize;
138
138
  function calcPositionOrRandomFromSize(data) {
139
- var _a, _b, _c, _d;
140
139
  return {
141
- x: (((_b = (_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : getRandom() * 100) * data.size.width) / 100,
142
- y: (((_d = (_c = data.position) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : getRandom() * 100) * data.size.height) / 100,
140
+ x: ((data.position?.x ?? getRandom() * 100) * data.size.width) / 100,
141
+ y: ((data.position?.y ?? getRandom() * 100) * data.size.height) / 100,
143
142
  };
144
143
  }
145
144
  exports.calcPositionOrRandomFromSize = calcPositionOrRandomFromSize;
146
145
  function calcPositionOrRandomFromSizeRanged(data) {
147
- var _a, _b;
148
146
  const position = {
149
- x: ((_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== undefined ? getRangeValue(data.position.x) : undefined,
150
- y: ((_b = data.position) === null || _b === void 0 ? void 0 : _b.y) !== undefined ? getRangeValue(data.position.y) : undefined,
147
+ x: data.position?.x !== undefined ? getRangeValue(data.position.x) : undefined,
148
+ y: data.position?.y !== undefined ? getRangeValue(data.position.y) : undefined,
151
149
  };
152
150
  return calcPositionOrRandomFromSize({ size: data.size, position });
153
151
  }
154
152
  exports.calcPositionOrRandomFromSizeRanged = calcPositionOrRandomFromSizeRanged;
155
153
  function calcExactPositionOrRandomFromSize(data) {
156
- var _a, _b, _c, _d;
157
154
  return {
158
- x: (_b = (_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : getRandom() * data.size.width,
159
- y: (_d = (_c = data.position) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : getRandom() * data.size.height,
155
+ x: data.position?.x ?? getRandom() * data.size.width,
156
+ y: data.position?.y ?? getRandom() * data.size.height,
160
157
  };
161
158
  }
162
159
  exports.calcExactPositionOrRandomFromSize = calcExactPositionOrRandomFromSize;
163
160
  function calcExactPositionOrRandomFromSizeRanged(data) {
164
- var _a, _b;
165
161
  const position = {
166
- x: ((_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== undefined ? getRangeValue(data.position.x) : undefined,
167
- y: ((_b = data.position) === null || _b === void 0 ? void 0 : _b.y) !== undefined ? getRangeValue(data.position.y) : undefined,
162
+ x: data.position?.x !== undefined ? getRangeValue(data.position.x) : undefined,
163
+ y: data.position?.y !== undefined ? getRangeValue(data.position.y) : undefined,
168
164
  };
169
165
  return calcExactPositionOrRandomFromSize({ size: data.size, position });
170
166
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loadParticlesOptions = exports.loadOptions = void 0;
4
- const ParticlesOptions_1 = require("../Options/Classes/Particles/ParticlesOptions");
4
+ const ParticlesOptions_js_1 = require("../Options/Classes/Particles/ParticlesOptions.js");
5
5
  function loadOptions(options, ...sourceOptionsArr) {
6
6
  for (const sourceOptions of sourceOptionsArr) {
7
7
  options.load(sourceOptions);
@@ -9,7 +9,7 @@ function loadOptions(options, ...sourceOptionsArr) {
9
9
  }
10
10
  exports.loadOptions = loadOptions;
11
11
  function loadParticlesOptions(engine, container, ...sourceOptionsArr) {
12
- const options = new ParticlesOptions_1.ParticlesOptions(engine, container);
12
+ const options = new ParticlesOptions_js_1.ParticlesOptions(engine, container);
13
13
  loadOptions(options, ...sourceOptionsArr);
14
14
  return options;
15
15
  }
@@ -1,27 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RgbColorManager = void 0;
4
- const NumberUtils_1 = require("./NumberUtils");
4
+ const NumberUtils_js_1 = require("./NumberUtils.js");
5
5
  class RgbColorManager {
6
6
  constructor() {
7
7
  this.key = "rgb";
8
8
  this.stringPrefix = "rgb";
9
9
  }
10
10
  handleColor(color) {
11
- var _a;
12
- const colorValue = color.value, rgbColor = (_a = colorValue.rgb) !== null && _a !== void 0 ? _a : color.value;
11
+ const colorValue = color.value, rgbColor = colorValue.rgb ?? color.value;
13
12
  if (rgbColor.r !== undefined) {
14
13
  return rgbColor;
15
14
  }
16
15
  }
17
16
  handleRangeColor(color) {
18
- var _a;
19
- const colorValue = color.value, rgbColor = (_a = colorValue.rgb) !== null && _a !== void 0 ? _a : color.value;
17
+ const colorValue = color.value, rgbColor = colorValue.rgb ?? color.value;
20
18
  if (rgbColor.r !== undefined) {
21
19
  return {
22
- r: (0, NumberUtils_1.getRangeValue)(rgbColor.r),
23
- g: (0, NumberUtils_1.getRangeValue)(rgbColor.g),
24
- b: (0, NumberUtils_1.getRangeValue)(rgbColor.b),
20
+ r: (0, NumberUtils_js_1.getRangeValue)(rgbColor.r),
21
+ g: (0, NumberUtils_js_1.getRangeValue)(rgbColor.g),
22
+ b: (0, NumberUtils_js_1.getRangeValue)(rgbColor.b),
25
23
  };
26
24
  }
27
25
  }
@@ -32,7 +30,7 @@ class RgbColorManager {
32
30
  const regex = /rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.%]+)\s*)?\)/i, result = regex.exec(input);
33
31
  return result
34
32
  ? {
35
- a: result.length > 4 ? (0, NumberUtils_1.parseAlpha)(result[5]) : 1,
33
+ a: result.length > 4 ? (0, NumberUtils_js_1.parseAlpha)(result[5]) : 1,
36
34
  b: parseInt(result[3], 10),
37
35
  g: parseInt(result[2], 10),
38
36
  r: parseInt(result[1], 10),