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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (336) hide show
  1. package/README.md +246 -211
  2. package/browser/Core/Canvas.js +271 -241
  3. package/browser/Core/Container.js +90 -106
  4. package/browser/Core/Engine.js +271 -0
  5. package/browser/Core/Particle.js +158 -162
  6. package/browser/Core/Particles.js +148 -134
  7. package/browser/Core/Retina.js +15 -13
  8. package/browser/Core/Utils/Circle.js +10 -6
  9. package/browser/Core/Utils/Constants.js +4 -3
  10. package/browser/Core/Utils/EventListeners.js +259 -220
  11. package/browser/Core/Utils/InteractionManager.js +6 -16
  12. package/browser/Core/Utils/QuadTree.js +14 -20
  13. package/browser/Core/Utils/Vector3d.js +17 -9
  14. package/browser/Options/Classes/AnimatableColor.js +2 -1
  15. package/browser/Options/Classes/AnimationOptions.js +7 -2
  16. package/browser/Options/Classes/BackgroundMask/BackgroundMask.js +2 -1
  17. package/browser/Options/Classes/ColorAnimation.js +4 -0
  18. package/browser/Options/Classes/Interactivity/Events/DivEvent.js +0 -24
  19. package/browser/Options/Classes/Interactivity/Events/Events.js +5 -24
  20. package/browser/Options/Classes/Interactivity/Interactivity.js +1 -8
  21. package/browser/Options/Classes/Interactivity/Modes/Modes.js +11 -8
  22. package/browser/Options/Classes/ManualParticle.js +5 -5
  23. package/browser/Options/Classes/Options.js +19 -39
  24. package/browser/Options/Classes/OptionsColor.js +3 -2
  25. package/browser/Options/Classes/Particles/Collisions/Collisions.js +5 -0
  26. package/browser/Options/Classes/Particles/Move/Move.js +11 -41
  27. package/browser/Options/Classes/Particles/Move/MoveAttract.js +9 -20
  28. package/browser/Options/Classes/Particles/Move/MoveTrail.js +2 -8
  29. package/browser/Options/Classes/Particles/Move/OutModes.js +4 -5
  30. package/browser/Options/Classes/Particles/Move/Spin.js +3 -1
  31. package/browser/Options/Classes/Particles/Number/ParticlesDensity.js +2 -21
  32. package/browser/Options/Classes/Particles/Number/ParticlesNumber.js +2 -9
  33. package/browser/Options/Classes/Particles/Opacity/Opacity.js +11 -7
  34. package/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js +0 -9
  35. package/browser/Options/Classes/Particles/ParticlesOptions.js +6 -11
  36. package/browser/Options/Classes/Particles/Shape/Shape.js +9 -2
  37. package/browser/Options/Classes/Particles/Size/Size.js +11 -7
  38. package/browser/Options/Classes/Particles/Size/SizeAnimation.js +0 -9
  39. package/browser/Options/Classes/ValueWithRandom.js +4 -17
  40. package/browser/Utils/CanvasUtils.js +18 -54
  41. package/browser/Utils/ColorUtils.js +17 -19
  42. package/browser/Utils/EventDispatcher.js +7 -6
  43. package/browser/Utils/HslColorManager.js +2 -4
  44. package/browser/Utils/NumberUtils.js +41 -45
  45. package/browser/Utils/RgbColorManager.js +2 -4
  46. package/browser/Utils/Utils.js +150 -59
  47. package/browser/bundle.js +4 -96
  48. package/browser/export-types.js +97 -0
  49. package/browser/exports.js +89 -0
  50. package/browser/index.js +8 -198
  51. package/browser/init.js +12 -0
  52. package/cjs/Core/Canvas.js +269 -239
  53. package/cjs/Core/Container.js +90 -106
  54. package/cjs/Core/Engine.js +275 -0
  55. package/cjs/Core/Particle.js +157 -161
  56. package/cjs/Core/Particles.js +148 -134
  57. package/cjs/Core/Retina.js +15 -13
  58. package/cjs/Core/Utils/Circle.js +10 -6
  59. package/cjs/Core/Utils/Constants.js +5 -4
  60. package/cjs/Core/Utils/EventListeners.js +258 -219
  61. package/cjs/Core/Utils/InteractionManager.js +6 -16
  62. package/cjs/Core/Utils/QuadTree.js +14 -20
  63. package/cjs/Core/Utils/Vector3d.js +17 -9
  64. package/cjs/Options/Classes/AnimatableColor.js +2 -1
  65. package/cjs/Options/Classes/AnimationOptions.js +7 -2
  66. package/cjs/Options/Classes/BackgroundMask/BackgroundMask.js +2 -1
  67. package/cjs/Options/Classes/ColorAnimation.js +4 -0
  68. package/cjs/Options/Classes/Interactivity/Events/DivEvent.js +0 -24
  69. package/cjs/Options/Classes/Interactivity/Events/Events.js +5 -24
  70. package/cjs/Options/Classes/Interactivity/Interactivity.js +1 -8
  71. package/cjs/Options/Classes/Interactivity/Modes/Modes.js +11 -8
  72. package/cjs/Options/Classes/ManualParticle.js +5 -5
  73. package/cjs/Options/Classes/Options.js +18 -38
  74. package/cjs/Options/Classes/OptionsColor.js +3 -2
  75. package/cjs/Options/Classes/Particles/Collisions/Collisions.js +5 -0
  76. package/cjs/Options/Classes/Particles/Move/Move.js +11 -41
  77. package/cjs/Options/Classes/Particles/Move/MoveAttract.js +9 -20
  78. package/cjs/Options/Classes/Particles/Move/MoveTrail.js +2 -8
  79. package/cjs/Options/Classes/Particles/Move/OutModes.js +4 -5
  80. package/cjs/Options/Classes/Particles/Move/Spin.js +3 -1
  81. package/cjs/Options/Classes/Particles/Number/ParticlesDensity.js +2 -21
  82. package/cjs/Options/Classes/Particles/Number/ParticlesNumber.js +2 -9
  83. package/cjs/Options/Classes/Particles/Opacity/Opacity.js +10 -6
  84. package/cjs/Options/Classes/Particles/Opacity/OpacityAnimation.js +0 -9
  85. package/cjs/Options/Classes/Particles/ParticlesOptions.js +6 -11
  86. package/cjs/Options/Classes/Particles/Shape/Shape.js +9 -2
  87. package/cjs/Options/Classes/Particles/Size/Size.js +11 -7
  88. package/cjs/Options/Classes/Particles/Size/SizeAnimation.js +0 -9
  89. package/cjs/Options/Classes/ValueWithRandom.js +4 -17
  90. package/cjs/Utils/CanvasUtils.js +21 -58
  91. package/cjs/Utils/ColorUtils.js +16 -18
  92. package/cjs/Utils/EventDispatcher.js +7 -6
  93. package/cjs/Utils/HslColorManager.js +2 -4
  94. package/cjs/Utils/NumberUtils.js +41 -45
  95. package/cjs/Utils/RgbColorManager.js +2 -4
  96. package/cjs/Utils/Utils.js +163 -63
  97. package/cjs/bundle.js +4 -96
  98. package/cjs/export-types.js +113 -0
  99. package/cjs/exports.js +105 -0
  100. package/cjs/index.js +8 -198
  101. package/cjs/init.js +16 -0
  102. package/esm/Core/Canvas.js +271 -241
  103. package/esm/Core/Container.js +90 -106
  104. package/esm/Core/Engine.js +271 -0
  105. package/esm/Core/Particle.js +158 -162
  106. package/esm/Core/Particles.js +148 -134
  107. package/esm/Core/Retina.js +15 -13
  108. package/esm/Core/Utils/Circle.js +10 -6
  109. package/esm/Core/Utils/Constants.js +4 -3
  110. package/esm/Core/Utils/EventListeners.js +259 -220
  111. package/esm/Core/Utils/InteractionManager.js +6 -16
  112. package/esm/Core/Utils/QuadTree.js +14 -20
  113. package/esm/Core/Utils/Vector3d.js +17 -9
  114. package/esm/Options/Classes/AnimatableColor.js +2 -1
  115. package/esm/Options/Classes/AnimationOptions.js +7 -2
  116. package/esm/Options/Classes/BackgroundMask/BackgroundMask.js +2 -1
  117. package/esm/Options/Classes/ColorAnimation.js +4 -0
  118. package/esm/Options/Classes/Interactivity/Events/DivEvent.js +0 -24
  119. package/esm/Options/Classes/Interactivity/Events/Events.js +5 -24
  120. package/esm/Options/Classes/Interactivity/Interactivity.js +1 -8
  121. package/esm/Options/Classes/Interactivity/Modes/Modes.js +11 -8
  122. package/esm/Options/Classes/ManualParticle.js +5 -5
  123. package/esm/Options/Classes/Options.js +19 -39
  124. package/esm/Options/Classes/OptionsColor.js +3 -2
  125. package/esm/Options/Classes/Particles/Collisions/Collisions.js +5 -0
  126. package/esm/Options/Classes/Particles/Move/Move.js +11 -41
  127. package/esm/Options/Classes/Particles/Move/MoveAttract.js +9 -20
  128. package/esm/Options/Classes/Particles/Move/MoveTrail.js +2 -8
  129. package/esm/Options/Classes/Particles/Move/OutModes.js +4 -5
  130. package/esm/Options/Classes/Particles/Move/Spin.js +3 -1
  131. package/esm/Options/Classes/Particles/Number/ParticlesDensity.js +2 -21
  132. package/esm/Options/Classes/Particles/Number/ParticlesNumber.js +2 -9
  133. package/esm/Options/Classes/Particles/Opacity/Opacity.js +11 -7
  134. package/esm/Options/Classes/Particles/Opacity/OpacityAnimation.js +0 -9
  135. package/esm/Options/Classes/Particles/ParticlesOptions.js +6 -11
  136. package/esm/Options/Classes/Particles/Shape/Shape.js +9 -2
  137. package/esm/Options/Classes/Particles/Size/Size.js +11 -7
  138. package/esm/Options/Classes/Particles/Size/SizeAnimation.js +0 -9
  139. package/esm/Options/Classes/ValueWithRandom.js +4 -17
  140. package/esm/Utils/CanvasUtils.js +18 -54
  141. package/esm/Utils/ColorUtils.js +17 -19
  142. package/esm/Utils/EventDispatcher.js +7 -6
  143. package/esm/Utils/HslColorManager.js +2 -4
  144. package/esm/Utils/NumberUtils.js +41 -45
  145. package/esm/Utils/RgbColorManager.js +2 -4
  146. package/esm/Utils/Utils.js +150 -59
  147. package/esm/bundle.js +4 -96
  148. package/esm/export-types.js +97 -0
  149. package/esm/exports.js +89 -0
  150. package/esm/index.js +8 -198
  151. package/esm/init.js +12 -0
  152. package/package.json +17 -2
  153. package/report.html +4 -4
  154. package/scripts/install.js +90 -33
  155. package/tsparticles.engine.js +1848 -1961
  156. package/tsparticles.engine.min.js +1 -1
  157. package/tsparticles.engine.min.js.LICENSE.txt +1 -10
  158. package/types/Core/Canvas.d.ts +20 -16
  159. package/types/Core/Container.d.ts +10 -14
  160. package/types/Core/Engine.d.ts +71 -0
  161. package/types/Core/Interfaces/IContainerPlugin.d.ts +2 -0
  162. package/types/Core/Interfaces/ICoordinates.d.ts +5 -3
  163. package/types/Core/Interfaces/IDimension.d.ts +4 -0
  164. package/types/Core/Interfaces/IMovePathGenerator.d.ts +2 -1
  165. package/types/Core/Interfaces/IParticleUpdater.d.ts +0 -2
  166. package/types/Core/Interfaces/IParticleValueAnimation.d.ts +2 -0
  167. package/types/Core/Interfaces/IPlugin.d.ts +4 -3
  168. package/types/Core/Particle.d.ts +7 -7
  169. package/types/Core/Particles.d.ts +14 -10
  170. package/types/Core/Utils/Constants.d.ts +4 -3
  171. package/types/Core/Utils/EventListeners.d.ts +20 -14
  172. package/types/Core/Utils/InteractionManager.d.ts +1 -1
  173. package/types/Core/Utils/QuadTree.d.ts +2 -5
  174. package/types/Core/Utils/Vector3d.d.ts +2 -1
  175. package/types/Enums/Modes/AnimationMode.d.ts +6 -0
  176. package/types/Enums/Modes/{SizeMode.d.ts → PixelMode.d.ts} +1 -1
  177. package/types/Options/Classes/AnimationOptions.d.ts +3 -1
  178. package/types/Options/Classes/ColorAnimation.d.ts +1 -0
  179. package/types/Options/Classes/Interactivity/Events/DivEvent.d.ts +0 -6
  180. package/types/Options/Classes/Interactivity/Events/Events.d.ts +0 -6
  181. package/types/Options/Classes/Interactivity/Interactivity.d.ts +1 -3
  182. package/types/Options/Classes/Interactivity/Modes/Modes.d.ts +1 -1
  183. package/types/Options/Classes/ManualParticle.d.ts +2 -2
  184. package/types/Options/Classes/Options.d.ts +5 -12
  185. package/types/Options/Classes/Particles/Collisions/Collisions.d.ts +2 -0
  186. package/types/Options/Classes/Particles/Move/Move.d.ts +0 -11
  187. package/types/Options/Classes/Particles/Move/MoveAttract.d.ts +0 -4
  188. package/types/Options/Classes/Particles/Move/MoveCenter.d.ts +2 -2
  189. package/types/Options/Classes/Particles/Move/MoveTrail.d.ts +0 -3
  190. package/types/Options/Classes/Particles/Move/Spin.d.ts +2 -2
  191. package/types/Options/Classes/Particles/Number/ParticlesDensity.d.ts +0 -6
  192. package/types/Options/Classes/Particles/Number/ParticlesNumber.d.ts +0 -2
  193. package/types/Options/Classes/Particles/Opacity/Opacity.d.ts +4 -4
  194. package/types/Options/Classes/Particles/Opacity/OpacityAnimation.d.ts +0 -2
  195. package/types/Options/Classes/Particles/ParticlesOptions.d.ts +1 -1
  196. package/types/Options/Classes/Particles/Shape/Shape.d.ts +2 -0
  197. package/types/Options/Classes/Particles/Size/Size.d.ts +4 -4
  198. package/types/Options/Classes/Particles/Size/SizeAnimation.d.ts +0 -2
  199. package/types/Options/Classes/Responsive.d.ts +3 -3
  200. package/types/Options/Classes/Theme/Theme.d.ts +2 -2
  201. package/types/Options/Classes/ValueWithRandom.d.ts +2 -6
  202. package/types/Options/Interfaces/IAnimation.d.ts +3 -1
  203. package/types/Options/Interfaces/IManualParticle.d.ts +2 -2
  204. package/types/Options/Interfaces/IOptions.d.ts +1 -4
  205. package/types/Options/Interfaces/IResponsive.d.ts +4 -3
  206. package/types/Options/Interfaces/Interactivity/Events/IDivEvent.d.ts +0 -3
  207. package/types/Options/Interfaces/Interactivity/Events/IEvents.d.ts +0 -3
  208. package/types/Options/Interfaces/Interactivity/IInteractivity.d.ts +0 -1
  209. package/types/Options/Interfaces/Interactivity/Modes/IModeDiv.d.ts +0 -1
  210. package/types/Options/Interfaces/Particles/Collisions/ICollisions.d.ts +2 -0
  211. package/types/Options/Interfaces/Particles/IStroke.d.ts +2 -1
  212. package/types/Options/Interfaces/Particles/Move/IMove.d.ts +0 -5
  213. package/types/Options/Interfaces/Particles/Move/IMoveAttract.d.ts +0 -2
  214. package/types/Options/Interfaces/Particles/Move/IMoveTrail.d.ts +0 -2
  215. package/types/Options/Interfaces/Particles/Move/ISpin.d.ts +2 -2
  216. package/types/Options/Interfaces/Particles/Number/IParticlesDensity.d.ts +0 -3
  217. package/types/Options/Interfaces/Particles/Number/IParticlesNumber.d.ts +0 -1
  218. package/types/Options/Interfaces/Particles/Opacity/IOpacity.d.ts +0 -1
  219. package/types/Options/Interfaces/Particles/Opacity/IOpacityAnimation.d.ts +0 -1
  220. package/types/Options/Interfaces/Particles/Shape/IShape.d.ts +2 -0
  221. package/types/Options/Interfaces/Particles/Size/ISize.d.ts +0 -1
  222. package/types/Options/Interfaces/Particles/Size/ISizeAnimation.d.ts +0 -1
  223. package/types/Options/Interfaces/Theme/ITheme.d.ts +3 -2
  224. package/types/Types/ExportResult.d.ts +5 -0
  225. package/types/Utils/CanvasUtils.d.ts +2 -5
  226. package/types/Utils/OptionsUtils.d.ts +1 -1
  227. package/types/Utils/Utils.d.ts +22 -4
  228. package/types/bundle.d.ts +2 -90
  229. package/types/export-types.d.ts +107 -0
  230. package/types/exports.d.ts +89 -0
  231. package/types/index.d.ts +3 -203
  232. package/types/init.d.ts +2 -0
  233. package/umd/Core/Canvas.js +269 -239
  234. package/umd/Core/Container.js +91 -107
  235. package/umd/Core/Engine.js +285 -0
  236. package/umd/Core/Particle.js +158 -162
  237. package/umd/Core/Particles.js +149 -135
  238. package/umd/Core/Retina.js +15 -13
  239. package/umd/Core/Utils/Circle.js +11 -7
  240. package/umd/Core/Utils/Constants.js +5 -4
  241. package/umd/Core/Utils/EventListeners.js +258 -219
  242. package/umd/Core/Utils/InteractionManager.js +6 -16
  243. package/umd/Core/Utils/QuadTree.js +14 -20
  244. package/umd/Core/Utils/Vector3d.js +18 -10
  245. package/umd/Options/Classes/AnimatableColor.js +3 -2
  246. package/umd/Options/Classes/AnimationOptions.js +7 -2
  247. package/umd/Options/Classes/BackgroundMask/BackgroundMask.js +3 -2
  248. package/umd/Options/Classes/ColorAnimation.js +4 -0
  249. package/umd/Options/Classes/Interactivity/Events/DivEvent.js +1 -25
  250. package/umd/Options/Classes/Interactivity/Events/Events.js +6 -25
  251. package/umd/Options/Classes/Interactivity/Interactivity.js +1 -8
  252. package/umd/Options/Classes/Interactivity/Modes/Modes.js +11 -8
  253. package/umd/Options/Classes/ManualParticle.js +5 -5
  254. package/umd/Options/Classes/Options.js +18 -38
  255. package/umd/Options/Classes/OptionsColor.js +4 -3
  256. package/umd/Options/Classes/Particles/Collisions/Collisions.js +6 -1
  257. package/umd/Options/Classes/Particles/Move/Move.js +12 -42
  258. package/umd/Options/Classes/Particles/Move/MoveAttract.js +9 -20
  259. package/umd/Options/Classes/Particles/Move/MoveTrail.js +2 -8
  260. package/umd/Options/Classes/Particles/Move/OutModes.js +4 -5
  261. package/umd/Options/Classes/Particles/Move/Spin.js +3 -1
  262. package/umd/Options/Classes/Particles/Number/ParticlesDensity.js +2 -21
  263. package/umd/Options/Classes/Particles/Number/ParticlesNumber.js +2 -9
  264. package/umd/Options/Classes/Particles/Opacity/Opacity.js +10 -6
  265. package/umd/Options/Classes/Particles/Opacity/OpacityAnimation.js +0 -9
  266. package/umd/Options/Classes/Particles/ParticlesOptions.js +6 -11
  267. package/umd/Options/Classes/Particles/Shape/Shape.js +9 -2
  268. package/umd/Options/Classes/Particles/Size/Size.js +12 -8
  269. package/umd/Options/Classes/Particles/Size/SizeAnimation.js +0 -9
  270. package/umd/Options/Classes/ValueWithRandom.js +5 -18
  271. package/umd/Utils/CanvasUtils.js +21 -58
  272. package/umd/Utils/ColorUtils.js +16 -18
  273. package/umd/Utils/EventDispatcher.js +7 -6
  274. package/umd/Utils/HslColorManager.js +2 -4
  275. package/umd/Utils/NumberUtils.js +42 -46
  276. package/umd/Utils/RgbColorManager.js +2 -4
  277. package/umd/Utils/Utils.js +163 -63
  278. package/umd/bundle.js +5 -97
  279. package/umd/export-types.js +123 -0
  280. package/umd/exports.js +115 -0
  281. package/umd/index.js +9 -199
  282. package/umd/init.js +26 -0
  283. package/browser/Core/Utils/FrameManager.js +0 -42
  284. package/browser/Core/Utils/Plugins.js +0 -112
  285. package/browser/Options/Interfaces/Particles/Shape/IShapeValues.js +0 -1
  286. package/browser/Options/Interfaces/Particles/Shape/IStarShape.js +0 -1
  287. package/browser/engine.js +0 -175
  288. package/cjs/Core/Utils/FrameManager.js +0 -46
  289. package/cjs/Core/Utils/Plugins.js +0 -116
  290. package/cjs/Options/Interfaces/Particles/Shape/ICharacterShape.js +0 -2
  291. package/cjs/Options/Interfaces/Particles/Shape/IImageShape.js +0 -2
  292. package/cjs/Options/Interfaces/Particles/Shape/IPolygonShape.js +0 -2
  293. package/cjs/Options/Interfaces/Particles/Shape/IShapeValues.js +0 -17
  294. package/cjs/Options/Interfaces/Particles/Shape/IStarShape.js +0 -2
  295. package/cjs/engine.js +0 -179
  296. package/esm/Core/Interfaces/IParticleOverride.js +0 -1
  297. package/esm/Core/Interfaces/IParticlesMover.js +0 -1
  298. package/esm/Core/Utils/FrameManager.js +0 -42
  299. package/esm/Core/Utils/Plugins.js +0 -112
  300. package/esm/Enums/Modes/SizeMode.js +0 -1
  301. package/esm/Options/Interfaces/Particles/Shape/ICharacterShape.js +0 -1
  302. package/esm/Options/Interfaces/Particles/Shape/IImageShape.js +0 -1
  303. package/esm/Options/Interfaces/Particles/Shape/IPolygonShape.js +0 -1
  304. package/esm/Options/Interfaces/Particles/Shape/IShapeValues.js +0 -1
  305. package/esm/Options/Interfaces/Particles/Shape/IStarShape.js +0 -1
  306. package/esm/engine.js +0 -175
  307. package/types/Core/Interfaces/IParticleOverride.d.ts +0 -6
  308. package/types/Core/Interfaces/IParticlesMover.d.ts +0 -7
  309. package/types/Core/Utils/FrameManager.d.ts +0 -6
  310. package/types/Core/Utils/Plugins.d.ts +0 -51
  311. package/types/Options/Interfaces/Particles/Shape/ICharacterShape.d.ts +0 -8
  312. package/types/Options/Interfaces/Particles/Shape/IImageShape.d.ts +0 -8
  313. package/types/Options/Interfaces/Particles/Shape/IPolygonShape.d.ts +0 -5
  314. package/types/Options/Interfaces/Particles/Shape/IShapeValues.d.ts +0 -1
  315. package/types/Options/Interfaces/Particles/Shape/IStarShape.d.ts +0 -6
  316. package/types/engine.d.ts +0 -39
  317. package/umd/Core/Utils/FrameManager.js +0 -56
  318. package/umd/Core/Utils/Plugins.js +0 -126
  319. package/umd/Options/Interfaces/Particles/Shape/ICharacterShape.js +0 -12
  320. package/umd/Options/Interfaces/Particles/Shape/IImageShape.js +0 -12
  321. package/umd/Options/Interfaces/Particles/Shape/IPolygonShape.js +0 -12
  322. package/umd/Options/Interfaces/Particles/Shape/IShapeValues.js +0 -27
  323. package/umd/Options/Interfaces/Particles/Shape/IStarShape.js +0 -12
  324. package/umd/engine.js +0 -189
  325. /package/browser/{Core/Interfaces/IParticleOverride.js → Enums/Modes/AnimationMode.js} +0 -0
  326. /package/browser/{Core/Interfaces/IParticlesMover.js → Enums/Modes/PixelMode.js} +0 -0
  327. /package/browser/{Enums/Modes/SizeMode.js → Types/ExportResult.js} +0 -0
  328. /package/cjs/{Core/Interfaces/IParticleOverride.js → Enums/Modes/AnimationMode.js} +0 -0
  329. /package/cjs/{Core/Interfaces/IParticlesMover.js → Enums/Modes/PixelMode.js} +0 -0
  330. /package/cjs/{Enums/Modes/SizeMode.js → Types/ExportResult.js} +0 -0
  331. /package/{browser/Options/Interfaces/Particles/Shape/ICharacterShape.js → esm/Enums/Modes/AnimationMode.js} +0 -0
  332. /package/{browser/Options/Interfaces/Particles/Shape/IImageShape.js → esm/Enums/Modes/PixelMode.js} +0 -0
  333. /package/{browser/Options/Interfaces/Particles/Shape/IPolygonShape.js → esm/Types/ExportResult.js} +0 -0
  334. /package/umd/{Core/Interfaces/IParticleOverride.js → Enums/Modes/AnimationMode.js} +0 -0
  335. /package/umd/{Core/Interfaces/IParticlesMover.js → Enums/Modes/PixelMode.js} +0 -0
  336. /package/umd/{Enums/Modes/SizeMode.js → Types/ExportResult.js} +0 -0
@@ -1,13 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseAlpha = exports.calcExactPositionOrRandomFromSizeRanged = exports.calcExactPositionOrRandomFromSize = exports.calcPositionOrRandomFromSizeRanged = exports.calcPositionOrRandomFromSize = exports.calcPositionFromSize = exports.collisionVelocity = exports.getParticleBaseVelocity = exports.getParticleDirectionAngle = exports.getDistance = exports.getDistances = exports.getValue = exports.setRangeValue = exports.getRangeMax = exports.getRangeMin = exports.getRangeValue = exports.randomInRange = exports.mix = exports.clamp = exports.getRandom = exports.setRandom = exports.getEasing = exports.addEasing = void 0;
4
+ const Utils_1 = require("./Utils");
4
5
  const Vector_1 = require("../Core/Utils/Vector");
5
6
  let _random = Math.random;
6
7
  const easings = new Map();
7
8
  function addEasing(name, easing) {
8
- if (!easings.get(name)) {
9
- easings.set(name, easing);
9
+ if (easings.get(name)) {
10
+ return;
10
11
  }
12
+ easings.set(name, easing);
11
13
  }
12
14
  exports.addEasing = addEasing;
13
15
  function getEasing(name) {
@@ -40,19 +42,19 @@ function randomInRange(r) {
40
42
  }
41
43
  exports.randomInRange = randomInRange;
42
44
  function getRangeValue(value) {
43
- return typeof value === "number" ? value : randomInRange(value);
45
+ return (0, Utils_1.isNumber)(value) ? value : randomInRange(value);
44
46
  }
45
47
  exports.getRangeValue = getRangeValue;
46
48
  function getRangeMin(value) {
47
- return typeof value === "number" ? value : value.min;
49
+ return (0, Utils_1.isNumber)(value) ? value : value.min;
48
50
  }
49
51
  exports.getRangeMin = getRangeMin;
50
52
  function getRangeMax(value) {
51
- return typeof value === "number" ? value : value.max;
53
+ return (0, Utils_1.isNumber)(value) ? value : value.max;
52
54
  }
53
55
  exports.getRangeMax = getRangeMax;
54
56
  function setRangeValue(source, value) {
55
- if (source === value || (value === undefined && typeof source === "number")) {
57
+ if (source === value || (value === undefined && (0, Utils_1.isNumber)(source))) {
56
58
  return source;
57
59
  }
58
60
  const min = getRangeMin(source), max = getRangeMax(source);
@@ -65,7 +67,7 @@ function setRangeValue(source, value) {
65
67
  }
66
68
  exports.setRangeValue = setRangeValue;
67
69
  function getValue(options) {
68
- const random = options.random, { enable, minimumValue } = typeof random === "boolean"
70
+ const random = options.random, { enable, minimumValue } = (0, Utils_1.isBoolean)(random)
69
71
  ? {
70
72
  enable: random,
71
73
  minimumValue: 0,
@@ -84,34 +86,32 @@ function getDistance(pointA, pointB) {
84
86
  }
85
87
  exports.getDistance = getDistance;
86
88
  function getParticleDirectionAngle(direction, position, center) {
87
- if (typeof direction === "number") {
89
+ if ((0, Utils_1.isNumber)(direction)) {
88
90
  return (direction * Math.PI) / 180;
89
91
  }
90
- else {
91
- switch (direction) {
92
- case "top":
93
- return -Math.PI / 2;
94
- case "top-right":
95
- return -Math.PI / 4;
96
- case "right":
97
- return 0;
98
- case "bottom-right":
99
- return Math.PI / 4;
100
- case "bottom":
101
- return Math.PI / 2;
102
- case "bottom-left":
103
- return (3 * Math.PI) / 4;
104
- case "left":
105
- return Math.PI;
106
- case "top-left":
107
- return (-3 * Math.PI) / 4;
108
- case "inside":
109
- return Math.atan2(center.y - position.y, center.x - position.x);
110
- case "outside":
111
- return Math.atan2(position.y - center.y, position.x - center.x);
112
- default:
113
- return getRandom() * Math.PI * 2;
114
- }
92
+ switch (direction) {
93
+ case "top":
94
+ return -Math.PI / 2;
95
+ case "top-right":
96
+ return -Math.PI / 4;
97
+ case "right":
98
+ return 0;
99
+ case "bottom-right":
100
+ return Math.PI / 4;
101
+ case "bottom":
102
+ return Math.PI / 2;
103
+ case "bottom-left":
104
+ return (3 * Math.PI) / 4;
105
+ case "left":
106
+ return Math.PI;
107
+ case "top-left":
108
+ return (-3 * Math.PI) / 4;
109
+ case "inside":
110
+ return Math.atan2(center.y - position.y, center.x - position.x);
111
+ case "outside":
112
+ return Math.atan2(position.y - center.y, position.x - center.x);
113
+ default:
114
+ return getRandom() * Math.PI * 2;
115
115
  }
116
116
  }
117
117
  exports.getParticleDirectionAngle = getParticleDirectionAngle;
@@ -136,35 +136,31 @@ function calcPositionFromSize(data) {
136
136
  }
137
137
  exports.calcPositionFromSize = calcPositionFromSize;
138
138
  function calcPositionOrRandomFromSize(data) {
139
- var _a, _b, _c, _d;
140
139
  return {
141
- x: (((_b = (_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : getRandom() * 100) * data.size.width) / 100,
142
- y: (((_d = (_c = data.position) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : getRandom() * 100) * data.size.height) / 100,
140
+ x: ((data.position?.x ?? getRandom() * 100) * data.size.width) / 100,
141
+ y: ((data.position?.y ?? getRandom() * 100) * data.size.height) / 100,
143
142
  };
144
143
  }
145
144
  exports.calcPositionOrRandomFromSize = calcPositionOrRandomFromSize;
146
145
  function calcPositionOrRandomFromSizeRanged(data) {
147
- var _a, _b;
148
146
  const position = {
149
- x: ((_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== undefined ? getRangeValue(data.position.x) : undefined,
150
- y: ((_b = data.position) === null || _b === void 0 ? void 0 : _b.y) !== undefined ? getRangeValue(data.position.y) : undefined,
147
+ x: data.position?.x !== undefined ? getRangeValue(data.position.x) : undefined,
148
+ y: data.position?.y !== undefined ? getRangeValue(data.position.y) : undefined,
151
149
  };
152
150
  return calcPositionOrRandomFromSize({ size: data.size, position });
153
151
  }
154
152
  exports.calcPositionOrRandomFromSizeRanged = calcPositionOrRandomFromSizeRanged;
155
153
  function calcExactPositionOrRandomFromSize(data) {
156
- var _a, _b, _c, _d;
157
154
  return {
158
- x: (_b = (_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : getRandom() * data.size.width,
159
- y: (_d = (_c = data.position) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : getRandom() * data.size.height,
155
+ x: data.position?.x ?? getRandom() * data.size.width,
156
+ y: data.position?.y ?? getRandom() * data.size.height,
160
157
  };
161
158
  }
162
159
  exports.calcExactPositionOrRandomFromSize = calcExactPositionOrRandomFromSize;
163
160
  function calcExactPositionOrRandomFromSizeRanged(data) {
164
- var _a, _b;
165
161
  const position = {
166
- x: ((_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== undefined ? getRangeValue(data.position.x) : undefined,
167
- y: ((_b = data.position) === null || _b === void 0 ? void 0 : _b.y) !== undefined ? getRangeValue(data.position.y) : undefined,
162
+ x: data.position?.x !== undefined ? getRangeValue(data.position.x) : undefined,
163
+ y: data.position?.y !== undefined ? getRangeValue(data.position.y) : undefined,
168
164
  };
169
165
  return calcExactPositionOrRandomFromSize({ size: data.size, position });
170
166
  }
@@ -8,15 +8,13 @@ class RgbColorManager {
8
8
  this.stringPrefix = "rgb";
9
9
  }
10
10
  handleColor(color) {
11
- var _a;
12
- const colorValue = color.value, rgbColor = (_a = colorValue.rgb) !== null && _a !== void 0 ? _a : color.value;
11
+ const colorValue = color.value, rgbColor = colorValue.rgb ?? color.value;
13
12
  if (rgbColor.r !== undefined) {
14
13
  return rgbColor;
15
14
  }
16
15
  }
17
16
  handleRangeColor(color) {
18
- var _a;
19
- const colorValue = color.value, rgbColor = (_a = colorValue.rgb) !== null && _a !== void 0 ? _a : color.value;
17
+ const colorValue = color.value, rgbColor = colorValue.rgb ?? color.value;
20
18
  if (rgbColor.r !== undefined) {
21
19
  return {
22
20
  r: (0, NumberUtils_1.getRangeValue)(rgbColor.r),
@@ -1,10 +1,31 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initParticleNumericAnimationValue = exports.findItemFromSingleOrMultiple = exports.itemFromSingleOrMultiple = exports.executeOnSingleOrMultiple = exports.rectBounce = exports.circleBounce = exports.circleBounceDataFromParticle = exports.divMode = exports.singleDivModeExecute = exports.divModeExecute = exports.isDivModeEnabled = exports.deepExtend = exports.calculateBounds = exports.areBoundsInside = exports.isPointInside = exports.itemFromArray = exports.arrayRandomIndex = exports.loadFont = exports.isInArray = exports.cancelAnimation = exports.animate = exports.safeMatchMedia = exports.hasMatchMedia = exports.isSsr = void 0;
3
+ exports.isArray = exports.isObject = exports.isFunction = exports.isNumber = exports.isString = exports.isBoolean = exports.getSize = exports.getPosition = exports.initParticleNumericAnimationValue = exports.findItemFromSingleOrMultiple = exports.itemFromSingleOrMultiple = exports.executeOnSingleOrMultiple = exports.rectBounce = exports.circleBounce = exports.circleBounceDataFromParticle = exports.divMode = exports.singleDivModeExecute = exports.divModeExecute = exports.isDivModeEnabled = exports.deepExtend = exports.calculateBounds = exports.areBoundsInside = exports.isPointInside = exports.itemFromArray = exports.arrayRandomIndex = exports.loadFont = exports.isInArray = exports.safeMutationObserver = exports.safeMatchMedia = exports.hasMatchMedia = exports.isSsr = exports.getLogger = exports.setLogger = void 0;
4
4
  const NumberUtils_1 = require("./NumberUtils");
5
5
  const Vector_1 = require("../Core/Utils/Vector");
6
- function rectSideBounce(pSide, pOtherSide, rectSide, rectOtherSide, velocity, factor) {
7
- const res = { bounced: false };
6
+ const _logger = {
7
+ debug: console.debug,
8
+ error: console.error,
9
+ info: console.info,
10
+ log: console.log,
11
+ verbose: console.log,
12
+ warning: console.warn,
13
+ };
14
+ function setLogger(logger) {
15
+ _logger.debug = logger.debug || _logger.debug;
16
+ _logger.error = logger.error || _logger.error;
17
+ _logger.info = logger.info || _logger.info;
18
+ _logger.log = logger.log || _logger.log;
19
+ _logger.verbose = logger.verbose || _logger.verbose;
20
+ _logger.warning = logger.warning || _logger.warning;
21
+ }
22
+ exports.setLogger = setLogger;
23
+ function getLogger() {
24
+ return _logger;
25
+ }
26
+ exports.getLogger = getLogger;
27
+ function rectSideBounce(data) {
28
+ const res = { bounced: false }, { pSide, pOtherSide, rectSide, rectOtherSide, velocity, factor } = data;
8
29
  if (pOtherSide.min < rectOtherSide.min ||
9
30
  pOtherSide.min > rectOtherSide.max ||
10
31
  pOtherSide.max < rectOtherSide.min ||
@@ -22,7 +43,7 @@ function checkSelector(element, selectors) {
22
43
  const res = executeOnSingleOrMultiple(selectors, (selector) => {
23
44
  return element.matches(selector);
24
45
  });
25
- return res instanceof Array ? res.some((t) => t) : res;
46
+ return isArray(res) ? res.some((t) => t) : res;
26
47
  }
27
48
  function isSsr() {
28
49
  return typeof window === "undefined" || !window || typeof window.document === "undefined" || !window.document;
@@ -39,27 +60,22 @@ function safeMatchMedia(query) {
39
60
  return matchMedia(query);
40
61
  }
41
62
  exports.safeMatchMedia = safeMatchMedia;
42
- function animate() {
43
- return isSsr()
44
- ? (callback) => setTimeout(callback)
45
- : (callback) => (requestAnimationFrame || setTimeout)(callback);
46
- }
47
- exports.animate = animate;
48
- function cancelAnimation() {
49
- return isSsr()
50
- ? (handle) => clearTimeout(handle)
51
- : (handle) => (cancelAnimationFrame || clearTimeout)(handle);
52
- }
53
- exports.cancelAnimation = cancelAnimation;
63
+ function safeMutationObserver(callback) {
64
+ if (isSsr() || typeof MutationObserver === "undefined") {
65
+ return;
66
+ }
67
+ return new MutationObserver(callback);
68
+ }
69
+ exports.safeMutationObserver = safeMutationObserver;
54
70
  function isInArray(value, array) {
55
- return value === array || (array instanceof Array && array.indexOf(value) > -1);
71
+ return value === array || (isArray(array) && array.indexOf(value) > -1);
56
72
  }
57
73
  exports.isInArray = isInArray;
58
74
  async function loadFont(font, weight) {
59
75
  try {
60
- await document.fonts.load(`${weight !== null && weight !== void 0 ? weight : "400"} 36px '${font !== null && font !== void 0 ? font : "Verdana"}'`);
76
+ await document.fonts.load(`${weight ?? "400"} 36px '${font ?? "Verdana"}'`);
61
77
  }
62
- catch (_a) {
78
+ catch {
63
79
  }
64
80
  }
65
81
  exports.loadFont = loadFont;
@@ -72,7 +88,7 @@ function itemFromArray(array, index, useIndex = true) {
72
88
  }
73
89
  exports.itemFromArray = itemFromArray;
74
90
  function isPointInside(point, size, offset, radius, direction) {
75
- return areBoundsInside(calculateBounds(point, radius !== null && radius !== void 0 ? radius : 0), size, offset, direction);
91
+ return areBoundsInside(calculateBounds(point, radius ?? 0), size, offset, direction);
76
92
  }
77
93
  exports.isPointInside = isPointInside;
78
94
  function areBoundsInside(bounds, size, offset, direction) {
@@ -106,24 +122,24 @@ function deepExtend(destination, ...sources) {
106
122
  if (source === undefined || source === null) {
107
123
  continue;
108
124
  }
109
- if (typeof source !== "object") {
125
+ if (!isObject(source)) {
110
126
  destination = source;
111
127
  continue;
112
128
  }
113
129
  const sourceIsArray = Array.isArray(source);
114
- if (sourceIsArray && (typeof destination !== "object" || !destination || !Array.isArray(destination))) {
130
+ if (sourceIsArray && (isObject(destination) || !destination || !Array.isArray(destination))) {
115
131
  destination = [];
116
132
  }
117
- else if (!sourceIsArray && (typeof destination !== "object" || !destination || Array.isArray(destination))) {
133
+ else if (!sourceIsArray && (isObject(destination) || !destination || Array.isArray(destination))) {
118
134
  destination = {};
119
135
  }
120
136
  for (const key in source) {
121
137
  if (key === "__proto__") {
122
138
  continue;
123
139
  }
124
- const sourceDict = source, value = sourceDict[key], isObject = typeof value === "object", destDict = destination;
140
+ const sourceDict = source, value = sourceDict[key], destDict = destination;
125
141
  destDict[key] =
126
- isObject && Array.isArray(value)
142
+ isObject(value) && Array.isArray(value)
127
143
  ? value.map((v) => deepExtend(destDict[key], v))
128
144
  : deepExtend(destDict[key], value);
129
145
  }
@@ -184,18 +200,25 @@ function circleBounce(p1, p2) {
184
200
  exports.circleBounce = circleBounce;
185
201
  function rectBounce(particle, divBounds) {
186
202
  const pPos = particle.getPosition(), size = particle.getRadius(), bounds = calculateBounds(pPos, size), resH = rectSideBounce({
187
- min: bounds.left,
188
- max: bounds.right,
189
- }, {
190
- min: bounds.top,
191
- max: bounds.bottom,
192
- }, {
193
- min: divBounds.left,
194
- max: divBounds.right,
195
- }, {
196
- min: divBounds.top,
197
- max: divBounds.bottom,
198
- }, particle.velocity.x, (0, NumberUtils_1.getValue)(particle.options.bounce.horizontal));
203
+ pSide: {
204
+ min: bounds.left,
205
+ max: bounds.right,
206
+ },
207
+ pOtherSide: {
208
+ min: bounds.top,
209
+ max: bounds.bottom,
210
+ },
211
+ rectSide: {
212
+ min: divBounds.left,
213
+ max: divBounds.right,
214
+ },
215
+ rectOtherSide: {
216
+ min: divBounds.top,
217
+ max: divBounds.bottom,
218
+ },
219
+ velocity: particle.velocity.x,
220
+ factor: (0, NumberUtils_1.getValue)(particle.options.bounce.horizontal),
221
+ });
199
222
  if (resH.bounced) {
200
223
  if (resH.velocity !== undefined) {
201
224
  particle.velocity.x = resH.velocity;
@@ -205,18 +228,25 @@ function rectBounce(particle, divBounds) {
205
228
  }
206
229
  }
207
230
  const resV = rectSideBounce({
208
- min: bounds.top,
209
- max: bounds.bottom,
210
- }, {
211
- min: bounds.left,
212
- max: bounds.right,
213
- }, {
214
- min: divBounds.top,
215
- max: divBounds.bottom,
216
- }, {
217
- min: divBounds.left,
218
- max: divBounds.right,
219
- }, particle.velocity.y, (0, NumberUtils_1.getValue)(particle.options.bounce.vertical));
231
+ pSide: {
232
+ min: bounds.top,
233
+ max: bounds.bottom,
234
+ },
235
+ pOtherSide: {
236
+ min: bounds.left,
237
+ max: bounds.right,
238
+ },
239
+ rectSide: {
240
+ min: divBounds.top,
241
+ max: divBounds.bottom,
242
+ },
243
+ rectOtherSide: {
244
+ min: divBounds.left,
245
+ max: divBounds.right,
246
+ },
247
+ velocity: particle.velocity.y,
248
+ factor: (0, NumberUtils_1.getValue)(particle.options.bounce.vertical),
249
+ });
220
250
  if (resV.bounced) {
221
251
  if (resV.velocity !== undefined) {
222
252
  particle.velocity.y = resV.velocity;
@@ -228,43 +258,61 @@ function rectBounce(particle, divBounds) {
228
258
  }
229
259
  exports.rectBounce = rectBounce;
230
260
  function executeOnSingleOrMultiple(obj, callback) {
231
- return obj instanceof Array ? obj.map((item, index) => callback(item, index)) : callback(obj, 0);
261
+ return isArray(obj) ? obj.map((item, index) => callback(item, index)) : callback(obj, 0);
232
262
  }
233
263
  exports.executeOnSingleOrMultiple = executeOnSingleOrMultiple;
234
264
  function itemFromSingleOrMultiple(obj, index, useIndex) {
235
- return obj instanceof Array ? itemFromArray(obj, index, useIndex) : obj;
265
+ return isArray(obj) ? itemFromArray(obj, index, useIndex) : obj;
236
266
  }
237
267
  exports.itemFromSingleOrMultiple = itemFromSingleOrMultiple;
238
268
  function findItemFromSingleOrMultiple(obj, callback) {
239
- return obj instanceof Array ? obj.find((t, index) => callback(t, index)) : callback(obj, 0) ? obj : undefined;
269
+ return isArray(obj) ? obj.find((t, index) => callback(t, index)) : callback(obj, 0) ? obj : undefined;
240
270
  }
241
271
  exports.findItemFromSingleOrMultiple = findItemFromSingleOrMultiple;
242
272
  function initParticleNumericAnimationValue(options, pxRatio) {
243
- const valueRange = options.value, animationOptions = options.animation;
244
- const res = {
245
- enable: options.animation.enable,
273
+ const valueRange = options.value, animationOptions = options.animation, res = {
274
+ delayTime: (0, NumberUtils_1.getRangeValue)(animationOptions.delay) * 1000,
275
+ enable: animationOptions.enable,
246
276
  value: (0, NumberUtils_1.getRangeValue)(options.value) * pxRatio,
247
277
  max: (0, NumberUtils_1.getRangeMax)(valueRange) * pxRatio,
248
278
  min: (0, NumberUtils_1.getRangeMin)(valueRange) * pxRatio,
249
279
  loops: 0,
250
- maxLoops: (0, NumberUtils_1.getRangeValue)(options.animation.count),
280
+ maxLoops: (0, NumberUtils_1.getRangeValue)(animationOptions.count),
281
+ time: 0,
251
282
  };
252
283
  if (animationOptions.enable) {
253
- res.status = "increasing";
254
284
  res.decay = 1 - (0, NumberUtils_1.getRangeValue)(animationOptions.decay);
255
- switch (animationOptions.startValue) {
256
- case "min":
257
- res.value = res.min;
285
+ switch (animationOptions.mode) {
286
+ case "increase":
258
287
  res.status = "increasing";
259
288
  break;
289
+ case "decrease":
290
+ res.status = "decreasing";
291
+ break;
260
292
  case "random":
261
- res.value = (0, NumberUtils_1.randomInRange)(res);
262
293
  res.status = (0, NumberUtils_1.getRandom)() >= 0.5 ? "increasing" : "decreasing";
263
294
  break;
295
+ }
296
+ const autoStatus = animationOptions.mode === "auto";
297
+ switch (animationOptions.startValue) {
298
+ case "min":
299
+ res.value = res.min;
300
+ if (autoStatus) {
301
+ res.status = "increasing";
302
+ }
303
+ break;
264
304
  case "max":
265
- default:
266
305
  res.value = res.max;
267
- res.status = "decreasing";
306
+ if (autoStatus) {
307
+ res.status = "decreasing";
308
+ }
309
+ break;
310
+ case "random":
311
+ default:
312
+ res.value = (0, NumberUtils_1.randomInRange)(res);
313
+ if (autoStatus) {
314
+ res.status = (0, NumberUtils_1.getRandom)() >= 0.5 ? "increasing" : "decreasing";
315
+ }
268
316
  break;
269
317
  }
270
318
  }
@@ -272,3 +320,55 @@ function initParticleNumericAnimationValue(options, pxRatio) {
272
320
  return res;
273
321
  }
274
322
  exports.initParticleNumericAnimationValue = initParticleNumericAnimationValue;
323
+ function getPositionOrSize(positionOrSize, canvasSize) {
324
+ const isPercent = positionOrSize.mode === "percent";
325
+ if (!isPercent) {
326
+ const { mode: _, ...rest } = positionOrSize;
327
+ return rest;
328
+ }
329
+ const isPosition = "x" in positionOrSize;
330
+ if (isPosition) {
331
+ return {
332
+ x: (positionOrSize.x / 100) * canvasSize.width,
333
+ y: (positionOrSize.y / 100) * canvasSize.height,
334
+ };
335
+ }
336
+ else {
337
+ return {
338
+ width: (positionOrSize.width / 100) * canvasSize.width,
339
+ height: (positionOrSize.height / 100) * canvasSize.height,
340
+ };
341
+ }
342
+ }
343
+ function getPosition(position, canvasSize) {
344
+ return getPositionOrSize(position, canvasSize);
345
+ }
346
+ exports.getPosition = getPosition;
347
+ function getSize(size, canvasSize) {
348
+ return getPositionOrSize(size, canvasSize);
349
+ }
350
+ exports.getSize = getSize;
351
+ function isBoolean(arg) {
352
+ return typeof arg === "boolean";
353
+ }
354
+ exports.isBoolean = isBoolean;
355
+ function isString(arg) {
356
+ return typeof arg === "string";
357
+ }
358
+ exports.isString = isString;
359
+ function isNumber(arg) {
360
+ return typeof arg === "number";
361
+ }
362
+ exports.isNumber = isNumber;
363
+ function isFunction(arg) {
364
+ return typeof arg === "function";
365
+ }
366
+ exports.isFunction = isFunction;
367
+ function isObject(arg) {
368
+ return typeof arg === "object" && arg !== null;
369
+ }
370
+ exports.isObject = isObject;
371
+ function isArray(arg) {
372
+ return Array.isArray(arg);
373
+ }
374
+ exports.isArray = isArray;
package/cjs/bundle.js CHANGED
@@ -15,100 +15,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.tsParticles = void 0;
18
- const engine_1 = require("./engine");
19
- const HslColorManager_1 = require("./Utils/HslColorManager");
20
- const RgbColorManager_1 = require("./Utils/RgbColorManager");
21
- const ColorUtils_1 = require("./Utils/ColorUtils");
22
- const rgbColorManager = new RgbColorManager_1.RgbColorManager(), hslColorManager = new HslColorManager_1.HslColorManager();
23
- (0, ColorUtils_1.addColorManager)(rgbColorManager);
24
- (0, ColorUtils_1.addColorManager)(hslColorManager);
25
- const tsParticles = new engine_1.Engine();
18
+ const init_1 = require("./init");
19
+ const tsParticles = (0, init_1.init)();
26
20
  exports.tsParticles = tsParticles;
27
- __exportStar(require("./Core/Utils/Circle"), exports);
28
- __exportStar(require("./Core/Utils/Constants"), exports);
29
- __exportStar(require("./Core/Utils/ExternalInteractorBase"), exports);
30
- __exportStar(require("./Core/Utils/ParticlesInteractorBase"), exports);
31
- __exportStar(require("./Core/Utils/Point"), exports);
32
- __exportStar(require("./Core/Utils/Range"), exports);
33
- __exportStar(require("./Core/Utils/Rectangle"), exports);
34
- __exportStar(require("./Core/Utils/Vector"), exports);
35
- __exportStar(require("./Core/Utils/Vector3d"), exports);
36
- __exportStar(require("./Enums/Directions/MoveDirection"), exports);
37
- __exportStar(require("./Enums/Directions/RotateDirection"), exports);
38
- __exportStar(require("./Enums/Directions/OutModeDirection"), exports);
39
- __exportStar(require("./Enums/Modes/ClickMode"), exports);
40
- __exportStar(require("./Enums/Modes/DivMode"), exports);
41
- __exportStar(require("./Enums/Modes/HoverMode"), exports);
42
- __exportStar(require("./Enums/Modes/CollisionMode"), exports);
43
- __exportStar(require("./Enums/Modes/OutMode"), exports);
44
- __exportStar(require("./Enums/Modes/SizeMode"), exports);
45
- __exportStar(require("./Enums/Modes/ThemeMode"), exports);
46
- __exportStar(require("./Enums/Modes/ResponsiveMode"), exports);
47
- __exportStar(require("./Enums/Types/AlterType"), exports);
48
- __exportStar(require("./Enums/Types/DestroyType"), exports);
49
- __exportStar(require("./Enums/Types/GradientType"), exports);
50
- __exportStar(require("./Enums/Types/InteractorType"), exports);
51
- __exportStar(require("./Enums/Types/ParticleOutType"), exports);
52
- __exportStar(require("./Enums/Types/StartValueType"), exports);
53
- __exportStar(require("./Enums/Types/DivType"), exports);
54
- __exportStar(require("./Enums/Types/EasingType"), exports);
55
- __exportStar(require("./Enums/AnimationStatus"), exports);
56
- __exportStar(require("./Enums/InteractivityDetect"), exports);
57
- __exportStar(require("./Options/Classes/AnimatableColor"), exports);
58
- __exportStar(require("./Options/Classes/AnimationOptions"), exports);
59
- __exportStar(require("./Options/Classes/Background/Background"), exports);
60
- __exportStar(require("./Options/Classes/BackgroundMask/BackgroundMask"), exports);
61
- __exportStar(require("./Options/Classes/BackgroundMask/BackgroundMaskCover"), exports);
62
- __exportStar(require("./Options/Classes/ColorAnimation"), exports);
63
- __exportStar(require("./Options/Classes/FullScreen/FullScreen"), exports);
64
- __exportStar(require("./Options/Classes/HslAnimation"), exports);
65
- __exportStar(require("./Options/Classes/Interactivity/Events/ClickEvent"), exports);
66
- __exportStar(require("./Options/Classes/Interactivity/Events/DivEvent"), exports);
67
- __exportStar(require("./Options/Classes/Interactivity/Events/ClickEvent"), exports);
68
- __exportStar(require("./Options/Classes/Interactivity/Events/DivEvent"), exports);
69
- __exportStar(require("./Options/Classes/Interactivity/Events/Events"), exports);
70
- __exportStar(require("./Options/Classes/Interactivity/Events/HoverEvent"), exports);
71
- __exportStar(require("./Options/Classes/Interactivity/Events/Parallax"), exports);
72
- __exportStar(require("./Options/Classes/Interactivity/Events/ResizeEvent"), exports);
73
- __exportStar(require("./Options/Classes/Interactivity/Interactivity"), exports);
74
- __exportStar(require("./Options/Classes/Interactivity/Modes/Modes"), exports);
75
- __exportStar(require("./Options/Classes/ManualParticle"), exports);
76
- __exportStar(require("./Options/Classes/Options"), exports);
77
- __exportStar(require("./Options/Classes/OptionsColor"), exports);
78
- __exportStar(require("./Options/Classes/Particles/Bounce/ParticlesBounce"), exports);
79
- __exportStar(require("./Options/Classes/Particles/Bounce/ParticlesBounceFactor"), exports);
80
- __exportStar(require("./Options/Classes/Particles/Collisions/Collisions"), exports);
81
- __exportStar(require("./Options/Classes/Particles/Collisions/CollisionsAbsorb"), exports);
82
- __exportStar(require("./Options/Classes/Particles/Collisions/CollisionsOverlap"), exports);
83
- __exportStar(require("./Options/Classes/Particles/ParticlesOptions"), exports);
84
- __exportStar(require("./Options/Classes/Particles/Shadow"), exports);
85
- __exportStar(require("./Options/Classes/Particles/Stroke"), exports);
86
- __exportStar(require("./Options/Classes/Particles/Move/MoveAttract"), exports);
87
- __exportStar(require("./Options/Classes/Particles/Move/Move"), exports);
88
- __exportStar(require("./Options/Classes/Particles/Move/MoveAngle"), exports);
89
- __exportStar(require("./Options/Classes/Particles/Move/MoveCenter"), exports);
90
- __exportStar(require("./Options/Classes/Particles/Move/MoveGravity"), exports);
91
- __exportStar(require("./Options/Classes/Particles/Move/MoveTrail"), exports);
92
- __exportStar(require("./Options/Classes/Particles/Move/MoveTrailFill"), exports);
93
- __exportStar(require("./Options/Classes/Particles/Move/OutModes"), exports);
94
- __exportStar(require("./Options/Classes/Particles/Move/Path/MovePath"), exports);
95
- __exportStar(require("./Options/Classes/Particles/Move/Spin"), exports);
96
- __exportStar(require("./Options/Classes/Particles/Number/ParticlesNumber"), exports);
97
- __exportStar(require("./Options/Classes/Particles/Number/ParticlesDensity"), exports);
98
- __exportStar(require("./Options/Classes/Particles/Opacity/Opacity"), exports);
99
- __exportStar(require("./Options/Classes/Particles/Opacity/OpacityAnimation"), exports);
100
- __exportStar(require("./Options/Classes/Particles/Shape/Shape"), exports);
101
- __exportStar(require("./Options/Classes/Particles/Size/Size"), exports);
102
- __exportStar(require("./Options/Classes/Particles/Size/SizeAnimation"), exports);
103
- __exportStar(require("./Options/Classes/Particles/ZIndex/ZIndex"), exports);
104
- __exportStar(require("./Options/Classes/Responsive"), exports);
105
- __exportStar(require("./Options/Classes/Theme/Theme"), exports);
106
- __exportStar(require("./Options/Classes/Theme/ThemeDefault"), exports);
107
- __exportStar(require("./Options/Classes/ValueWithRandom"), exports);
108
- __exportStar(require("./Utils/CanvasUtils"), exports);
109
- __exportStar(require("./Utils/ColorUtils"), exports);
110
- __exportStar(require("./Utils/HslColorManager"), exports);
111
- __exportStar(require("./Utils/NumberUtils"), exports);
112
- __exportStar(require("./Utils/OptionsUtils"), exports);
113
- __exportStar(require("./Utils/RgbColorManager"), exports);
114
- __exportStar(require("./Utils/Utils"), exports);
21
+ window.tsParticles = tsParticles;
22
+ __exportStar(require("./exports"), exports);