@tsparticles/engine 3.9.1 → 4.0.0-alpha.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 (431) hide show
  1. package/638.min.js +2 -0
  2. package/638.min.js.LICENSE.txt +1 -0
  3. package/browser/Core/Canvas.js +126 -181
  4. package/browser/Core/Container.js +22 -18
  5. package/browser/Core/Engine.js +64 -54
  6. package/browser/Core/Particle.js +43 -48
  7. package/browser/Core/Particles.js +33 -24
  8. package/browser/Core/Retina.js +2 -3
  9. package/browser/Core/Utils/Constants.js +2 -2
  10. package/browser/Core/Utils/EventListeners.js +74 -64
  11. package/browser/Core/Utils/QuadTree.js +1 -1
  12. package/browser/Core/Utils/Ranges.js +2 -2
  13. package/browser/Core/Utils/Vectors.js +15 -21
  14. package/browser/Options/Classes/AnimatableColor.js +3 -3
  15. package/browser/Options/Classes/AnimationOptions.js +1 -1
  16. package/browser/Options/Classes/ColorAnimation.js +1 -1
  17. package/browser/Options/Classes/Options.js +13 -10
  18. package/browser/Options/Classes/Particles/Move/Move.js +1 -4
  19. package/browser/Options/Classes/Particles/Move/MoveAngle.js +1 -1
  20. package/browser/Options/Classes/Particles/Move/MoveAttract.js +1 -1
  21. package/browser/Options/Classes/Particles/Move/MoveGravity.js +1 -1
  22. package/browser/Options/Classes/Particles/Move/Spin.js +1 -1
  23. package/browser/Options/Classes/Particles/ParticlesOptions.js +0 -6
  24. package/browser/Options/Classes/Particles/Stroke.js +1 -1
  25. package/browser/Options/Classes/ValueWithRandom.js +1 -1
  26. package/browser/Utils/CanvasUtils.js +65 -21
  27. package/browser/Utils/ColorUtils.js +61 -45
  28. package/browser/Utils/EventDispatcher.js +3 -1
  29. package/browser/Utils/LogUtils.js +22 -0
  30. package/browser/Utils/{NumberUtils.js → MathUtils.js} +14 -7
  31. package/browser/Utils/Utils.js +23 -125
  32. package/browser/bundle.js +3 -3
  33. package/browser/export-types.js +1 -99
  34. package/browser/exports.js +2 -9
  35. package/browser/index.js +3 -7
  36. package/browser/initEngine.js +4 -0
  37. package/cjs/Core/Canvas.js +136 -195
  38. package/cjs/Core/Container.js +57 -57
  39. package/cjs/Core/Engine.js +77 -71
  40. package/cjs/Core/Interfaces/Colors.js +1 -2
  41. package/cjs/Core/Interfaces/IBounds.js +1 -2
  42. package/cjs/Core/Interfaces/IBubbleParticleData.js +1 -2
  43. package/cjs/Core/Interfaces/ICircleBouncer.js +1 -2
  44. package/cjs/Core/Interfaces/IColorManager.js +1 -2
  45. package/cjs/Core/Interfaces/IContainerInteractivity.js +1 -2
  46. package/cjs/Core/Interfaces/IContainerPlugin.js +1 -2
  47. package/cjs/Core/Interfaces/ICoordinates.js +1 -2
  48. package/cjs/Core/Interfaces/IDelta.js +1 -2
  49. package/cjs/Core/Interfaces/IDimension.js +1 -2
  50. package/cjs/Core/Interfaces/IDistance.js +1 -2
  51. package/cjs/Core/Interfaces/IDrawParticleParams.js +1 -2
  52. package/cjs/Core/Interfaces/IEffectDrawer.js +1 -2
  53. package/cjs/Core/Interfaces/IExternalInteractor.js +1 -2
  54. package/cjs/Core/Interfaces/IInteractor.js +1 -2
  55. package/cjs/Core/Interfaces/ILoadParams.js +1 -2
  56. package/cjs/Core/Interfaces/IMouseData.js +1 -2
  57. package/cjs/Core/Interfaces/IMovePathGenerator.js +1 -2
  58. package/cjs/Core/Interfaces/IParticleColorStyle.js +1 -2
  59. package/cjs/Core/Interfaces/IParticleHslAnimation.js +1 -2
  60. package/cjs/Core/Interfaces/IParticleLife.js +1 -2
  61. package/cjs/Core/Interfaces/IParticleMover.js +1 -2
  62. package/cjs/Core/Interfaces/IParticleRetinaProps.js +1 -2
  63. package/cjs/Core/Interfaces/IParticleRoll.js +1 -2
  64. package/cjs/Core/Interfaces/IParticleTransformValues.js +1 -2
  65. package/cjs/Core/Interfaces/IParticleUpdater.js +1 -2
  66. package/cjs/Core/Interfaces/IParticleValueAnimation.js +1 -2
  67. package/cjs/Core/Interfaces/IParticlesInteractor.js +1 -2
  68. package/cjs/Core/Interfaces/IPlugin.js +1 -2
  69. package/cjs/Core/Interfaces/IPositionFromSizeParams.js +1 -2
  70. package/cjs/Core/Interfaces/IRangeValue.js +1 -2
  71. package/cjs/Core/Interfaces/IShapeDrawData.js +1 -2
  72. package/cjs/Core/Interfaces/IShapeDrawer.js +1 -2
  73. package/cjs/Core/Interfaces/IShapeValues.js +1 -2
  74. package/cjs/Core/Interfaces/ISlowParticleData.js +1 -2
  75. package/cjs/Core/Particle.js +99 -108
  76. package/cjs/Core/Particles.js +63 -58
  77. package/cjs/Core/Retina.js +13 -18
  78. package/cjs/Core/Utils/Constants.js +3 -7
  79. package/cjs/Core/Utils/EventListeners.js +94 -88
  80. package/cjs/Core/Utils/ExternalInteractorBase.js +3 -7
  81. package/cjs/Core/Utils/InteractionManager.js +4 -8
  82. package/cjs/Core/Utils/ParticlesInteractorBase.js +3 -7
  83. package/cjs/Core/Utils/Point.js +1 -5
  84. package/cjs/Core/Utils/QuadTree.js +10 -14
  85. package/cjs/Core/Utils/Ranges.js +14 -20
  86. package/cjs/Core/Utils/Vectors.js +24 -35
  87. package/cjs/Enums/AnimationStatus.js +2 -5
  88. package/cjs/Enums/Directions/MoveDirection.js +2 -5
  89. package/cjs/Enums/Directions/OutModeDirection.js +2 -5
  90. package/cjs/Enums/Directions/RotateDirection.js +2 -5
  91. package/cjs/Enums/InteractivityDetect.js +2 -5
  92. package/cjs/Enums/Modes/AnimationMode.js +2 -5
  93. package/cjs/Enums/Modes/LimitMode.js +2 -5
  94. package/cjs/Enums/Modes/OutMode.js +2 -5
  95. package/cjs/Enums/Modes/PixelMode.js +2 -5
  96. package/cjs/Enums/Modes/ResponsiveMode.js +2 -5
  97. package/cjs/Enums/Modes/ThemeMode.js +2 -5
  98. package/cjs/Enums/Types/AlterType.js +2 -5
  99. package/cjs/Enums/Types/DestroyType.js +2 -5
  100. package/cjs/Enums/Types/DivType.js +2 -5
  101. package/cjs/Enums/Types/EasingType.js +2 -5
  102. package/cjs/Enums/Types/EventType.js +2 -5
  103. package/cjs/Enums/Types/GradientType.js +2 -5
  104. package/cjs/Enums/Types/InteractorType.js +2 -5
  105. package/cjs/Enums/Types/ParticleOutType.js +2 -5
  106. package/cjs/Enums/Types/StartValueType.js +2 -5
  107. package/cjs/Options/Classes/AnimatableColor.js +10 -14
  108. package/cjs/Options/Classes/AnimationOptions.js +14 -19
  109. package/cjs/Options/Classes/Background/Background.js +6 -10
  110. package/cjs/Options/Classes/ColorAnimation.js +6 -10
  111. package/cjs/Options/Classes/FullScreen/FullScreen.js +3 -7
  112. package/cjs/Options/Classes/HslAnimation.js +7 -11
  113. package/cjs/Options/Classes/Interactivity/Events/ClickEvent.js +3 -7
  114. package/cjs/Options/Classes/Interactivity/Events/DivEvent.js +5 -9
  115. package/cjs/Options/Classes/Interactivity/Events/Events.js +14 -18
  116. package/cjs/Options/Classes/Interactivity/Events/HoverEvent.js +5 -9
  117. package/cjs/Options/Classes/Interactivity/Events/Parallax.js +3 -7
  118. package/cjs/Options/Classes/Interactivity/Events/ResizeEvent.js +3 -7
  119. package/cjs/Options/Classes/Interactivity/Interactivity.js +9 -13
  120. package/cjs/Options/Classes/Interactivity/Modes/Modes.js +3 -7
  121. package/cjs/Options/Classes/ManualParticle.js +10 -14
  122. package/cjs/Options/Classes/Options.js +41 -42
  123. package/cjs/Options/Classes/OptionsColor.js +5 -9
  124. package/cjs/Options/Classes/Particles/Bounce/ParticlesBounce.js +6 -10
  125. package/cjs/Options/Classes/Particles/Bounce/ParticlesBounceFactor.js +2 -6
  126. package/cjs/Options/Classes/Particles/Effect/Effect.js +5 -9
  127. package/cjs/Options/Classes/Particles/Move/Move.js +26 -33
  128. package/cjs/Options/Classes/Particles/Move/MoveAngle.js +6 -10
  129. package/cjs/Options/Classes/Particles/Move/MoveAttract.js +5 -9
  130. package/cjs/Options/Classes/Particles/Move/MoveCenter.js +5 -9
  131. package/cjs/Options/Classes/Particles/Move/MoveGravity.js +6 -10
  132. package/cjs/Options/Classes/Particles/Move/OutModes.js +5 -9
  133. package/cjs/Options/Classes/Particles/Move/Path/MovePath.js +7 -11
  134. package/cjs/Options/Classes/Particles/Move/Spin.js +7 -11
  135. package/cjs/Options/Classes/Particles/Number/ParticlesDensity.js +3 -7
  136. package/cjs/Options/Classes/Particles/Number/ParticlesNumber.js +7 -11
  137. package/cjs/Options/Classes/Particles/Number/ParticlesNumberLimit.js +5 -9
  138. package/cjs/Options/Classes/Particles/Opacity/Opacity.js +6 -10
  139. package/cjs/Options/Classes/Particles/Opacity/OpacityAnimation.js +6 -10
  140. package/cjs/Options/Classes/Particles/ParticlesOptions.js +29 -39
  141. package/cjs/Options/Classes/Particles/Shape/Shape.js +5 -9
  142. package/cjs/Options/Classes/Particles/Size/Size.js +6 -10
  143. package/cjs/Options/Classes/Particles/Size/SizeAnimation.js +6 -10
  144. package/cjs/Options/Classes/Particles/Stroke.js +8 -12
  145. package/cjs/Options/Classes/Particles/ZIndex/ZIndex.js +4 -8
  146. package/cjs/Options/Classes/Responsive.js +13 -17
  147. package/cjs/Options/Classes/Theme/Theme.js +7 -11
  148. package/cjs/Options/Classes/Theme/ThemeDefault.js +5 -9
  149. package/cjs/Options/Classes/ValueWithRandom.js +12 -18
  150. package/cjs/Options/Interfaces/Background/IBackground.js +1 -2
  151. package/cjs/Options/Interfaces/FullScreen/IFullScreen.js +1 -2
  152. package/cjs/Options/Interfaces/IAnimatable.js +1 -2
  153. package/cjs/Options/Interfaces/IAnimatableColor.js +1 -2
  154. package/cjs/Options/Interfaces/IAnimation.js +1 -2
  155. package/cjs/Options/Interfaces/IColorAnimation.js +1 -2
  156. package/cjs/Options/Interfaces/IHslAnimation.js +1 -2
  157. package/cjs/Options/Interfaces/IManualParticle.js +1 -2
  158. package/cjs/Options/Interfaces/IOptionLoader.js +1 -2
  159. package/cjs/Options/Interfaces/IOptions.js +1 -2
  160. package/cjs/Options/Interfaces/IOptionsColor.js +1 -2
  161. package/cjs/Options/Interfaces/IResponsive.js +1 -2
  162. package/cjs/Options/Interfaces/IValueWithRandom.js +1 -2
  163. package/cjs/Options/Interfaces/Interactivity/Events/IClickEvent.js +1 -2
  164. package/cjs/Options/Interfaces/Interactivity/Events/IDivEvent.js +1 -2
  165. package/cjs/Options/Interfaces/Interactivity/Events/IEvents.js +1 -2
  166. package/cjs/Options/Interfaces/Interactivity/Events/IHoverEvent.js +1 -2
  167. package/cjs/Options/Interfaces/Interactivity/Events/IParallax.js +1 -2
  168. package/cjs/Options/Interfaces/Interactivity/Events/IResizeEvent.js +1 -2
  169. package/cjs/Options/Interfaces/Interactivity/IInteractivity.js +1 -2
  170. package/cjs/Options/Interfaces/Interactivity/Modes/IModeDiv.js +1 -2
  171. package/cjs/Options/Interfaces/Interactivity/Modes/IModes.js +1 -2
  172. package/cjs/Options/Interfaces/Particles/Bounce/IParticlesBounce.js +1 -2
  173. package/cjs/Options/Interfaces/Particles/Effect/IEffect.js +1 -2
  174. package/cjs/Options/Interfaces/Particles/IParticlesOptions.js +1 -2
  175. package/cjs/Options/Interfaces/Particles/IStroke.js +1 -2
  176. package/cjs/Options/Interfaces/Particles/Move/IMove.js +1 -2
  177. package/cjs/Options/Interfaces/Particles/Move/IMoveAngle.js +1 -2
  178. package/cjs/Options/Interfaces/Particles/Move/IMoveAttract.js +1 -2
  179. package/cjs/Options/Interfaces/Particles/Move/IMoveCenter.js +1 -2
  180. package/cjs/Options/Interfaces/Particles/Move/IMoveGravity.js +1 -2
  181. package/cjs/Options/Interfaces/Particles/Move/IOutModes.js +1 -2
  182. package/cjs/Options/Interfaces/Particles/Move/ISpin.js +1 -2
  183. package/cjs/Options/Interfaces/Particles/Move/Path/IMovePath.js +1 -2
  184. package/cjs/Options/Interfaces/Particles/Number/IParticlesDensity.js +1 -2
  185. package/cjs/Options/Interfaces/Particles/Number/IParticlesNumber.js +1 -2
  186. package/cjs/Options/Interfaces/Particles/Number/IParticlesNumberLimit.js +1 -2
  187. package/cjs/Options/Interfaces/Particles/Opacity/IOpacity.js +1 -2
  188. package/cjs/Options/Interfaces/Particles/Opacity/IOpacityAnimation.js +1 -2
  189. package/cjs/Options/Interfaces/Particles/Shape/IShape.js +1 -2
  190. package/cjs/Options/Interfaces/Particles/Size/ISize.js +1 -2
  191. package/cjs/Options/Interfaces/Particles/Size/ISizeAnimation.js +1 -2
  192. package/cjs/Options/Interfaces/Particles/ZIndex/IZIndex.js +1 -2
  193. package/cjs/Options/Interfaces/Theme/ITheme.js +1 -2
  194. package/cjs/Options/Interfaces/Theme/IThemeDefault.js +1 -2
  195. package/cjs/Types/CustomEventArgs.js +1 -2
  196. package/cjs/Types/CustomEventListener.js +1 -2
  197. package/cjs/Types/EasingFunction.js +1 -2
  198. package/cjs/Types/ExportResult.js +1 -2
  199. package/cjs/Types/ISourceOptions.js +1 -2
  200. package/cjs/Types/ParticlesGroups.js +1 -2
  201. package/cjs/Types/PathOptions.js +1 -2
  202. package/cjs/Types/RangeValue.js +1 -2
  203. package/cjs/Types/RecursivePartial.js +1 -2
  204. package/cjs/Types/ShapeData.js +1 -2
  205. package/cjs/Types/SingleOrMultiple.js +1 -2
  206. package/cjs/Utils/CanvasUtils.js +86 -55
  207. package/cjs/Utils/ColorUtils.js +136 -141
  208. package/cjs/Utils/EventDispatcher.js +8 -10
  209. package/cjs/Utils/LogUtils.js +22 -0
  210. package/{esm/Utils/NumberUtils.js → cjs/Utils/MathUtils.js} +14 -7
  211. package/cjs/Utils/OptionsUtils.js +4 -8
  212. package/cjs/Utils/TypeUtils.js +7 -16
  213. package/cjs/Utils/Utils.js +104 -239
  214. package/cjs/bundle.js +5 -22
  215. package/cjs/export-types.js +1 -115
  216. package/cjs/exports.js +77 -100
  217. package/cjs/index.js +5 -26
  218. package/cjs/initEngine.js +4 -0
  219. package/dist_browser_Core_Container_js.js +102 -0
  220. package/esm/Core/Canvas.js +126 -181
  221. package/esm/Core/Container.js +22 -18
  222. package/esm/Core/Engine.js +64 -54
  223. package/esm/Core/Particle.js +43 -48
  224. package/esm/Core/Particles.js +33 -24
  225. package/esm/Core/Retina.js +2 -3
  226. package/esm/Core/Utils/Constants.js +2 -2
  227. package/esm/Core/Utils/EventListeners.js +74 -64
  228. package/esm/Core/Utils/QuadTree.js +1 -1
  229. package/esm/Core/Utils/Ranges.js +2 -2
  230. package/esm/Core/Utils/Vectors.js +15 -21
  231. package/esm/Enums/RangeType.js +5 -0
  232. package/esm/Options/Classes/AnimatableColor.js +3 -3
  233. package/esm/Options/Classes/AnimationOptions.js +1 -1
  234. package/esm/Options/Classes/ColorAnimation.js +1 -1
  235. package/esm/Options/Classes/Options.js +13 -10
  236. package/esm/Options/Classes/Particles/Move/Move.js +1 -4
  237. package/esm/Options/Classes/Particles/Move/MoveAngle.js +1 -1
  238. package/esm/Options/Classes/Particles/Move/MoveAttract.js +1 -1
  239. package/esm/Options/Classes/Particles/Move/MoveGravity.js +1 -1
  240. package/esm/Options/Classes/Particles/Move/Spin.js +1 -1
  241. package/esm/Options/Classes/Particles/ParticlesOptions.js +0 -6
  242. package/esm/Options/Classes/Particles/Stroke.js +1 -1
  243. package/esm/Options/Classes/ValueWithRandom.js +1 -1
  244. package/esm/Utils/CanvasUtils.js +65 -21
  245. package/esm/Utils/ColorUtils.js +61 -45
  246. package/esm/Utils/EventDispatcher.js +3 -1
  247. package/esm/Utils/LogUtils.js +22 -0
  248. package/esm/Utils/MathUtils.js +158 -0
  249. package/esm/Utils/Utils.js +23 -125
  250. package/esm/bundle.js +3 -3
  251. package/esm/export-types.js +1 -99
  252. package/esm/exports.js +2 -9
  253. package/esm/index.js +3 -7
  254. package/esm/initEngine.js +4 -0
  255. package/package.json +3 -2
  256. package/report.html +5 -4
  257. package/scripts/install.js +204 -118
  258. package/tsparticles.engine.js +492 -451
  259. package/tsparticles.engine.min.js +1 -1
  260. package/tsparticles.engine.min.js.LICENSE.txt +1 -1
  261. package/types/Core/Canvas.d.ts +6 -9
  262. package/types/Core/Container.d.ts +1 -0
  263. package/types/Core/Engine.d.ts +20 -16
  264. package/types/Core/Interfaces/Colors.d.ts +46 -2
  265. package/types/Core/Interfaces/IColorManager.d.ts +1 -1
  266. package/types/Core/Interfaces/IContainerPlugin.d.ts +4 -0
  267. package/types/Core/Interfaces/IDrawParticleParams.d.ts +0 -4
  268. package/types/Core/Interfaces/IEffectDrawer.d.ts +2 -1
  269. package/types/Core/Interfaces/IShapeDrawData.d.ts +2 -0
  270. package/types/Core/Interfaces/IShapeDrawer.d.ts +1 -0
  271. package/types/Core/Particle.d.ts +4 -5
  272. package/types/Core/Particles.d.ts +1 -1
  273. package/types/Core/Utils/Constants.d.ts +2 -2
  274. package/types/Core/Utils/EventListeners.d.ts +1 -0
  275. package/types/Core/Utils/Vectors.d.ts +3 -3
  276. package/types/Options/Classes/Options.d.ts +1 -2
  277. package/types/Options/Classes/OptionsColor.d.ts +2 -2
  278. package/types/Options/Classes/Particles/Move/Move.d.ts +0 -2
  279. package/types/Options/Classes/Particles/ParticlesOptions.d.ts +0 -4
  280. package/types/Options/Interfaces/IOptions.d.ts +1 -2
  281. package/types/Options/Interfaces/Particles/IParticlesOptions.d.ts +0 -4
  282. package/types/Options/Interfaces/Particles/Move/IMove.d.ts +0 -2
  283. package/types/Utils/CanvasUtils.d.ts +4 -1
  284. package/types/Utils/ColorUtils.d.ts +2 -2
  285. package/types/Utils/LogUtils.d.ts +11 -0
  286. package/types/Utils/{NumberUtils.d.ts → MathUtils.d.ts} +2 -1
  287. package/types/Utils/TypeUtils.d.ts +2 -2
  288. package/types/Utils/Utils.d.ts +4 -16
  289. package/types/export-types.d.ts +91 -101
  290. package/types/exports.d.ts +2 -9
  291. package/types/index.d.ts +1 -1
  292. package/types/initEngine.d.ts +2 -0
  293. package/umd/Core/Canvas.js +123 -178
  294. package/umd/Core/Container.js +25 -21
  295. package/umd/Core/Engine.js +97 -53
  296. package/umd/Core/Particle.js +54 -59
  297. package/umd/Core/Particles.js +33 -24
  298. package/umd/Core/Retina.js +9 -10
  299. package/umd/Core/Utils/Constants.js +3 -3
  300. package/umd/Core/Utils/EventListeners.js +72 -62
  301. package/umd/Core/Utils/QuadTree.js +3 -3
  302. package/umd/Core/Utils/Ranges.js +4 -4
  303. package/umd/Core/Utils/Vectors.js +15 -21
  304. package/umd/Options/Classes/AnimatableColor.js +3 -3
  305. package/umd/Options/Classes/AnimationOptions.js +6 -6
  306. package/umd/Options/Classes/ColorAnimation.js +3 -3
  307. package/umd/Options/Classes/Options.js +16 -13
  308. package/umd/Options/Classes/Particles/Move/Move.js +5 -8
  309. package/umd/Options/Classes/Particles/Move/MoveAngle.js +4 -4
  310. package/umd/Options/Classes/Particles/Move/MoveAttract.js +3 -3
  311. package/umd/Options/Classes/Particles/Move/MoveGravity.js +4 -4
  312. package/umd/Options/Classes/Particles/Move/Spin.js +3 -3
  313. package/umd/Options/Classes/Particles/ParticlesOptions.js +1 -7
  314. package/umd/Options/Classes/Particles/Stroke.js +4 -4
  315. package/umd/Options/Classes/ValueWithRandom.js +3 -3
  316. package/umd/Utils/CanvasUtils.js +69 -22
  317. package/umd/Utils/ColorUtils.js +72 -56
  318. package/umd/Utils/EventDispatcher.js +3 -1
  319. package/umd/Utils/LogUtils.js +36 -0
  320. package/umd/Utils/{NumberUtils.js → MathUtils.js} +16 -8
  321. package/umd/Utils/Utils.js +36 -141
  322. package/umd/bundle.js +4 -4
  323. package/umd/export-types.js +1 -114
  324. package/umd/exports.js +3 -10
  325. package/umd/index.js +4 -8
  326. package/umd/{init.js → initEngine.js} +3 -5
  327. package/browser/Core/Interfaces/IRectSideResult.js +0 -1
  328. package/browser/Core/Interfaces/ITrailFillData.js +0 -1
  329. package/browser/Enums/Modes/CollisionMode.js +0 -6
  330. package/browser/Options/Classes/BackgroundMask/BackgroundMask.js +0 -24
  331. package/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.js +0 -21
  332. package/browser/Options/Classes/Particles/Collisions/Collisions.js +0 -33
  333. package/browser/Options/Classes/Particles/Collisions/CollisionsAbsorb.js +0 -14
  334. package/browser/Options/Classes/Particles/Collisions/CollisionsOverlap.js +0 -18
  335. package/browser/Options/Classes/Particles/Move/MoveTrail.js +0 -23
  336. package/browser/Options/Classes/Particles/Move/MoveTrailFill.js +0 -15
  337. package/browser/Options/Classes/Particles/Shadow.js +0 -35
  338. package/browser/Options/Interfaces/BackgroundMask/IBackgroundMask.js +0 -1
  339. package/browser/Options/Interfaces/BackgroundMask/IBackgroundMaskCover.js +0 -1
  340. package/browser/Options/Interfaces/Particles/Collisions/ICollisions.js +0 -1
  341. package/browser/Options/Interfaces/Particles/Collisions/ICollisionsAbsorb.js +0 -1
  342. package/browser/Options/Interfaces/Particles/Collisions/ICollisionsOverlap.js +0 -1
  343. package/browser/Options/Interfaces/Particles/IShadow.js +0 -1
  344. package/browser/Options/Interfaces/Particles/Move/IMoveTrail.js +0 -1
  345. package/browser/Options/Interfaces/Particles/Move/IMoveTrailFill.js +0 -1
  346. package/browser/init.js +0 -6
  347. package/cjs/Core/Interfaces/IRectSideResult.js +0 -2
  348. package/cjs/Core/Interfaces/ITrailFillData.js +0 -2
  349. package/cjs/Enums/Modes/CollisionMode.js +0 -9
  350. package/cjs/Options/Classes/BackgroundMask/BackgroundMask.js +0 -28
  351. package/cjs/Options/Classes/BackgroundMask/BackgroundMaskCover.js +0 -25
  352. package/cjs/Options/Classes/Particles/Collisions/Collisions.js +0 -37
  353. package/cjs/Options/Classes/Particles/Collisions/CollisionsAbsorb.js +0 -18
  354. package/cjs/Options/Classes/Particles/Collisions/CollisionsOverlap.js +0 -22
  355. package/cjs/Options/Classes/Particles/Move/MoveTrail.js +0 -27
  356. package/cjs/Options/Classes/Particles/Move/MoveTrailFill.js +0 -19
  357. package/cjs/Options/Classes/Particles/Shadow.js +0 -39
  358. package/cjs/Options/Interfaces/BackgroundMask/IBackgroundMask.js +0 -2
  359. package/cjs/Options/Interfaces/BackgroundMask/IBackgroundMaskCover.js +0 -2
  360. package/cjs/Options/Interfaces/Particles/Collisions/ICollisions.js +0 -2
  361. package/cjs/Options/Interfaces/Particles/Collisions/ICollisionsAbsorb.js +0 -2
  362. package/cjs/Options/Interfaces/Particles/Collisions/ICollisionsOverlap.js +0 -2
  363. package/cjs/Options/Interfaces/Particles/IShadow.js +0 -2
  364. package/cjs/Options/Interfaces/Particles/Move/IMoveTrail.js +0 -2
  365. package/cjs/Options/Interfaces/Particles/Move/IMoveTrailFill.js +0 -2
  366. package/cjs/Types/RangeType.js +0 -8
  367. package/cjs/Utils/NumberUtils.js +0 -177
  368. package/cjs/init.js +0 -9
  369. package/esm/Core/Interfaces/IRectSideResult.js +0 -1
  370. package/esm/Core/Interfaces/ITrailFillData.js +0 -1
  371. package/esm/Enums/Modes/CollisionMode.js +0 -6
  372. package/esm/Options/Classes/BackgroundMask/BackgroundMask.js +0 -24
  373. package/esm/Options/Classes/BackgroundMask/BackgroundMaskCover.js +0 -21
  374. package/esm/Options/Classes/Particles/Collisions/Collisions.js +0 -33
  375. package/esm/Options/Classes/Particles/Collisions/CollisionsAbsorb.js +0 -14
  376. package/esm/Options/Classes/Particles/Collisions/CollisionsOverlap.js +0 -18
  377. package/esm/Options/Classes/Particles/Move/MoveTrail.js +0 -23
  378. package/esm/Options/Classes/Particles/Move/MoveTrailFill.js +0 -15
  379. package/esm/Options/Classes/Particles/Shadow.js +0 -35
  380. package/esm/Options/Interfaces/BackgroundMask/IBackgroundMask.js +0 -1
  381. package/esm/Options/Interfaces/BackgroundMask/IBackgroundMaskCover.js +0 -1
  382. package/esm/Options/Interfaces/Particles/Collisions/ICollisions.js +0 -1
  383. package/esm/Options/Interfaces/Particles/Collisions/ICollisionsAbsorb.js +0 -1
  384. package/esm/Options/Interfaces/Particles/Collisions/ICollisionsOverlap.js +0 -1
  385. package/esm/Options/Interfaces/Particles/IShadow.js +0 -1
  386. package/esm/Options/Interfaces/Particles/Move/IMoveTrail.js +0 -1
  387. package/esm/Options/Interfaces/Particles/Move/IMoveTrailFill.js +0 -1
  388. package/esm/init.js +0 -6
  389. package/types/Core/Interfaces/IRectSideResult.d.ts +0 -5
  390. package/types/Core/Interfaces/ITrailFillData.d.ts +0 -6
  391. package/types/Enums/Modes/CollisionMode.d.ts +0 -5
  392. package/types/Options/Classes/BackgroundMask/BackgroundMask.d.ts +0 -11
  393. package/types/Options/Classes/BackgroundMask/BackgroundMaskCover.d.ts +0 -11
  394. package/types/Options/Classes/Particles/Collisions/Collisions.d.ts +0 -18
  395. package/types/Options/Classes/Particles/Collisions/CollisionsAbsorb.d.ts +0 -8
  396. package/types/Options/Classes/Particles/Collisions/CollisionsOverlap.d.ts +0 -9
  397. package/types/Options/Classes/Particles/Move/MoveTrail.d.ts +0 -11
  398. package/types/Options/Classes/Particles/Move/MoveTrailFill.d.ts +0 -9
  399. package/types/Options/Classes/Particles/Shadow.d.ts +0 -13
  400. package/types/Options/Interfaces/BackgroundMask/IBackgroundMask.d.ts +0 -8
  401. package/types/Options/Interfaces/BackgroundMask/IBackgroundMaskCover.d.ts +0 -6
  402. package/types/Options/Interfaces/Particles/Collisions/ICollisions.d.ts +0 -13
  403. package/types/Options/Interfaces/Particles/Collisions/ICollisionsAbsorb.d.ts +0 -3
  404. package/types/Options/Interfaces/Particles/Collisions/ICollisionsOverlap.d.ts +0 -4
  405. package/types/Options/Interfaces/Particles/IShadow.d.ts +0 -8
  406. package/types/Options/Interfaces/Particles/Move/IMoveTrail.d.ts +0 -6
  407. package/types/Options/Interfaces/Particles/Move/IMoveTrailFill.d.ts +0 -5
  408. package/types/init.d.ts +0 -2
  409. package/umd/Core/Interfaces/IRectSideResult.js +0 -12
  410. package/umd/Core/Interfaces/ITrailFillData.js +0 -12
  411. package/umd/Enums/Modes/CollisionMode.js +0 -19
  412. package/umd/Options/Classes/BackgroundMask/BackgroundMask.js +0 -38
  413. package/umd/Options/Classes/BackgroundMask/BackgroundMaskCover.js +0 -35
  414. package/umd/Options/Classes/Particles/Collisions/Collisions.js +0 -47
  415. package/umd/Options/Classes/Particles/Collisions/CollisionsAbsorb.js +0 -28
  416. package/umd/Options/Classes/Particles/Collisions/CollisionsOverlap.js +0 -32
  417. package/umd/Options/Classes/Particles/Move/MoveTrail.js +0 -37
  418. package/umd/Options/Classes/Particles/Move/MoveTrailFill.js +0 -29
  419. package/umd/Options/Classes/Particles/Shadow.js +0 -49
  420. package/umd/Options/Interfaces/BackgroundMask/IBackgroundMask.js +0 -12
  421. package/umd/Options/Interfaces/BackgroundMask/IBackgroundMaskCover.js +0 -12
  422. package/umd/Options/Interfaces/Particles/Collisions/ICollisions.js +0 -12
  423. package/umd/Options/Interfaces/Particles/Collisions/ICollisionsAbsorb.js +0 -12
  424. package/umd/Options/Interfaces/Particles/Collisions/ICollisionsOverlap.js +0 -12
  425. package/umd/Options/Interfaces/Particles/IShadow.js +0 -12
  426. package/umd/Options/Interfaces/Particles/Move/IMoveTrail.js +0 -12
  427. package/umd/Options/Interfaces/Particles/Move/IMoveTrailFill.js +0 -12
  428. /package/browser/{Types → Enums}/RangeType.js +0 -0
  429. /package/{esm/Types → cjs/Enums}/RangeType.js +0 -0
  430. /package/types/{Types → Enums}/RangeType.d.ts +0 -0
  431. /package/umd/{Types → Enums}/RangeType.js +0 -0
@@ -3,7 +3,8 @@ import type { IShapeDrawData } from "./IShapeDrawData.js";
3
3
  import type { Particle } from "../Particle.js";
4
4
  export interface IEffectDrawer<TParticle extends Particle = Particle> {
5
5
  destroy?: (container: Container) => void;
6
- draw: (data: IShapeDrawData<TParticle>) => void;
6
+ drawAfter?: (data: IShapeDrawData<TParticle>) => void;
7
+ drawBefore?: (data: IShapeDrawData<TParticle>) => void;
7
8
  init?: (container: Container) => Promise<void>;
8
9
  loadEffect?: (particle: TParticle) => void;
9
10
  particleInit?: (container: Container, particle: TParticle) => void;
@@ -3,10 +3,12 @@ import type { Particle } from "../Particle.js";
3
3
  export interface IShapeDrawData<TParticle extends Particle = Particle> {
4
4
  context: CanvasRenderingContext2D;
5
5
  delta: IDelta;
6
+ fill: boolean;
6
7
  opacity: number;
7
8
  particle: TParticle;
8
9
  pixelRatio: number;
9
10
  radius: number;
11
+ stroke: boolean;
10
12
  transformData: {
11
13
  a: number;
12
14
  b: number;
@@ -3,6 +3,7 @@ import type { IShapeDrawData } from "./IShapeDrawData.js";
3
3
  import type { Particle } from "../Particle.js";
4
4
  export interface IShapeDrawer<TParticle extends Particle = Particle> {
5
5
  afterDraw?: (data: IShapeDrawData<TParticle>) => void;
6
+ beforeDraw?: (data: IShapeDrawData<TParticle>) => void;
6
7
  destroy?: (container: Container) => void;
7
8
  draw: (data: IShapeDrawData<TParticle>) => void;
8
9
  getSidesCount?: (particle: TParticle) => number;
@@ -1,10 +1,10 @@
1
1
  import type { ICenterCoordinates, ICoordinates, ICoordinates3d } from "./Interfaces/ICoordinates.js";
2
- import type { IHsl, IRgb } from "./Interfaces/Colors.js";
3
2
  import { Vector, Vector3d } from "./Utils/Vectors.js";
4
3
  import type { Container } from "./Container.js";
5
4
  import type { Engine } from "./Engine.js";
6
5
  import type { IBubbleParticleData } from "./Interfaces/IBubbleParticleData.js";
7
6
  import type { IDelta } from "./Interfaces/IDelta.js";
7
+ import type { IHsl } from "./Interfaces/Colors.js";
8
8
  import type { IMovePathGenerator } from "./Interfaces/IMovePathGenerator.js";
9
9
  import type { IParticleHslAnimation } from "./Interfaces/IParticleHslAnimation.js";
10
10
  import type { IParticleNumericValueAnimation } from "./Interfaces/IParticleValueAnimation.js";
@@ -24,7 +24,7 @@ export declare class Particle {
24
24
  color?: IParticleHslAnimation;
25
25
  destroyed: boolean;
26
26
  direction: number;
27
- effect: string;
27
+ effect?: string;
28
28
  effectClose: boolean;
29
29
  effectData?: IShapeValues;
30
30
  effectFill: boolean;
@@ -51,8 +51,7 @@ export declare class Particle {
51
51
  retina: IParticleRetinaProps;
52
52
  roll?: IParticleRoll;
53
53
  rotation: number;
54
- shadowColor?: IRgb;
55
- shape: string;
54
+ shape?: string;
56
55
  shapeClose: boolean;
57
56
  shapeData?: IShapeValues;
58
57
  shapeFill: boolean;
@@ -70,6 +69,7 @@ export declare class Particle {
70
69
  constructor(engine: Engine, container: Container);
71
70
  destroy(override?: boolean): void;
72
71
  draw(delta: IDelta): void;
72
+ getAngle(): number;
73
73
  getFillColor(): IHsl | undefined;
74
74
  getMass(): number;
75
75
  getPosition(): ICoordinates3d;
@@ -81,7 +81,6 @@ export declare class Particle {
81
81
  reset(): void;
82
82
  private readonly _calcPosition;
83
83
  private readonly _calculateVelocity;
84
- private readonly _checkOverlap;
85
84
  private readonly _getRollColor;
86
85
  private readonly _initPosition;
87
86
  }
@@ -33,7 +33,7 @@ export declare class Particles {
33
33
  addParticle(position?: ICoordinates, overrideOptions?: RecursivePartial<IParticlesOptions>, group?: string, initializer?: (particle: Particle) => boolean): Particle | undefined;
34
34
  clear(): void;
35
35
  destroy(): void;
36
- draw(delta: IDelta): void;
36
+ drawParticles(delta: IDelta): void;
37
37
  filter(condition: (particle: Particle) => boolean): Particle[];
38
38
  find(condition: (particle: Particle) => boolean): Particle | undefined;
39
39
  get(index: number): Particle | undefined;
@@ -1,7 +1,7 @@
1
1
  import type { ICoordinates3d } from "../Interfaces/ICoordinates.js";
2
- export declare const generatedAttribute = "generated", mouseDownEvent = "pointerdown", mouseUpEvent = "pointerup", mouseLeaveEvent = "pointerleave", mouseOutEvent = "pointerout", mouseMoveEvent = "pointermove", touchStartEvent = "touchstart", touchEndEvent = "touchend", touchMoveEvent = "touchmove", touchCancelEvent = "touchcancel", resizeEvent = "resize", visibilityChangeEvent = "visibilitychange", errorPrefix = "tsParticles - Error", percentDenominator = 100, half = 0.5, millisecondsToSeconds = 1000, originPoint: ICoordinates3d, defaultTransform: {
2
+ export declare const generatedAttribute = "generated", mouseDownEvent = "pointerdown", mouseUpEvent = "pointerup", mouseLeaveEvent = "pointerleave", mouseOutEvent = "pointerout", mouseMoveEvent = "pointermove", touchStartEvent = "touchstart", touchEndEvent = "touchend", touchMoveEvent = "touchmove", touchCancelEvent = "touchcancel", resizeEvent = "resize", visibilityChangeEvent = "visibilitychange", percentDenominator = 100, half = 0.5, millisecondsToSeconds = 1000, originPoint: ICoordinates3d, defaultTransform: {
3
3
  a: number;
4
4
  b: number;
5
5
  c: number;
6
6
  d: number;
7
- }, randomColorValue = "random", midColorValue = "mid", double = 2, doublePI: number, defaultFps = 60, defaultAlpha = 1, generatedTrue = "true", generatedFalse = "false", canvasTag = "canvas", defaultRetryCount = 0, squareExp = 2, qTreeCapacity = 4, defaultRemoveQuantity = 1, defaultRatio = 1, defaultReduceFactor = 1, subdivideCount = 4, inverseFactorNumerator = 1, rgbMax = 255, hMax = 360, sMax = 100, lMax = 100, hMin = 0, sMin = 0, hPhase = 60, empty = 0, quarter = 0.25, threeQuarter: number, minVelocity = 0, defaultTransformValue = 1, minimumSize = 0, minimumLength = 0, zIndexFactorOffset = 1, defaultOpacity = 1, clickRadius = 1, touchEndLengthOffset = 1, minCoordinate = 0, removeDeleteCount = 1, removeMinIndex = 0, defaultFpsLimit = 120, minFpsLimit = 0, canvasFirstIndex = 0, loadRandomFactor = 10000, loadMinIndex = 0, one = 1, none = 0, decayOffset = 1, tryCountIncrement = 1, minRetries = 0, rollFactor = 1, minZ = 0, defaultRadius = 0, posOffset: number, sizeFactor = 1.5, minLimit = 0, countOffset = 1, minCount = 0, minIndex = 0, manualCount = 0, lengthOffset = 1, defaultDensityFactor = 1, deleteCount = 1, touchDelay = 500, manualDefaultPosition = 50, defaultAngle = 0, identity = 1, minStrokeWidth = 0, lFactor = 1, lMin = 0, rgbFactor = 255, triple = 3, sextuple = 6, sNormalizedOffset = 1, phaseNumerator = 1, defaultRgbMin = 0, defaultVelocity = 0, defaultLoops = 0, defaultTime = 0;
7
+ }, randomColorValue = "random", midColorValue = "mid", double = 2, doublePI: number, defaultFps = 60, defaultAlpha = 1, generatedTrue = "true", generatedFalse = "false", canvasTag = "canvas", defaultRetryCount = 0, squareExp = 2, qTreeCapacity = 4, defaultRemoveQuantity = 1, defaultRatio = 1, defaultReduceFactor = 1, subdivideCount = 4, inverseFactorNumerator = 1, rgbMax = 255, hMax = 360, sMax = 100, lMax = 100, hMin = 0, sMin = 0, hPhase = 60, empty = 0, quarter = 0.25, threeQuarter: number, minVelocity = 0, defaultTransformValue = 1, minimumSize = 0, minimumLength = 0, zIndexFactorOffset = 1, defaultOpacity = 1, clickRadius = 1, touchEndLengthOffset = 1, minCoordinate = 0, removeDeleteCount = 1, removeMinIndex = 0, defaultFpsLimit = 120, minFpsLimit = 0, canvasFirstIndex = 0, loadRandomFactor = 10000, loadMinIndex = 0, one = 1, none = 0, decayOffset = 1, tryCountIncrement = 1, minRetries = 0, rollFactor = 1, minZ = 0, defaultRadius = 0, posOffset: number, sizeFactor = 1.5, minLimit = 0, countOffset = 1, minCount = 0, minIndex = 0, manualCount = 0, lengthOffset = 1, defaultDensityFactor = 1, deleteCount = 1, touchDelay = 500, manualDefaultPosition = 50, defaultAngle = 0, identity = 1, minStrokeWidth = 0, lFactor = 1, lMin = 0, triple = 3, sextuple = 6, sNormalizedOffset = 1, phaseNumerator = 1, defaultRgbMin = 0, defaultVelocity = 0, defaultLoops = 0, defaultTime = 0;
@@ -3,6 +3,7 @@ export declare class EventListeners {
3
3
  private readonly container;
4
4
  private _canPush;
5
5
  private readonly _handlers;
6
+ private readonly _matchMedia;
6
7
  private _resizeObserver?;
7
8
  private _resizeTimeout?;
8
9
  private readonly _touches;
@@ -3,14 +3,14 @@ export declare class Vector3d implements ICoordinates3d {
3
3
  x: number;
4
4
  y: number;
5
5
  z: number;
6
- protected constructor(xOrCoords: number | ICoordinates3d | ICoordinates, y?: number, z?: number);
6
+ protected constructor(x?: number, y?: number, z?: number);
7
7
  static get origin(): Vector3d;
8
8
  get angle(): number;
9
9
  set angle(angle: number);
10
10
  get length(): number;
11
11
  set length(length: number);
12
12
  static clone(source: Vector3d): Vector3d;
13
- static create(x: number | ICoordinates3d, y?: number, z?: number): Vector3d;
13
+ static create(x: number | ICoordinates | ICoordinates3d, y?: number, z?: number): Vector3d;
14
14
  add(v: Vector3d): Vector3d;
15
15
  addTo(v: Vector3d): void;
16
16
  copy(): Vector3d;
@@ -29,7 +29,7 @@ export declare class Vector3d implements ICoordinates3d {
29
29
  private readonly _updateFromAngle;
30
30
  }
31
31
  export declare class Vector extends Vector3d {
32
- protected constructor(xOrCoords: number | ICoordinates, y?: number);
32
+ protected constructor(x?: number, y?: number);
33
33
  static get origin(): Vector;
34
34
  static clone(source: Vector): Vector;
35
35
  static create(x: number | ICoordinates, y?: number): Vector;
@@ -1,5 +1,4 @@
1
1
  import { Background } from "./Background/Background.js";
2
- import { BackgroundMask } from "./BackgroundMask/BackgroundMask.js";
3
2
  import type { Container } from "../../Core/Container.js";
4
3
  import type { Engine } from "../../Core/Engine.js";
5
4
  import { FullScreen } from "./FullScreen/FullScreen.js";
@@ -21,7 +20,6 @@ export declare class Options implements IOptions, IOptionLoader<IOptions> {
21
20
  [name: string]: unknown;
22
21
  autoPlay: boolean;
23
22
  readonly background: Background;
24
- readonly backgroundMask: BackgroundMask;
25
23
  clear: boolean;
26
24
  defaultThemes: DefaultThemes;
27
25
  delay: RangeValue;
@@ -29,6 +27,7 @@ export declare class Options implements IOptions, IOptionLoader<IOptions> {
29
27
  duration: RangeValue;
30
28
  fpsLimit: number;
31
29
  readonly fullScreen: FullScreen;
30
+ hdr: boolean;
32
31
  readonly interactivity: Interactivity;
33
32
  key?: string;
34
33
  manualParticles: ManualParticle[];
@@ -1,10 +1,10 @@
1
- import type { IRangeHsl, IRangeHsv, IRangeRgb, IRangeValueColor } from "../../Core/Interfaces/Colors.js";
1
+ import type { IRangeHsl, IRangeHsv, IRangeHwb, IRangeLab, IRangeLch, IRangeOklab, IRangeOklch, IRangeRgb, IRangeValueColor } from "../../Core/Interfaces/Colors.js";
2
2
  import type { IOptionLoader } from "../Interfaces/IOptionLoader.js";
3
3
  import type { IOptionsColor } from "../Interfaces/IOptionsColor.js";
4
4
  import type { RecursivePartial } from "../../Types/RecursivePartial.js";
5
5
  import type { SingleOrMultiple } from "../../Types/SingleOrMultiple.js";
6
6
  export declare class OptionsColor implements IOptionsColor, IOptionLoader<IOptionsColor> {
7
- value: SingleOrMultiple<SingleOrMultiple<string> | IRangeValueColor | IRangeRgb | IRangeHsl | IRangeHsv>;
7
+ value: SingleOrMultiple<SingleOrMultiple<string> | IRangeValueColor | IRangeRgb | IRangeHsl | IRangeHsv | IRangeHwb | IRangeLab | IRangeLch | IRangeOklab | IRangeOklch>;
8
8
  constructor();
9
9
  static create(source?: OptionsColor, data?: SingleOrMultiple<string> | RecursivePartial<IOptionsColor>): OptionsColor;
10
10
  load(data?: RecursivePartial<IOptionsColor>): void;
@@ -7,7 +7,6 @@ import { MoveAttract } from "./MoveAttract.js";
7
7
  import { MoveCenter } from "./MoveCenter.js";
8
8
  import { MoveGravity } from "./MoveGravity.js";
9
9
  import { MovePath } from "./Path/MovePath.js";
10
- import { MoveTrail } from "./MoveTrail.js";
11
10
  import { OutModes } from "./OutModes.js";
12
11
  import type { RangeValue } from "../../../../Types/RangeValue.js";
13
12
  import type { RecursivePartial } from "../../../../Types/RecursivePartial.js";
@@ -29,7 +28,6 @@ export declare class Move implements IMove, IOptionLoader<IMove> {
29
28
  speed: RangeValue;
30
29
  readonly spin: Spin;
31
30
  straight: boolean;
32
- readonly trail: MoveTrail;
33
31
  vibrate: boolean;
34
32
  warp: boolean;
35
33
  constructor();
@@ -1,5 +1,4 @@
1
1
  import { AnimatableColor } from "../AnimatableColor.js";
2
- import { Collisions } from "./Collisions/Collisions.js";
3
2
  import type { Container } from "../../../Core/Container.js";
4
3
  import { Effect } from "./Effect/Effect.js";
5
4
  import type { Engine } from "../../../Core/Engine.js";
@@ -12,7 +11,6 @@ import { ParticlesBounce } from "./Bounce/ParticlesBounce.js";
12
11
  import type { ParticlesGroups } from "../../../Types/ParticlesGroups.js";
13
12
  import { ParticlesNumber } from "./Number/ParticlesNumber.js";
14
13
  import type { RecursivePartial } from "../../../Types/RecursivePartial.js";
15
- import { Shadow } from "./Shadow.js";
16
14
  import { Shape } from "./Shape/Shape.js";
17
15
  import type { SingleOrMultiple } from "../../../Types/SingleOrMultiple.js";
18
16
  import { Size } from "./Size/Size.js";
@@ -21,7 +19,6 @@ import { ZIndex } from "./ZIndex/ZIndex.js";
21
19
  export declare class ParticlesOptions implements IParticlesOptions, IOptionLoader<IParticlesOptions> {
22
20
  [name: string]: unknown;
23
21
  readonly bounce: ParticlesBounce;
24
- readonly collisions: Collisions;
25
22
  color: AnimatableColor;
26
23
  readonly effect: Effect;
27
24
  readonly groups: ParticlesGroups;
@@ -30,7 +27,6 @@ export declare class ParticlesOptions implements IParticlesOptions, IOptionLoade
30
27
  readonly number: ParticlesNumber;
31
28
  readonly opacity: Opacity;
32
29
  reduceDuplicates: boolean;
33
- readonly shadow: Shadow;
34
30
  readonly shape: Shape;
35
31
  readonly size: Size;
36
32
  stroke: SingleOrMultiple<Stroke>;
@@ -1,5 +1,4 @@
1
1
  import type { IBackground } from "./Background/IBackground.js";
2
- import type { IBackgroundMask } from "./BackgroundMask/IBackgroundMask.js";
3
2
  import type { IFullScreen } from "./FullScreen/IFullScreen.js";
4
3
  import type { IInteractivity } from "./Interactivity/IInteractivity.js";
5
4
  import type { IManualParticle } from "./IManualParticle.js";
@@ -13,13 +12,13 @@ export interface IOptions {
13
12
  [name: string]: unknown;
14
13
  autoPlay: boolean;
15
14
  background: IBackground;
16
- backgroundMask: IBackgroundMask;
17
15
  clear: boolean;
18
16
  delay: RangeValue;
19
17
  detectRetina: boolean;
20
18
  duration: RangeValue;
21
19
  fpsLimit: number;
22
20
  fullScreen: RecursivePartial<IFullScreen> | boolean;
21
+ hdr: boolean;
23
22
  interactivity: IInteractivity;
24
23
  key?: string;
25
24
  manualParticles: IManualParticle[];
@@ -1,12 +1,10 @@
1
1
  import type { IAnimatableColor } from "../IAnimatableColor.js";
2
- import type { ICollisions } from "./Collisions/ICollisions.js";
3
2
  import type { IEffect } from "./Effect/IEffect.js";
4
3
  import type { IInteractivity } from "../Interactivity/IInteractivity.js";
5
4
  import type { IMove } from "./Move/IMove.js";
6
5
  import type { IOpacity } from "./Opacity/IOpacity.js";
7
6
  import type { IParticlesBounce } from "./Bounce/IParticlesBounce.js";
8
7
  import type { IParticlesNumber } from "./Number/IParticlesNumber.js";
9
- import type { IShadow } from "./IShadow.js";
10
8
  import type { IShape } from "./Shape/IShape.js";
11
9
  import type { ISize } from "./Size/ISize.js";
12
10
  import type { IStroke } from "./IStroke.js";
@@ -17,7 +15,6 @@ import type { SingleOrMultiple } from "../../../Types/SingleOrMultiple.js";
17
15
  export interface IParticlesOptions {
18
16
  [name: string]: unknown;
19
17
  bounce: IParticlesBounce;
20
- collisions: ICollisions;
21
18
  color: IAnimatableColor;
22
19
  effect: IEffect;
23
20
  groups: ParticlesGroups;
@@ -26,7 +23,6 @@ export interface IParticlesOptions {
26
23
  number: IParticlesNumber;
27
24
  opacity: IOpacity;
28
25
  reduceDuplicates: boolean;
29
- shadow: IShadow;
30
26
  shape: IShape;
31
27
  size: ISize;
32
28
  stroke: SingleOrMultiple<IStroke>;
@@ -5,7 +5,6 @@ import type { IMoveAttract } from "./IMoveAttract.js";
5
5
  import type { IMoveCenter } from "./IMoveCenter.js";
6
6
  import type { IMoveGravity } from "./IMoveGravity.js";
7
7
  import type { IMovePath } from "./Path/IMovePath.js";
8
- import type { IMoveTrail } from "./IMoveTrail.js";
9
8
  import type { IOutModes } from "./IOutModes.js";
10
9
  import type { ISpin } from "./ISpin.js";
11
10
  import type { OutMode } from "../../../../Enums/Modes/OutMode.js";
@@ -27,7 +26,6 @@ export interface IMove {
27
26
  speed: RangeValue;
28
27
  spin: ISpin;
29
28
  straight: boolean;
30
- trail: IMoveTrail;
31
29
  vibrate: boolean;
32
30
  warp: boolean;
33
31
  }
@@ -7,6 +7,7 @@ import type { IDimension } from "../Core/Interfaces/IDimension.js";
7
7
  import type { IDrawParticleParams } from "../Core/Interfaces/IDrawParticleParams.js";
8
8
  import type { IHsl } from "../Core/Interfaces/Colors.js";
9
9
  import type { Particle } from "../Core/Particle.js";
10
+ export declare function clearDrawPlugin(context: CanvasRenderingContext2D, plugin: IContainerPlugin, delta: IDelta): void;
10
11
  export declare function drawLine(context: CanvasRenderingContext2D, begin: ICoordinates, end: ICoordinates): void;
11
12
  export declare function paintBase(context: CanvasRenderingContext2D, dimension: IDimension, baseColor?: string): void;
12
13
  export declare function paintImage(context: CanvasRenderingContext2D, dimension: IDimension, image: HTMLImageElement | undefined, opacity: number): void;
@@ -27,9 +28,11 @@ interface DrawShapeData {
27
28
  d: number;
28
29
  };
29
30
  }
30
- export declare function drawEffect(data: DrawShapeData): void;
31
+ export declare function drawAfterEffect(data: DrawShapeData): void;
32
+ export declare function drawBeforeEffect(data: DrawShapeData): void;
31
33
  export declare function drawShape(data: DrawShapeData): void;
32
34
  export declare function drawShapeAfterDraw(data: DrawShapeData): void;
35
+ export declare function drawShapeBeforeDraw(data: DrawShapeData): void;
33
36
  export declare function drawPlugin(context: CanvasRenderingContext2D, plugin: IContainerPlugin, delta: IDelta): void;
34
37
  export declare function drawParticlePlugin(context: CanvasRenderingContext2D, plugin: IContainerPlugin, particle: Particle, delta: IDelta): void;
35
38
  export declare function alterHsl(color: IHsl, type: AlterType, value: number): IHsl;
@@ -17,8 +17,8 @@ export declare function stringToRgb(engine: Engine, input: string): IRgb | undef
17
17
  export declare function hslToRgb(hsl: IHsl): IRgb;
18
18
  export declare function hslaToRgba(hsla: IHsla): IRgba;
19
19
  export declare function getRandomRgbColor(min?: number): IRgb;
20
- export declare function getStyleFromRgb(color: IRgb, opacity?: number): string;
21
- export declare function getStyleFromHsl(color: IHsl, opacity?: number): string;
20
+ export declare function getStyleFromRgb(color: IRgb, hdr: boolean, opacity?: number): string;
21
+ export declare function getStyleFromHsl(color: IHsl, hdr: boolean, opacity?: number): string;
22
22
  export declare function colorMix(color1: IRgb | IHsl, color2: IRgb | IHsl, size1: number, size2: number): IRgb;
23
23
  export declare function getLinkColor(p1: Particle, p2?: Particle, linkColor?: string | IRgb): IRgb | undefined;
24
24
  export declare function getLinkRandomColor(engine: Engine, optColor: string | IOptionsColor, blink: boolean, consent: boolean): IRgb | string | undefined;
@@ -0,0 +1,11 @@
1
+ interface ILogger {
2
+ debug(this: void, message?: unknown, ...optionalParams: unknown[]): void;
3
+ error(this: void, message?: unknown, ...optionalParams: unknown[]): void;
4
+ info(this: void, message?: unknown, ...optionalParams: unknown[]): void;
5
+ log(this: void, message?: unknown, ...optionalParams: unknown[]): void;
6
+ verbose(this: void, message?: unknown, ...optionalParams: unknown[]): void;
7
+ warning(this: void, message?: unknown, ...optionalParams: unknown[]): void;
8
+ }
9
+ export declare function setLogger(logger: ILogger): void;
10
+ export declare function getLogger(): ILogger;
11
+ export {};
@@ -5,12 +5,13 @@ import type { RangeValue } from "../Types/RangeValue.js";
5
5
  import { Vector } from "../Core/Utils/Vectors.js";
6
6
  export declare function setRandom(rnd?: () => number): void;
7
7
  export declare function getRandom(): number;
8
+ export declare function getRandomInRange(min: number, max: number): number;
8
9
  export declare function setAnimationFunctions(nextFrame: (callback: FrameRequestCallback) => number, cancel: (handle: number) => void): void;
9
10
  export declare function animate(fn: FrameRequestCallback): number;
10
11
  export declare function cancelAnimation(handle: number): void;
11
12
  export declare function clamp(num: number, min: number, max: number): number;
12
13
  export declare function mix(comp1: number, comp2: number, weight1: number, weight2: number): number;
13
- export declare function randomInRange(r: RangeValue): number;
14
+ export declare function randomInRangeValue(r: RangeValue): number;
14
15
  export declare function getRangeValue(value: RangeValue): number;
15
16
  export declare function getRangeMin(value: RangeValue): number;
16
17
  export declare function getRangeMax(value: RangeValue): number;
@@ -1,7 +1,7 @@
1
1
  export declare function isBoolean(arg: unknown): arg is boolean;
2
2
  export declare function isString(arg: unknown): arg is string;
3
3
  export declare function isNumber(arg: unknown): arg is number;
4
- export declare function isFunction(arg: unknown): arg is Function;
5
- export declare function isObject<T extends object>(arg: unknown): arg is T;
4
+ export declare function isFunction(arg: unknown): arg is (...args: unknown[]) => unknown;
5
+ export declare function isObject(arg: unknown): arg is object;
6
6
  export declare function isArray<T>(arg: unknown): arg is T[];
7
7
  export declare function isNull(arg: unknown): arg is null | undefined;
@@ -11,25 +11,15 @@ import { OutModeDirection } from "../Enums/Directions/OutModeDirection.js";
11
11
  import type { Particle } from "../Core/Particle.js";
12
12
  import type { RangedAnimationValueWithRandom } from "../Options/Classes/ValueWithRandom.js";
13
13
  import type { SingleOrMultiple } from "../Types/SingleOrMultiple.js";
14
- interface ILogger {
15
- debug(this: void, message?: unknown, ...optionalParams: unknown[]): void;
16
- error(this: void, message?: unknown, ...optionalParams: unknown[]): void;
17
- info(this: void, message?: unknown, ...optionalParams: unknown[]): void;
18
- log(this: void, message?: unknown, ...optionalParams: unknown[]): void;
19
- verbose(this: void, message?: unknown, ...optionalParams: unknown[]): void;
20
- warning(this: void, message?: unknown, ...optionalParams: unknown[]): void;
21
- }
22
- export declare function setLogger(logger: ILogger): void;
23
- export declare function getLogger(): ILogger;
24
- export declare function isSsr(): boolean;
25
14
  export declare function hasMatchMedia(): boolean;
15
+ export declare function safeDocument(): Document;
26
16
  export declare function safeMatchMedia(query: string): MediaQueryList | undefined;
27
17
  export declare function safeIntersectionObserver(callback: (records: IntersectionObserverEntry[]) => void): IntersectionObserver | undefined;
28
18
  export declare function safeMutationObserver(callback: (records: MutationRecord[]) => void): MutationObserver | undefined;
29
19
  export declare function isInArray<T>(value: T, array: SingleOrMultiple<T>): boolean;
30
20
  export declare function loadFont(font?: string, weight?: string): Promise<void>;
31
- export declare function arrayRandomIndex<T>(array: T[]): number;
32
- export declare function itemFromArray<T>(array: T[], index?: number, useIndex?: boolean): T;
21
+ export declare function arrayRandomIndex(array: unknown[]): number;
22
+ export declare function itemFromArray<T>(array: T[], index?: number, useIndex?: boolean): T | undefined;
33
23
  export declare function isPointInside(point: ICoordinates, size: IDimension, offset: ICoordinates, radius?: number, direction?: OutModeDirection): boolean;
34
24
  export declare function areBoundsInside(bounds: IBounds, size: IDimension, offset: ICoordinates, direction?: OutModeDirection): boolean;
35
25
  export declare function calculateBounds(point: ICoordinates, radius: number): IBounds;
@@ -40,9 +30,8 @@ export declare function singleDivModeExecute(div: DivEvent, callback: (selector:
40
30
  export declare function divMode<T extends IModeDiv>(divs?: SingleOrMultiple<T>, element?: HTMLElement): T | undefined;
41
31
  export declare function circleBounceDataFromParticle(p: Particle): ICircleBouncer;
42
32
  export declare function circleBounce(p1: ICircleBouncer, p2: ICircleBouncer): void;
43
- export declare function rectBounce(particle: Particle, divBounds: IBounds): void;
44
33
  export declare function executeOnSingleOrMultiple<T, U = void>(obj: SingleOrMultiple<T>, callback: (obj: T, index: number) => U): SingleOrMultiple<U>;
45
- export declare function itemFromSingleOrMultiple<T>(obj: SingleOrMultiple<T>, index?: number, useIndex?: boolean): T;
34
+ export declare function itemFromSingleOrMultiple<T>(obj: SingleOrMultiple<T>, index?: number, useIndex?: boolean): T | undefined;
46
35
  export declare function findItemFromSingleOrMultiple<T>(obj: SingleOrMultiple<T>, callback: (obj: T, index: number) => boolean): T | undefined;
47
36
  export declare function initParticleNumericAnimationValue(options: RangedAnimationValueWithRandom, pxRatio: number): IParticleNumericValueAnimation;
48
37
  export declare function getPosition(position: ICoordinatesWithMode, canvasSize: IDimension): ICoordinates;
@@ -50,4 +39,3 @@ export declare function getSize(size: IDimensionWithMode, canvasSize: IDimension
50
39
  export declare function updateAnimation(particle: Particle, data: IParticleNumericValueAnimation, changeDirection: boolean, destroyType: DestroyType | keyof typeof DestroyType, delta: IDelta): void;
51
40
  export declare function cloneStyle(style: Partial<CSSStyleDeclaration>): CSSStyleDeclaration;
52
41
  export declare const getFullScreenStyle: (zIndex: number) => CSSStyleDeclaration;
53
- export {};