@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,6 +1,6 @@
1
- import type { IColorAnimation } from "./IColorAnimation";
2
- import type { IHslAnimation } from "./IHslAnimation";
3
- import type { IOptionsColor } from "./IOptionsColor";
1
+ import type { IColorAnimation } from "./IColorAnimation.js";
2
+ import type { IHslAnimation } from "./IHslAnimation.js";
3
+ import type { IOptionsColor } from "./IOptionsColor.js";
4
4
  export interface IAnimatableColor extends IOptionsColor {
5
5
  animation: IColorAnimation | IHslAnimation;
6
6
  }
@@ -1,15 +1,15 @@
1
- import type { AnimationMode } from "../../Enums/Modes/AnimationMode";
2
- import type { RangeValue } from "../../Types/RangeValue";
3
- import type { StartValueType } from "../../Enums/Types/StartValueType";
1
+ import type { AnimationMode } from "../../Enums/Modes/AnimationMode.js";
2
+ import type { RangeValue } from "../../Types/RangeValue.js";
3
+ import type { StartValueType } from "../../Enums/Types/StartValueType.js";
4
4
  export interface IAnimation {
5
5
  count: RangeValue;
6
6
  decay: RangeValue;
7
+ delay: RangeValue;
7
8
  enable: boolean;
8
9
  speed: RangeValue;
9
10
  sync: boolean;
10
11
  }
11
12
  export interface IRangedAnimation extends IAnimation {
12
- minimumValue?: number;
13
13
  mode: AnimationMode | keyof typeof AnimationMode;
14
14
  startValue: StartValueType | keyof typeof StartValueType;
15
15
  }
@@ -1,5 +1,5 @@
1
- import type { IAnimation } from "./IAnimation";
2
- import type { RangeValue } from "../../Types/RangeValue";
1
+ import type { IAnimation } from "./IAnimation.js";
2
+ import type { RangeValue } from "../../Types/RangeValue.js";
3
3
  export interface IColorAnimation extends IAnimation {
4
4
  offset: RangeValue;
5
5
  }
@@ -1,4 +1,4 @@
1
- import type { IColorAnimation } from "./IColorAnimation";
1
+ import type { IColorAnimation } from "./IColorAnimation.js";
2
2
  export interface IHslAnimation {
3
3
  h: IColorAnimation;
4
4
  l: IColorAnimation;
@@ -1,6 +1,6 @@
1
- import type { ICoordinatesWithMode } from "../../Core/Interfaces/ICoordinates";
2
- import type { IParticlesOptions } from "./Particles/IParticlesOptions";
3
- import type { RecursivePartial } from "../../Types/RecursivePartial";
1
+ import type { ICoordinatesWithMode } from "../../Core/Interfaces/ICoordinates.js";
2
+ import type { IParticlesOptions } from "./Particles/IParticlesOptions.js";
3
+ import type { RecursivePartial } from "../../Types/RecursivePartial.js";
4
4
  export interface IManualParticle {
5
5
  options?: RecursivePartial<IParticlesOptions>;
6
6
  position?: ICoordinatesWithMode;
@@ -1,4 +1,4 @@
1
- import type { RecursivePartial } from "../../Types/RecursivePartial";
1
+ import type { RecursivePartial } from "../../Types/RecursivePartial.js";
2
2
  export interface IOptionLoader<T> {
3
3
  load(data?: RecursivePartial<T>): void;
4
4
  }
@@ -1,35 +1,32 @@
1
- import type { IBackground } from "./Background/IBackground";
2
- import type { IBackgroundMask } from "./BackgroundMask/IBackgroundMask";
3
- import type { IFullScreen } from "./FullScreen/IFullScreen";
4
- import type { IInteractivity } from "./Interactivity/IInteractivity";
5
- import type { IManualParticle } from "./IManualParticle";
6
- import type { IParticlesOptions } from "./Particles/IParticlesOptions";
7
- import type { IResponsive } from "./IResponsive";
8
- import type { ITheme } from "./Theme/ITheme";
9
- import type { RangeValue } from "../../Types/RangeValue";
10
- import type { RecursivePartial } from "../../Types/RecursivePartial";
11
- import type { SingleOrMultiple } from "../../Types/SingleOrMultiple";
1
+ import type { IBackground } from "./Background/IBackground.js";
2
+ import type { IBackgroundMask } from "./BackgroundMask/IBackgroundMask.js";
3
+ import type { IFullScreen } from "./FullScreen/IFullScreen.js";
4
+ import type { IInteractivity } from "./Interactivity/IInteractivity.js";
5
+ import type { IManualParticle } from "./IManualParticle.js";
6
+ import type { IParticlesOptions } from "./Particles/IParticlesOptions.js";
7
+ import type { IResponsive } from "./IResponsive.js";
8
+ import type { ITheme } from "./Theme/ITheme.js";
9
+ import type { RangeValue } from "../../Types/RangeValue.js";
10
+ import type { RecursivePartial } from "../../Types/RecursivePartial.js";
11
+ import type { SingleOrMultiple } from "../../Types/SingleOrMultiple.js";
12
12
  export interface IOptions {
13
13
  [name: string]: unknown;
14
14
  autoPlay: boolean;
15
15
  background: IBackground;
16
16
  backgroundMask: IBackgroundMask;
17
- backgroundMode: RecursivePartial<IFullScreen> | boolean;
18
17
  delay: RangeValue;
19
18
  detectRetina: boolean;
20
19
  duration: RangeValue;
21
20
  fpsLimit: number;
22
- fps_limit: number;
23
21
  fullScreen: RecursivePartial<IFullScreen> | boolean;
24
22
  interactivity: IInteractivity;
25
23
  manualParticles: IManualParticle[];
26
- name: string;
24
+ name?: string;
27
25
  particles: IParticlesOptions;
28
26
  pauseOnBlur: boolean;
29
27
  pauseOnOutsideViewport: boolean;
30
28
  preset?: SingleOrMultiple<string>;
31
29
  responsive: IResponsive[];
32
- retina_detect: boolean;
33
30
  smooth: boolean;
34
31
  style: RecursivePartial<CSSStyleDeclaration>;
35
32
  themes: ITheme[];
@@ -1,2 +1,2 @@
1
- import type { IRangeColor } from "../../Core/Interfaces/Colors";
1
+ import type { IRangeColor } from "../../Core/Interfaces/Colors.js";
2
2
  export type IOptionsColor = IRangeColor;
@@ -1,7 +1,8 @@
1
- import type { ISourceOptions } from "../../Types/ISourceOptions";
2
- import type { ResponsiveMode } from "../../Enums/Modes/ResponsiveMode";
1
+ import type { IOptions } from "./IOptions.js";
2
+ import type { RecursivePartial } from "../../Types/RecursivePartial.js";
3
+ import type { ResponsiveMode } from "../../Enums/Modes/ResponsiveMode.js";
3
4
  export interface IResponsive {
4
5
  maxWidth: number;
5
- mode: ResponsiveMode;
6
- options: ISourceOptions;
6
+ mode: ResponsiveMode | keyof typeof ResponsiveMode;
7
+ options: RecursivePartial<IOptions>;
7
8
  }
@@ -1,6 +1,6 @@
1
- import type { IAnimation, IRangedAnimation } from "./IAnimation";
2
- import type { IRandom } from "./IRandom";
3
- import type { RangeValue } from "../../Types/RangeValue";
1
+ import type { IAnimation, IRangedAnimation } from "./IAnimation.js";
2
+ import type { IRandom } from "./IRandom.js";
3
+ import type { RangeValue } from "../../Types/RangeValue.js";
4
4
  export interface IValueWithRandom {
5
5
  random: boolean | IRandom;
6
6
  value: RangeValue;
@@ -1,5 +1,5 @@
1
- import type { ClickMode } from "../../../../Enums/Modes/ClickMode";
2
- import type { SingleOrMultiple } from "../../../../Types/SingleOrMultiple";
1
+ import type { ClickMode } from "../../../../Enums/Modes/ClickMode.js";
2
+ import type { SingleOrMultiple } from "../../../../Types/SingleOrMultiple.js";
3
3
  export interface IClickEvent {
4
4
  enable: boolean;
5
5
  mode: SingleOrMultiple<ClickMode | keyof typeof ClickMode | string>;
@@ -1,11 +1,8 @@
1
- import type { DivMode } from "../../../../Enums/Modes/DivMode";
2
- import type { DivType } from "../../../../Enums/Types/DivType";
3
- import type { SingleOrMultiple } from "../../../../Types/SingleOrMultiple";
1
+ import type { DivMode } from "../../../../Enums/Modes/DivMode.js";
2
+ import type { DivType } from "../../../../Enums/Types/DivType.js";
3
+ import type { SingleOrMultiple } from "../../../../Types/SingleOrMultiple.js";
4
4
  export interface IDivEvent {
5
- el: SingleOrMultiple<string>;
6
- elementId: SingleOrMultiple<string>;
7
5
  enable: boolean;
8
- ids: SingleOrMultiple<string>;
9
6
  mode: SingleOrMultiple<DivMode | keyof typeof DivMode | string>;
10
7
  selectors: SingleOrMultiple<string>;
11
8
  type: DivType | keyof typeof DivType;
@@ -1,14 +1,11 @@
1
- import type { IClickEvent } from "./IClickEvent";
2
- import type { IDivEvent } from "./IDivEvent";
3
- import type { IHoverEvent } from "./IHoverEvent";
4
- import type { IResizeEvent } from "./IResizeEvent";
5
- import type { SingleOrMultiple } from "../../../../Types/SingleOrMultiple";
1
+ import type { IClickEvent } from "./IClickEvent.js";
2
+ import type { IDivEvent } from "./IDivEvent.js";
3
+ import type { IHoverEvent } from "./IHoverEvent.js";
4
+ import type { IResizeEvent } from "./IResizeEvent.js";
5
+ import type { SingleOrMultiple } from "../../../../Types/SingleOrMultiple.js";
6
6
  export interface IEvents {
7
7
  onClick: IClickEvent;
8
8
  onDiv: SingleOrMultiple<IDivEvent>;
9
9
  onHover: IHoverEvent;
10
- onclick: IClickEvent;
11
- ondiv: SingleOrMultiple<IDivEvent>;
12
- onhover: IHoverEvent;
13
10
  resize: boolean | IResizeEvent;
14
11
  }
@@ -1,6 +1,6 @@
1
- import type { HoverMode } from "../../../../Enums/Modes/HoverMode";
2
- import type { IParallax } from "./IParallax";
3
- import type { SingleOrMultiple } from "../../../../Types/SingleOrMultiple";
1
+ import type { HoverMode } from "../../../../Enums/Modes/HoverMode.js";
2
+ import type { IParallax } from "./IParallax.js";
3
+ import type { SingleOrMultiple } from "../../../../Types/SingleOrMultiple.js";
4
4
  export interface IHoverEvent {
5
5
  enable: boolean;
6
6
  mode: SingleOrMultiple<HoverMode | keyof typeof HoverMode | string>;
@@ -1,9 +1,8 @@
1
- import type { IEvents } from "./Events/IEvents";
2
- import type { IModes } from "./Modes/IModes";
3
- import type { InteractivityDetect } from "../../../Enums/InteractivityDetect";
1
+ import type { IEvents } from "./Events/IEvents.js";
2
+ import type { IModes } from "./Modes/IModes.js";
3
+ import type { InteractivityDetect } from "../../../Enums/InteractivityDetect.js";
4
4
  export interface IInteractivity {
5
5
  [name: string]: unknown;
6
- detect_on: InteractivityDetect | keyof typeof InteractivityDetect;
7
6
  detectsOn: InteractivityDetect | keyof typeof InteractivityDetect;
8
7
  events: IEvents;
9
8
  modes: IModes;
@@ -1,5 +1,4 @@
1
- import type { SingleOrMultiple } from "../../../../Types/SingleOrMultiple";
1
+ import type { SingleOrMultiple } from "../../../../Types/SingleOrMultiple.js";
2
2
  export interface IModeDiv {
3
- ids: SingleOrMultiple<string>;
4
3
  selectors: SingleOrMultiple<string>;
5
4
  }
@@ -1,4 +1,4 @@
1
- import type { IValueWithRandom } from "../../IValueWithRandom";
1
+ import type { IValueWithRandom } from "../../IValueWithRandom.js";
2
2
  export interface IParticlesBounce {
3
3
  horizontal: IValueWithRandom;
4
4
  vertical: IValueWithRandom;
@@ -1,11 +1,13 @@
1
- import type { CollisionMode } from "../../../../Enums/Modes/CollisionMode";
2
- import type { ICollisionsAbsorb } from "./ICollisionsAbsorb";
3
- import type { ICollisionsOverlap } from "./ICollisionsOverlap";
4
- import type { IParticlesBounce } from "../Bounce/IParticlesBounce";
1
+ import type { CollisionMode } from "../../../../Enums/Modes/CollisionMode.js";
2
+ import type { ICollisionsAbsorb } from "./ICollisionsAbsorb.js";
3
+ import type { ICollisionsOverlap } from "./ICollisionsOverlap.js";
4
+ import type { IParticlesBounce } from "../Bounce/IParticlesBounce.js";
5
+ import type { RangeValue } from "../../../../Types/RangeValue.js";
5
6
  export interface ICollisions {
6
7
  absorb: ICollisionsAbsorb;
7
8
  bounce: IParticlesBounce;
8
9
  enable: boolean;
10
+ maxSpeed: RangeValue;
9
11
  mode: CollisionMode | keyof typeof CollisionMode;
10
12
  overlap: ICollisionsOverlap;
11
13
  }
@@ -1,18 +1,18 @@
1
- import type { IAnimatableColor } from "../IAnimatableColor";
2
- import type { ICollisions } from "./Collisions/ICollisions";
3
- import type { IInteractivity } from "../Interactivity/IInteractivity";
4
- import type { IMove } from "./Move/IMove";
5
- import type { IOpacity } from "./Opacity/IOpacity";
6
- import type { IParticlesBounce } from "./Bounce/IParticlesBounce";
7
- import type { IParticlesNumber } from "./Number/IParticlesNumber";
8
- import type { IShadow } from "./IShadow";
9
- import type { IShape } from "./Shape/IShape";
10
- import type { ISize } from "./Size/ISize";
11
- import type { IStroke } from "./IStroke";
12
- import type { IZIndex } from "./ZIndex/IZIndex";
13
- import type { ParticlesGroups } from "../../../Types/ParticlesGroups";
14
- import type { RecursivePartial } from "../../../Types/RecursivePartial";
15
- import type { SingleOrMultiple } from "../../../Types/SingleOrMultiple";
1
+ import type { IAnimatableColor } from "../IAnimatableColor.js";
2
+ import type { ICollisions } from "./Collisions/ICollisions.js";
3
+ import type { IInteractivity } from "../Interactivity/IInteractivity.js";
4
+ import type { IMove } from "./Move/IMove.js";
5
+ import type { IOpacity } from "./Opacity/IOpacity.js";
6
+ import type { IParticlesBounce } from "./Bounce/IParticlesBounce.js";
7
+ import type { IParticlesNumber } from "./Number/IParticlesNumber.js";
8
+ import type { IShadow } from "./IShadow.js";
9
+ import type { IShape } from "./Shape/IShape.js";
10
+ import type { ISize } from "./Size/ISize.js";
11
+ import type { IStroke } from "./IStroke.js";
12
+ import type { IZIndex } from "./ZIndex/IZIndex.js";
13
+ import type { ParticlesGroups } from "../../../Types/ParticlesGroups.js";
14
+ import type { RecursivePartial } from "../../../Types/RecursivePartial.js";
15
+ import type { SingleOrMultiple } from "../../../Types/SingleOrMultiple.js";
16
16
  export interface IParticlesOptions {
17
17
  [name: string]: unknown;
18
18
  bounce: IParticlesBounce;
@@ -1,5 +1,5 @@
1
- import type { ICoordinates } from "../../../Core/Interfaces/ICoordinates";
2
- import type { IOptionsColor } from "../IOptionsColor";
1
+ import type { ICoordinates } from "../../../Core/Interfaces/ICoordinates.js";
2
+ import type { IOptionsColor } from "../IOptionsColor.js";
3
3
  export interface IShadow {
4
4
  blur: number;
5
5
  color: string | IOptionsColor;
@@ -1,8 +1,9 @@
1
- import type { IAnimatableColor } from "../IAnimatableColor";
2
- import type { IColor } from "../../../Core/Interfaces/Colors";
3
- import type { RangeValue } from "../../../Types/RangeValue";
1
+ import type { IAnimatableColor } from "../IAnimatableColor.js";
2
+ import type { IColor } from "../../../Core/Interfaces/Colors.js";
3
+ import type { RangeValue } from "../../../Types/RangeValue.js";
4
+ import type { RecursivePartial } from "../../../Types/RecursivePartial.js";
4
5
  export interface IStroke {
5
- color?: string | IAnimatableColor | IColor;
6
+ color?: string | RecursivePartial<IAnimatableColor> | RecursivePartial<IColor>;
6
7
  opacity?: RangeValue;
7
8
  width: RangeValue;
8
9
  }
@@ -1,31 +1,26 @@
1
- import type { MoveDirection, MoveDirectionAlt } from "../../../../Enums/Directions/MoveDirection";
2
- import type { OutMode, OutModeAlt } from "../../../../Enums/Modes/OutMode";
3
- import type { IDistance } from "../../../../Core/Interfaces/IDistance";
4
- import type { IMoveAngle } from "./IMoveAngle";
5
- import type { IMoveAttract } from "./IMoveAttract";
6
- import type { IMoveCenter } from "./IMoveCenter";
7
- import type { IMoveGravity } from "./IMoveGravity";
8
- import type { IMovePath } from "./Path/IMovePath";
9
- import type { IMoveTrail } from "./IMoveTrail";
10
- import type { IOutModes } from "./IOutModes";
11
- import type { ISpin } from "./ISpin";
12
- import type { RangeValue } from "../../../../Types/RangeValue";
1
+ import type { MoveDirection, MoveDirectionAlt } from "../../../../Enums/Directions/MoveDirection.js";
2
+ import type { OutMode, OutModeAlt } from "../../../../Enums/Modes/OutMode.js";
3
+ import type { IDistance } from "../../../../Core/Interfaces/IDistance.js";
4
+ import type { IMoveAngle } from "./IMoveAngle.js";
5
+ import type { IMoveAttract } from "./IMoveAttract.js";
6
+ import type { IMoveCenter } from "./IMoveCenter.js";
7
+ import type { IMoveGravity } from "./IMoveGravity.js";
8
+ import type { IMovePath } from "./Path/IMovePath.js";
9
+ import type { IMoveTrail } from "./IMoveTrail.js";
10
+ import type { IOutModes } from "./IOutModes.js";
11
+ import type { ISpin } from "./ISpin.js";
12
+ import type { RangeValue } from "../../../../Types/RangeValue.js";
13
13
  export interface IMove {
14
14
  angle: number | IMoveAngle;
15
15
  attract: IMoveAttract;
16
- bounce: boolean;
17
16
  center: IMoveCenter;
18
- collisions: boolean;
19
17
  decay: RangeValue;
20
18
  direction: MoveDirection | keyof typeof MoveDirection | MoveDirectionAlt | number;
21
19
  distance: number | Partial<IDistance>;
22
20
  drift: RangeValue;
23
21
  enable: boolean;
24
22
  gravity: IMoveGravity;
25
- noise: IMovePath;
26
- outMode: OutMode | keyof typeof OutMode | OutModeAlt;
27
23
  outModes: IOutModes | OutMode | keyof typeof OutMode | OutModeAlt;
28
- out_mode: OutMode | keyof typeof OutMode | OutModeAlt;
29
24
  path: IMovePath;
30
25
  random: boolean;
31
26
  size: boolean;
@@ -1,4 +1,4 @@
1
- import type { RangeValue } from "../../../../Types/RangeValue";
1
+ import type { RangeValue } from "../../../../Types/RangeValue.js";
2
2
  export interface IMoveAngle {
3
3
  offset: RangeValue;
4
4
  value: RangeValue;
@@ -1,9 +1,7 @@
1
- import type { ICoordinates } from "../../../../Core/Interfaces/ICoordinates";
2
- import type { RangeValue } from "../../../../Types/RangeValue";
1
+ import type { ICoordinates } from "../../../../Core/Interfaces/ICoordinates.js";
2
+ import type { RangeValue } from "../../../../Types/RangeValue.js";
3
3
  export interface IMoveAttract {
4
4
  distance: RangeValue;
5
5
  enable: boolean;
6
6
  rotate: ICoordinates;
7
- rotateX: number;
8
- rotateY: number;
9
7
  }
@@ -1,2 +1,2 @@
1
- import type { ICenterCoordinates } from "../../../../Core/Interfaces/ICoordinates";
1
+ import type { ICenterCoordinates } from "../../../../Core/Interfaces/ICoordinates.js";
2
2
  export type IMoveCenter = ICenterCoordinates;
@@ -1,4 +1,4 @@
1
- import type { RangeValue } from "../../../../Types/RangeValue";
1
+ import type { RangeValue } from "../../../../Types/RangeValue.js";
2
2
  export interface IMoveGravity {
3
3
  acceleration: RangeValue;
4
4
  enable: boolean;
@@ -1,8 +1,6 @@
1
- import type { IMoveTrailFill } from "./IMoveTrailFill";
2
- import type { IOptionsColor } from "../../IOptionsColor";
1
+ import type { IMoveTrailFill } from "./IMoveTrailFill.js";
3
2
  export interface IMoveTrail {
4
3
  enable: boolean;
5
4
  fill: IMoveTrailFill;
6
- fillColor?: string | IOptionsColor;
7
5
  length: number;
8
6
  }
@@ -1,4 +1,4 @@
1
- import type { IOptionsColor } from "../../IOptionsColor";
1
+ import type { IOptionsColor } from "../../IOptionsColor.js";
2
2
  export interface IMoveTrailFill {
3
3
  color?: string | IOptionsColor;
4
4
  image?: string;
@@ -1,4 +1,4 @@
1
- import type { OutMode, OutModeAlt } from "../../../../Enums/Modes/OutMode";
1
+ import type { OutMode, OutModeAlt } from "../../../../Enums/Modes/OutMode.js";
2
2
  export interface IOutModes {
3
3
  bottom?: OutMode | keyof typeof OutMode | OutModeAlt;
4
4
  default: OutMode | keyof typeof OutMode | OutModeAlt;
@@ -1,5 +1,5 @@
1
- import type { ICoordinatesWithMode } from "../../../../Core/Interfaces/ICoordinates";
2
- import type { RangeValue } from "../../../../Types/RangeValue";
1
+ import type { ICoordinatesWithMode } from "../../../../Core/Interfaces/ICoordinates.js";
2
+ import type { RangeValue } from "../../../../Types/RangeValue.js";
3
3
  export interface ISpin {
4
4
  acceleration: RangeValue;
5
5
  enable: boolean;
@@ -1,5 +1,5 @@
1
- import type { IValueWithRandom } from "../../../IValueWithRandom";
2
- import type { PathOptions } from "../../../../../Types/PathOptions";
1
+ import type { IValueWithRandom } from "../../../IValueWithRandom.js";
2
+ import type { PathOptions } from "../../../../../Types/PathOptions.js";
3
3
  export interface IMovePath {
4
4
  clamp: boolean;
5
5
  delay: IValueWithRandom;
@@ -1,8 +1,5 @@
1
1
  export interface IParticlesDensity {
2
- area: number;
3
2
  enable: boolean;
4
- factor: number;
5
3
  height: number;
6
- value_area: number;
7
4
  width: number;
8
5
  }
@@ -1,7 +1,6 @@
1
- import type { IParticlesDensity } from "./IParticlesDensity";
1
+ import type { IParticlesDensity } from "./IParticlesDensity.js";
2
2
  export interface IParticlesNumber {
3
3
  density: IParticlesDensity;
4
4
  limit: number;
5
- max: number;
6
5
  value: number;
7
6
  }
@@ -1,6 +1,5 @@
1
- import type { IOpacityAnimation } from "./IOpacityAnimation";
2
- import type { IValueWithRandom } from "../../IValueWithRandom";
1
+ import type { IOpacityAnimation } from "./IOpacityAnimation.js";
2
+ import type { IValueWithRandom } from "../../IValueWithRandom.js";
3
3
  export interface IOpacity extends IValueWithRandom {
4
- anim: IOpacityAnimation;
5
4
  animation: IOpacityAnimation;
6
5
  }
@@ -1,6 +1,5 @@
1
- import type { DestroyType } from "../../../../Enums/Types/DestroyType";
2
- import type { IRangedAnimation } from "../../IAnimation";
1
+ import type { DestroyType } from "../../../../Enums/Types/DestroyType.js";
2
+ import type { IRangedAnimation } from "../../IAnimation.js";
3
3
  export interface IOpacityAnimation extends IRangedAnimation {
4
4
  destroy: DestroyType | keyof typeof DestroyType;
5
- opacity_min?: number;
6
5
  }
@@ -1,5 +1,5 @@
1
- import type { ShapeData } from "../../../../Types/ShapeData";
2
- import type { SingleOrMultiple } from "../../../../Types/SingleOrMultiple";
1
+ import type { ShapeData } from "../../../../Types/ShapeData.js";
2
+ import type { SingleOrMultiple } from "../../../../Types/SingleOrMultiple.js";
3
3
  export interface IShape {
4
4
  close: boolean;
5
5
  fill: boolean;
@@ -1,6 +1,5 @@
1
- import type { ISizeAnimation } from "./ISizeAnimation";
2
- import type { IValueWithRandom } from "../../IValueWithRandom";
1
+ import type { ISizeAnimation } from "./ISizeAnimation.js";
2
+ import type { IValueWithRandom } from "../../IValueWithRandom.js";
3
3
  export interface ISize extends IValueWithRandom {
4
- anim: ISizeAnimation;
5
4
  animation: ISizeAnimation;
6
5
  }
@@ -1,6 +1,5 @@
1
- import type { DestroyType } from "../../../../Enums/Types/DestroyType";
2
- import type { IRangedAnimation } from "../../IAnimation";
1
+ import type { DestroyType } from "../../../../Enums/Types/DestroyType.js";
2
+ import type { IRangedAnimation } from "../../IAnimation.js";
3
3
  export interface ISizeAnimation extends IRangedAnimation {
4
4
  destroy: DestroyType | keyof typeof DestroyType;
5
- size_min?: number;
6
5
  }
@@ -1,4 +1,4 @@
1
- import type { IValueWithRandom } from "../../IValueWithRandom";
1
+ import type { IValueWithRandom } from "../../IValueWithRandom.js";
2
2
  export interface IZIndex extends IValueWithRandom {
3
3
  opacityRate: number;
4
4
  sizeRate: number;
@@ -1,7 +1,8 @@
1
- import type { ISourceOptions } from "../../../Types/ISourceOptions";
2
- import type { IThemeDefault } from "./IThemeDefault";
1
+ import type { IOptions } from "../IOptions.js";
2
+ import type { IThemeDefault } from "./IThemeDefault.js";
3
+ import type { RecursivePartial } from "../../../Types/RecursivePartial.js";
3
4
  export interface ITheme {
4
5
  default: IThemeDefault;
5
6
  name: string;
6
- options?: ISourceOptions;
7
+ options?: RecursivePartial<IOptions>;
7
8
  }
@@ -1,4 +1,4 @@
1
- import type { ThemeMode } from "../../../Enums/Modes/ThemeMode";
1
+ import type { ThemeMode } from "../../../Enums/Modes/ThemeMode.js";
2
2
  export interface IThemeDefault {
3
3
  auto: boolean;
4
4
  mode: ThemeMode | keyof typeof ThemeMode;
@@ -1,4 +1,4 @@
1
- import type { Container } from "../Core/Container";
1
+ import type { Container } from "../Core/Container.js";
2
2
  export type CustomEventArgs = {
3
3
  container: Container;
4
4
  data?: unknown;
@@ -1,2 +1,2 @@
1
- import type { CustomEventArgs } from "./CustomEventArgs";
1
+ import type { CustomEventArgs } from "./CustomEventArgs.js";
2
2
  export type CustomEventListener = (args: CustomEventArgs) => void;
@@ -0,0 +1,5 @@
1
+ export type ExportResult = {
2
+ blob?: Blob;
3
+ error?: Error;
4
+ supported: boolean;
5
+ };
@@ -1,3 +1,3 @@
1
- import type { IOptions } from "../Options/Interfaces/IOptions";
2
- import type { RecursivePartial } from "./RecursivePartial";
1
+ import type { IOptions } from "../Options/Interfaces/IOptions.js";
2
+ import type { RecursivePartial } from "./RecursivePartial.js";
3
3
  export type ISourceOptions = RecursivePartial<IOptions>;
@@ -1,4 +1,4 @@
1
- import type { IParticlesOptions } from "../Options/Interfaces/Particles/IParticlesOptions";
1
+ import type { IParticlesOptions } from "../Options/Interfaces/Particles/IParticlesOptions.js";
2
2
  export type ParticlesGroups = {
3
3
  [name: string]: IParticlesOptions;
4
4
  };
@@ -1,2 +1,2 @@
1
- import type { IRangeValue } from "../Core/Interfaces/IRangeValue";
1
+ import type { IRangeValue } from "../Core/Interfaces/IRangeValue.js";
2
2
  export type RangeValue = number | IRangeValue;
@@ -1,5 +1,5 @@
1
- import type { IShapeValues } from "../Core/Interfaces/IShapeValues";
2
- import type { SingleOrMultiple } from "./SingleOrMultiple";
1
+ import type { IShapeValues } from "../Core/Interfaces/IShapeValues.js";
2
+ import type { SingleOrMultiple } from "./SingleOrMultiple.js";
3
3
  export type ShapeData = {
4
4
  [type: string]: SingleOrMultiple<IShapeValues>;
5
5
  };
@@ -1,6 +1,6 @@
1
- import type { Container } from "../Core/Container";
2
- import type { IDelta } from "../Core/Interfaces/IDelta";
3
- import type { Particle } from "../Core/Particle";
1
+ import type { Container } from "../Core/Container.js";
2
+ import type { IDelta } from "../Core/Interfaces/IDelta.js";
3
+ import type { Particle } from "../Core/Particle.js";
4
4
  export type ShapeDrawerDrawFunction = (context: CanvasRenderingContext2D, particle: Particle, radius: number, opacity: number, delta: IDelta, pixelRatio: number) => void;
5
5
  export type ShapeDrawerInitFunction = (container: Container) => Promise<void>;
6
6
  export type ShapeDrawerParticleInitFunction = (container: Container, particle: Particle) => void;