@tsparticles/engine 3.9.0 → 4.0.0-alpha.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 (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 +98 -17
  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
@@ -4,14 +4,13 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./Utils/Constants.js", "../Utils/Utils.js", "../Enums/Types/EventType.js", "./Utils/InteractionManager.js", "../Enums/Modes/LimitMode.js", "./Particle.js", "./Utils/Point.js", "./Utils/QuadTree.js", "./Utils/Ranges.js"], factory);
7
+ define(["require", "exports", "./Utils/Constants.js", "../Enums/Types/EventType.js", "./Utils/InteractionManager.js", "../Enums/Modes/LimitMode.js", "./Particle.js", "./Utils/Point.js", "./Utils/QuadTree.js", "./Utils/Ranges.js", "../Utils/LogUtils.js", "../Utils/Utils.js", "../Utils/OptionsUtils.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Particles = void 0;
13
13
  const Constants_js_1 = require("./Utils/Constants.js");
14
- const Utils_js_1 = require("../Utils/Utils.js");
15
14
  const EventType_js_1 = require("../Enums/Types/EventType.js");
16
15
  const InteractionManager_js_1 = require("./Utils/InteractionManager.js");
17
16
  const LimitMode_js_1 = require("../Enums/Modes/LimitMode.js");
@@ -19,6 +18,9 @@
19
18
  const Point_js_1 = require("./Utils/Point.js");
20
19
  const QuadTree_js_1 = require("./Utils/QuadTree.js");
21
20
  const Ranges_js_1 = require("./Utils/Ranges.js");
21
+ const LogUtils_js_1 = require("../Utils/LogUtils.js");
22
+ const Utils_js_1 = require("../Utils/Utils.js");
23
+ const OptionsUtils_js_1 = require("../Utils/OptionsUtils.js");
22
24
  const qTreeRectangle = (canvasSize) => {
23
25
  const { height, width } = canvasSize;
24
26
  return new Ranges_js_1.Rectangle(Constants_js_1.posOffset * width, Constants_js_1.posOffset * height, Constants_js_1.sizeFactor * width, Constants_js_1.sizeFactor * height);
@@ -30,12 +32,12 @@
30
32
  };
31
33
  this._applyDensity = (options, manualCount, group, groupOptions) => {
32
34
  const numberOptions = options.number;
33
- if (!options.number.density?.enable) {
35
+ if (!numberOptions.density.enable) {
34
36
  if (group === undefined) {
35
37
  this._limit = numberOptions.limit.value;
36
38
  }
37
- else if (groupOptions?.number.limit?.value ?? numberOptions.limit.value) {
38
- this._groupLimits.set(group, groupOptions?.number.limit?.value ?? numberOptions.limit.value);
39
+ else if (groupOptions?.number.limit.value ?? numberOptions.limit.value) {
40
+ this._groupLimits.set(group, groupOptions?.number.limit.value ?? numberOptions.limit.value);
39
41
  }
40
42
  return;
41
43
  }
@@ -63,10 +65,7 @@
63
65
  };
64
66
  this._pushParticle = (position, overrideOptions, group, initializer) => {
65
67
  try {
66
- let particle = this._pool.pop();
67
- if (!particle) {
68
- particle = new Particle_js_1.Particle(this._engine, this._container);
69
- }
68
+ const particle = this._pool.pop() ?? new Particle_js_1.Particle(this._engine, this._container);
70
69
  particle.init(this._nextId, position, overrideOptions, group);
71
70
  let canAdd = true;
72
71
  if (initializer) {
@@ -87,12 +86,16 @@
87
86
  return particle;
88
87
  }
89
88
  catch (e) {
90
- (0, Utils_js_1.getLogger)().warning(`${Constants_js_1.errorPrefix} adding particle: ${e}`);
89
+ (0, LogUtils_js_1.getLogger)().warning(`error adding particle: ${e}`);
91
90
  }
91
+ return undefined;
92
92
  };
93
93
  this._removeParticle = (index, group, override) => {
94
94
  const particle = this._array[index];
95
- if (!particle || particle.group !== group) {
95
+ if (!particle) {
96
+ return false;
97
+ }
98
+ if (particle.group !== group) {
96
99
  return false;
97
100
  }
98
101
  const zIdx = this._zArray.indexOf(particle);
@@ -163,15 +166,9 @@
163
166
  this.movers = [];
164
167
  this.updaters = [];
165
168
  }
166
- draw(delta) {
167
- const container = this._container, canvas = container.canvas;
168
- canvas.clear();
169
- this.update(delta);
170
- for (const plugin of container.plugins.values()) {
171
- canvas.drawPlugin(plugin, delta);
172
- }
173
- for (const p of this._zArray) {
174
- p.draw(delta);
169
+ drawParticles(delta) {
170
+ for (const particle of this._zArray) {
171
+ particle.draw(delta);
175
172
  }
176
173
  }
177
174
  filter(condition) {
@@ -203,7 +200,10 @@
203
200
  const particlesOptions = options.particles, groups = particlesOptions.groups;
204
201
  for (const group in groups) {
205
202
  const groupOptions = groups[group];
206
- for (let i = this.count, j = 0; j < groupOptions.number?.value && i < particlesOptions.number.value; i++, j++) {
203
+ if (!groupOptions) {
204
+ continue;
205
+ }
206
+ for (let i = this.count, j = 0; j < groupOptions.number.value && i < particlesOptions.number.value; i++, j++) {
207
207
  this.addParticle(undefined, groupOptions, group);
208
208
  }
209
209
  }
@@ -232,7 +232,7 @@
232
232
  async redraw() {
233
233
  this.clear();
234
234
  await this.init();
235
- this.draw({ value: 0, factor: 0 });
235
+ this._container.canvas.drawParticles({ value: 0, factor: 0 });
236
236
  }
237
237
  remove(particle, group, override) {
238
238
  this.removeAt(this._array.indexOf(particle), undefined, group, override);
@@ -255,7 +255,12 @@
255
255
  setDensity() {
256
256
  const options = this._container.actualOptions, groups = options.particles.groups, manualCount = options.manualParticles.length;
257
257
  for (const group in groups) {
258
- this._applyDensity(groups[group], manualCount, group);
258
+ const groupData = groups[group];
259
+ if (!groupData) {
260
+ continue;
261
+ }
262
+ const groupDataOptions = (0, OptionsUtils_js_1.loadParticlesOptions)(this._engine, this._container, groupData);
263
+ this._applyDensity(groupDataOptions, manualCount, group);
259
264
  }
260
265
  this._applyDensity(options.particles, manualCount);
261
266
  }
@@ -329,7 +334,11 @@
329
334
  if (this._needsSort) {
330
335
  const zArray = this._zArray;
331
336
  zArray.sort((a, b) => b.position.z - a.position.z || a.id - b.id);
332
- this._lastZIndex = zArray[zArray.length - Constants_js_1.lengthOffset].position.z;
337
+ const lastItem = zArray[zArray.length - Constants_js_1.lengthOffset];
338
+ if (!lastItem) {
339
+ return;
340
+ }
341
+ this._lastZIndex = lastItem.position.z;
333
342
  this._needsSort = false;
334
343
  }
335
344
  }
@@ -4,15 +4,14 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./Utils/Constants.js", "../Utils/NumberUtils.js", "../Utils/Utils.js"], factory);
7
+ define(["require", "exports", "./Utils/Constants.js", "../Utils/MathUtils.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Retina = void 0;
13
13
  const Constants_js_1 = require("./Utils/Constants.js");
14
- const NumberUtils_js_1 = require("../Utils/NumberUtils.js");
15
- const Utils_js_1 = require("../Utils/Utils.js");
14
+ const MathUtils_js_1 = require("../Utils/MathUtils.js");
16
15
  class Retina {
17
16
  constructor(container) {
18
17
  this.container = container;
@@ -21,7 +20,7 @@
21
20
  }
22
21
  init() {
23
22
  const container = this.container, options = container.actualOptions;
24
- this.pixelRatio = !options.detectRetina || (0, Utils_js_1.isSsr)() ? Constants_js_1.defaultRatio : devicePixelRatio;
23
+ this.pixelRatio = options.detectRetina ? devicePixelRatio : Constants_js_1.defaultRatio;
25
24
  this.reduceFactor = Constants_js_1.defaultReduceFactor;
26
25
  const ratio = this.pixelRatio, canvas = container.canvas;
27
26
  if (canvas.element) {
@@ -30,18 +29,18 @@
30
29
  canvas.size.height = element.offsetHeight * ratio;
31
30
  }
32
31
  const particles = options.particles, moveOptions = particles.move;
33
- this.maxSpeed = (0, NumberUtils_js_1.getRangeValue)(moveOptions.gravity.maxSpeed) * ratio;
34
- this.sizeAnimationSpeed = (0, NumberUtils_js_1.getRangeValue)(particles.size.animation.speed) * ratio;
32
+ this.maxSpeed = (0, MathUtils_js_1.getRangeValue)(moveOptions.gravity.maxSpeed) * ratio;
33
+ this.sizeAnimationSpeed = (0, MathUtils_js_1.getRangeValue)(particles.size.animation.speed) * ratio;
35
34
  }
36
35
  initParticle(particle) {
37
36
  const options = particle.options, ratio = this.pixelRatio, moveOptions = options.move, moveDistance = moveOptions.distance, props = particle.retina;
38
- props.moveDrift = (0, NumberUtils_js_1.getRangeValue)(moveOptions.drift) * ratio;
39
- props.moveSpeed = (0, NumberUtils_js_1.getRangeValue)(moveOptions.speed) * ratio;
40
- props.sizeAnimationSpeed = (0, NumberUtils_js_1.getRangeValue)(options.size.animation.speed) * ratio;
37
+ props.moveDrift = (0, MathUtils_js_1.getRangeValue)(moveOptions.drift) * ratio;
38
+ props.moveSpeed = (0, MathUtils_js_1.getRangeValue)(moveOptions.speed) * ratio;
39
+ props.sizeAnimationSpeed = (0, MathUtils_js_1.getRangeValue)(options.size.animation.speed) * ratio;
41
40
  const maxDistance = props.maxDistance;
42
41
  maxDistance.horizontal = moveDistance.horizontal !== undefined ? moveDistance.horizontal * ratio : undefined;
43
42
  maxDistance.vertical = moveDistance.vertical !== undefined ? moveDistance.vertical * ratio : undefined;
44
- props.maxSpeed = (0, NumberUtils_js_1.getRangeValue)(moveOptions.gravity.maxSpeed) * ratio;
43
+ props.maxSpeed = (0, MathUtils_js_1.getRangeValue)(moveOptions.gravity.maxSpeed) * ratio;
45
44
  }
46
45
  }
47
46
  exports.Retina = Retina;
@@ -9,8 +9,8 @@
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.defaultTime = exports.defaultLoops = exports.defaultVelocity = exports.defaultRgbMin = exports.phaseNumerator = exports.sNormalizedOffset = exports.sextuple = exports.triple = exports.rgbFactor = exports.lMin = exports.lFactor = exports.minStrokeWidth = exports.identity = exports.defaultAngle = exports.manualDefaultPosition = exports.touchDelay = exports.deleteCount = exports.defaultDensityFactor = exports.lengthOffset = exports.manualCount = exports.minIndex = exports.minCount = exports.countOffset = exports.minLimit = exports.sizeFactor = exports.posOffset = exports.defaultRadius = exports.minZ = exports.rollFactor = exports.minRetries = exports.tryCountIncrement = exports.decayOffset = exports.none = exports.one = exports.loadMinIndex = exports.loadRandomFactor = exports.canvasFirstIndex = exports.minFpsLimit = exports.defaultFpsLimit = exports.removeMinIndex = exports.removeDeleteCount = exports.minCoordinate = exports.touchEndLengthOffset = exports.clickRadius = exports.defaultOpacity = exports.zIndexFactorOffset = exports.minimumLength = exports.minimumSize = exports.defaultTransformValue = exports.minVelocity = exports.threeQuarter = exports.quarter = exports.empty = exports.hPhase = exports.sMin = exports.hMin = exports.lMax = exports.sMax = exports.hMax = exports.rgbMax = exports.inverseFactorNumerator = exports.subdivideCount = exports.defaultReduceFactor = exports.defaultRatio = exports.defaultRemoveQuantity = exports.qTreeCapacity = exports.squareExp = exports.defaultRetryCount = exports.canvasTag = exports.generatedFalse = exports.generatedTrue = exports.defaultAlpha = exports.defaultFps = exports.doublePI = exports.double = exports.midColorValue = exports.randomColorValue = exports.defaultTransform = exports.originPoint = exports.millisecondsToSeconds = exports.half = exports.percentDenominator = exports.errorPrefix = exports.visibilityChangeEvent = exports.resizeEvent = exports.touchCancelEvent = exports.touchMoveEvent = exports.touchEndEvent = exports.touchStartEvent = exports.mouseMoveEvent = exports.mouseOutEvent = exports.mouseLeaveEvent = exports.mouseUpEvent = exports.mouseDownEvent = exports.generatedAttribute = void 0;
13
- exports.generatedAttribute = "generated", exports.mouseDownEvent = "pointerdown", exports.mouseUpEvent = "pointerup", exports.mouseLeaveEvent = "pointerleave", exports.mouseOutEvent = "pointerout", exports.mouseMoveEvent = "pointermove", exports.touchStartEvent = "touchstart", exports.touchEndEvent = "touchend", exports.touchMoveEvent = "touchmove", exports.touchCancelEvent = "touchcancel", exports.resizeEvent = "resize", exports.visibilityChangeEvent = "visibilitychange", exports.errorPrefix = "tsParticles - Error", exports.percentDenominator = 100, exports.half = 0.5, exports.millisecondsToSeconds = 1000, exports.originPoint = {
12
+ exports.defaultTime = exports.defaultLoops = exports.defaultVelocity = exports.defaultRgbMin = exports.phaseNumerator = exports.sNormalizedOffset = exports.sextuple = exports.triple = exports.lMin = exports.lFactor = exports.minStrokeWidth = exports.identity = exports.defaultAngle = exports.manualDefaultPosition = exports.touchDelay = exports.deleteCount = exports.defaultDensityFactor = exports.lengthOffset = exports.manualCount = exports.minIndex = exports.minCount = exports.countOffset = exports.minLimit = exports.sizeFactor = exports.posOffset = exports.defaultRadius = exports.minZ = exports.rollFactor = exports.minRetries = exports.tryCountIncrement = exports.decayOffset = exports.none = exports.one = exports.loadMinIndex = exports.loadRandomFactor = exports.canvasFirstIndex = exports.minFpsLimit = exports.defaultFpsLimit = exports.removeMinIndex = exports.removeDeleteCount = exports.minCoordinate = exports.touchEndLengthOffset = exports.clickRadius = exports.defaultOpacity = exports.zIndexFactorOffset = exports.minimumLength = exports.minimumSize = exports.defaultTransformValue = exports.minVelocity = exports.threeQuarter = exports.quarter = exports.empty = exports.hPhase = exports.sMin = exports.hMin = exports.lMax = exports.sMax = exports.hMax = exports.rgbMax = exports.inverseFactorNumerator = exports.subdivideCount = exports.defaultReduceFactor = exports.defaultRatio = exports.defaultRemoveQuantity = exports.qTreeCapacity = exports.squareExp = exports.defaultRetryCount = exports.canvasTag = exports.generatedFalse = exports.generatedTrue = exports.defaultAlpha = exports.defaultFps = exports.doublePI = exports.double = exports.midColorValue = exports.randomColorValue = exports.defaultTransform = exports.originPoint = exports.millisecondsToSeconds = exports.half = exports.percentDenominator = exports.visibilityChangeEvent = exports.resizeEvent = exports.touchCancelEvent = exports.touchMoveEvent = exports.touchEndEvent = exports.touchStartEvent = exports.mouseMoveEvent = exports.mouseOutEvent = exports.mouseLeaveEvent = exports.mouseUpEvent = exports.mouseDownEvent = exports.generatedAttribute = void 0;
13
+ exports.generatedAttribute = "generated", exports.mouseDownEvent = "pointerdown", exports.mouseUpEvent = "pointerup", exports.mouseLeaveEvent = "pointerleave", exports.mouseOutEvent = "pointerout", exports.mouseMoveEvent = "pointermove", exports.touchStartEvent = "touchstart", exports.touchEndEvent = "touchend", exports.touchMoveEvent = "touchmove", exports.touchCancelEvent = "touchcancel", exports.resizeEvent = "resize", exports.visibilityChangeEvent = "visibilitychange", exports.percentDenominator = 100, exports.half = 0.5, exports.millisecondsToSeconds = 1000, exports.originPoint = {
14
14
  x: 0,
15
15
  y: 0,
16
16
  z: 0,
@@ -19,5 +19,5 @@
19
19
  b: 0,
20
20
  c: 0,
21
21
  d: 1,
22
- }, exports.randomColorValue = "random", exports.midColorValue = "mid", exports.double = 2, exports.doublePI = Math.PI * exports.double, exports.defaultFps = 60, exports.defaultAlpha = 1, exports.generatedTrue = "true", exports.generatedFalse = "false", exports.canvasTag = "canvas", exports.defaultRetryCount = 0, exports.squareExp = 2, exports.qTreeCapacity = 4, exports.defaultRemoveQuantity = 1, exports.defaultRatio = 1, exports.defaultReduceFactor = 1, exports.subdivideCount = 4, exports.inverseFactorNumerator = 1.0, exports.rgbMax = 255, exports.hMax = 360, exports.sMax = 100, exports.lMax = 100, exports.hMin = 0, exports.sMin = 0, exports.hPhase = 60, exports.empty = 0, exports.quarter = 0.25, exports.threeQuarter = exports.half + exports.quarter, exports.minVelocity = 0, exports.defaultTransformValue = 1, exports.minimumSize = 0, exports.minimumLength = 0, exports.zIndexFactorOffset = 1, exports.defaultOpacity = 1, exports.clickRadius = 1, exports.touchEndLengthOffset = 1, exports.minCoordinate = 0, exports.removeDeleteCount = 1, exports.removeMinIndex = 0, exports.defaultFpsLimit = 120, exports.minFpsLimit = 0, exports.canvasFirstIndex = 0, exports.loadRandomFactor = 10000, exports.loadMinIndex = 0, exports.one = 1, exports.none = 0, exports.decayOffset = 1, exports.tryCountIncrement = 1, exports.minRetries = 0, exports.rollFactor = 1, exports.minZ = 0, exports.defaultRadius = 0, exports.posOffset = -exports.quarter, exports.sizeFactor = 1.5, exports.minLimit = 0, exports.countOffset = 1, exports.minCount = 0, exports.minIndex = 0, exports.manualCount = 0, exports.lengthOffset = 1, exports.defaultDensityFactor = 1, exports.deleteCount = 1, exports.touchDelay = 500, exports.manualDefaultPosition = 50, exports.defaultAngle = 0, exports.identity = 1, exports.minStrokeWidth = 0, exports.lFactor = 1, exports.lMin = 0, exports.rgbFactor = 255, exports.triple = 3, exports.sextuple = 6, exports.sNormalizedOffset = 1, exports.phaseNumerator = 1, exports.defaultRgbMin = 0, exports.defaultVelocity = 0, exports.defaultLoops = 0, exports.defaultTime = 0;
22
+ }, exports.randomColorValue = "random", exports.midColorValue = "mid", exports.double = 2, exports.doublePI = Math.PI * exports.double, exports.defaultFps = 60, exports.defaultAlpha = 1, exports.generatedTrue = "true", exports.generatedFalse = "false", exports.canvasTag = "canvas", exports.defaultRetryCount = 0, exports.squareExp = 2, exports.qTreeCapacity = 4, exports.defaultRemoveQuantity = 1, exports.defaultRatio = 1, exports.defaultReduceFactor = 1, exports.subdivideCount = 4, exports.inverseFactorNumerator = 1.0, exports.rgbMax = 255, exports.hMax = 360, exports.sMax = 100, exports.lMax = 100, exports.hMin = 0, exports.sMin = 0, exports.hPhase = 60, exports.empty = 0, exports.quarter = 0.25, exports.threeQuarter = exports.half + exports.quarter, exports.minVelocity = 0, exports.defaultTransformValue = 1, exports.minimumSize = 0, exports.minimumLength = 0, exports.zIndexFactorOffset = 1, exports.defaultOpacity = 1, exports.clickRadius = 1, exports.touchEndLengthOffset = 1, exports.minCoordinate = 0, exports.removeDeleteCount = 1, exports.removeMinIndex = 0, exports.defaultFpsLimit = 120, exports.minFpsLimit = 0, exports.canvasFirstIndex = 0, exports.loadRandomFactor = 10000, exports.loadMinIndex = 0, exports.one = 1, exports.none = 0, exports.decayOffset = 1, exports.tryCountIncrement = 1, exports.minRetries = 0, exports.rollFactor = 1, exports.minZ = 0, exports.defaultRadius = 0, exports.posOffset = -exports.quarter, exports.sizeFactor = 1.5, exports.minLimit = 0, exports.countOffset = 1, exports.minCount = 0, exports.minIndex = 0, exports.manualCount = 0, exports.lengthOffset = 1, exports.defaultDensityFactor = 1, exports.deleteCount = 1, exports.touchDelay = 500, exports.manualDefaultPosition = 50, exports.defaultAngle = 0, exports.identity = 1, exports.minStrokeWidth = 0, exports.lFactor = 1, exports.lMin = 0, exports.triple = 3, exports.sextuple = 6, exports.sNormalizedOffset = 1, exports.phaseNumerator = 1, exports.defaultRgbMin = 0, exports.defaultVelocity = 0, exports.defaultLoops = 0, exports.defaultTime = 0;
23
23
  });
@@ -33,6 +33,7 @@
33
33
  class EventListeners {
34
34
  constructor(container) {
35
35
  this.container = container;
36
+ this._canPush = true;
36
37
  this._doMouseTouchClick = e => {
37
38
  const container = this.container, options = container.actualOptions;
38
39
  if (this._canPush) {
@@ -41,12 +42,16 @@
41
42
  return;
42
43
  }
43
44
  mouseInteractivity.clickPosition = { ...mousePos };
44
- mouseInteractivity.clickTime = new Date().getTime();
45
+ mouseInteractivity.clickTime = Date.now();
45
46
  const onClick = options.interactivity.events.onClick;
46
- (0, Utils_js_1.executeOnSingleOrMultiple)(onClick.mode, mode => this.container.handleClickMode(mode));
47
+ (0, Utils_js_1.executeOnSingleOrMultiple)(onClick.mode, mode => {
48
+ this.container.handleClickMode(mode);
49
+ });
47
50
  }
48
51
  if (e.type === "touchend") {
49
- setTimeout(() => this._mouseTouchFinish(), Constants_js_1.touchDelay);
52
+ setTimeout(() => {
53
+ this._mouseTouchFinish();
54
+ }, Constants_js_1.touchDelay);
50
55
  }
51
56
  };
52
57
  this._handleThemeChange = (e) => {
@@ -61,17 +66,17 @@
61
66
  if (!options.pauseOnBlur) {
62
67
  return;
63
68
  }
64
- if (document?.hidden) {
69
+ if ((0, Utils_js_1.safeDocument)().hidden) {
65
70
  container.pageHidden = true;
66
71
  container.pause();
67
72
  }
68
73
  else {
69
74
  container.pageHidden = false;
70
75
  if (container.animationStatus) {
71
- void container.play(true);
76
+ container.play(true);
72
77
  }
73
78
  else {
74
- void container.draw(true);
79
+ container.draw(true);
75
80
  }
76
81
  }
77
82
  };
@@ -82,7 +87,7 @@
82
87
  }
83
88
  const handleResize = async () => {
84
89
  const canvas = this.container.canvas;
85
- await canvas?.windowResize();
90
+ await canvas.windowResize();
86
91
  };
87
92
  this._resizeTimeout = setTimeout(() => void handleResize(), this.container.actualOptions.interactivity.events.resize.delay * Constants_js_1.millisecondsToSeconds);
88
93
  };
@@ -99,14 +104,14 @@
99
104
  manageListener(interactivityEl, Constants_js_1.mouseMoveEvent, handlers.mouseMove, add);
100
105
  manageListener(interactivityEl, Constants_js_1.touchStartEvent, handlers.touchStart, add);
101
106
  manageListener(interactivityEl, Constants_js_1.touchMoveEvent, handlers.touchMove, add);
102
- if (!options.interactivity.events.onClick.enable) {
103
- manageListener(interactivityEl, Constants_js_1.touchEndEvent, handlers.touchEnd, add);
104
- }
105
- else {
107
+ if (options.interactivity.events.onClick.enable) {
106
108
  manageListener(interactivityEl, Constants_js_1.touchEndEvent, handlers.touchEndClick, add);
107
109
  manageListener(interactivityEl, Constants_js_1.mouseUpEvent, handlers.mouseUp, add);
108
110
  manageListener(interactivityEl, Constants_js_1.mouseDownEvent, handlers.mouseDown, add);
109
111
  }
112
+ else {
113
+ manageListener(interactivityEl, Constants_js_1.touchEndEvent, handlers.touchEnd, add);
114
+ }
110
115
  manageListener(interactivityEl, mouseLeaveTmpEvent, handlers.mouseLeave, add);
111
116
  manageListener(interactivityEl, Constants_js_1.touchCancelEvent, handlers.touchCancel, add);
112
117
  };
@@ -126,36 +131,22 @@
126
131
  this._manageMediaMatch(add);
127
132
  this._manageResize(add);
128
133
  this._manageInteractivityListeners(mouseLeaveTmpEvent, add);
129
- if (document) {
130
- manageListener(document, Constants_js_1.visibilityChangeEvent, handlers.visibilityChange, add, false);
131
- }
134
+ manageListener(document, Constants_js_1.visibilityChangeEvent, handlers.visibilityChange, add, false);
132
135
  };
133
136
  this._manageMediaMatch = add => {
134
- const handlers = this._handlers, mediaMatch = (0, Utils_js_1.safeMatchMedia)("(prefers-color-scheme: dark)");
135
- if (!mediaMatch) {
137
+ const handlers = this._handlers;
138
+ if (!this._matchMedia) {
136
139
  return;
137
140
  }
138
- if (mediaMatch.addEventListener !== undefined) {
139
- manageListener(mediaMatch, "change", handlers.themeChange, add);
140
- return;
141
- }
142
- if (mediaMatch.addListener === undefined) {
143
- return;
144
- }
145
- if (add) {
146
- mediaMatch.addListener(handlers.oldThemeChange);
147
- }
148
- else {
149
- mediaMatch.removeListener(handlers.oldThemeChange);
150
- }
141
+ manageListener(this._matchMedia, "change", handlers.themeChange, add);
151
142
  };
152
143
  this._manageResize = add => {
153
144
  const handlers = this._handlers, container = this.container, options = container.actualOptions;
154
- if (!options.interactivity.events.resize) {
145
+ if (!options.interactivity.events.resize.enable) {
155
146
  return;
156
147
  }
157
148
  if (typeof ResizeObserver === "undefined") {
158
- manageListener(window, Constants_js_1.resizeEvent, handlers.resize, add);
149
+ manageListener(globalThis, Constants_js_1.resizeEvent, handlers.resize, add);
159
150
  return;
160
151
  }
161
152
  const canvasEl = container.canvas.element;
@@ -178,11 +169,7 @@
178
169
  }
179
170
  };
180
171
  this._mouseDown = () => {
181
- const { interactivity } = this.container;
182
- if (!interactivity) {
183
- return;
184
- }
185
- const { mouse } = interactivity;
172
+ const { interactivity } = this.container, { mouse } = interactivity;
186
173
  mouse.clicking = true;
187
174
  mouse.downPosition = mouse.position;
188
175
  };
@@ -209,11 +196,7 @@
209
196
  mouse.clicking = false;
210
197
  };
211
198
  this._mouseTouchFinish = () => {
212
- const interactivity = this.container.interactivity;
213
- if (!interactivity) {
214
- return;
215
- }
216
- const mouse = interactivity.mouse;
199
+ const { interactivity } = this.container, { mouse } = interactivity;
217
200
  delete mouse.position;
218
201
  delete mouse.clickPosition;
219
202
  delete mouse.downPosition;
@@ -223,7 +206,7 @@
223
206
  };
224
207
  this._mouseTouchMove = e => {
225
208
  const container = this.container, options = container.actualOptions, interactivity = container.interactivity, canvasEl = container.canvas.element;
226
- if (!interactivity?.element) {
209
+ if (!interactivity.element) {
227
210
  return;
228
211
  }
229
212
  interactivity.mouse.inside = true;
@@ -242,7 +225,7 @@
242
225
  }
243
226
  else if (options.interactivity.detectsOn === InteractivityDetect_js_1.InteractivityDetect.parent) {
244
227
  const source = mouseEvent.target, target = mouseEvent.currentTarget;
245
- if (source && target && canvasEl) {
228
+ if (canvasEl) {
246
229
  const sourceRect = source.getBoundingClientRect(), targetRect = target.getBoundingClientRect(), canvasRect = canvasEl.getBoundingClientRect();
247
230
  pos = {
248
231
  x: mouseEvent.offsetX + Constants_js_1.double * sourceRect.left - (targetRect.left + canvasRect.left),
@@ -251,15 +234,15 @@
251
234
  }
252
235
  else {
253
236
  pos = {
254
- x: mouseEvent.offsetX ?? mouseEvent.clientX,
255
- y: mouseEvent.offsetY ?? mouseEvent.clientY,
237
+ x: mouseEvent.offsetX,
238
+ y: mouseEvent.offsetY,
256
239
  };
257
240
  }
258
241
  }
259
242
  else if (mouseEvent.target === canvasEl) {
260
243
  pos = {
261
- x: mouseEvent.offsetX ?? mouseEvent.clientX,
262
- y: mouseEvent.offsetY ?? mouseEvent.clientY,
244
+ x: mouseEvent.offsetX,
245
+ y: mouseEvent.offsetY,
263
246
  };
264
247
  }
265
248
  }
@@ -267,9 +250,12 @@
267
250
  this._canPush = e.type !== "touchmove";
268
251
  if (canvasEl) {
269
252
  const touchEvent = e, lastTouch = touchEvent.touches[touchEvent.touches.length - Constants_js_1.lengthOffset], canvasRect = canvasEl.getBoundingClientRect();
253
+ if (!lastTouch) {
254
+ return;
255
+ }
270
256
  pos = {
271
- x: lastTouch.clientX - (canvasRect.left ?? Constants_js_1.minCoordinate),
272
- y: lastTouch.clientY - (canvasRect.top ?? Constants_js_1.minCoordinate),
257
+ x: lastTouch.clientX - canvasRect.left,
258
+ y: lastTouch.clientY - canvasRect.top,
273
259
  };
274
260
  }
275
261
  }
@@ -302,21 +288,45 @@
302
288
  }
303
289
  this._mouseTouchMove(e);
304
290
  };
305
- this._canPush = true;
291
+ this._matchMedia = (0, Utils_js_1.safeMatchMedia)("(prefers-color-scheme: dark)");
306
292
  this._touches = new Map();
307
293
  this._handlers = {
308
- mouseDown: () => this._mouseDown(),
309
- mouseLeave: () => this._mouseTouchFinish(),
310
- mouseMove: (e) => this._mouseTouchMove(e),
311
- mouseUp: (e) => this._mouseTouchClick(e),
312
- touchStart: (e) => this._touchStart(e),
313
- touchMove: (e) => this._mouseTouchMove(e),
314
- touchEnd: (e) => this._touchEnd(e),
315
- touchCancel: (e) => this._touchEnd(e),
316
- touchEndClick: (e) => this._touchEndClick(e),
317
- visibilityChange: () => this._handleVisibilityChange(),
318
- themeChange: (e) => this._handleThemeChange(e),
319
- oldThemeChange: (e) => this._handleThemeChange(e),
294
+ mouseDown: () => {
295
+ this._mouseDown();
296
+ },
297
+ mouseLeave: () => {
298
+ this._mouseTouchFinish();
299
+ },
300
+ mouseMove: (e) => {
301
+ this._mouseTouchMove(e);
302
+ },
303
+ mouseUp: (e) => {
304
+ this._mouseTouchClick(e);
305
+ },
306
+ touchStart: (e) => {
307
+ this._touchStart(e);
308
+ },
309
+ touchMove: (e) => {
310
+ this._mouseTouchMove(e);
311
+ },
312
+ touchEnd: (e) => {
313
+ this._touchEnd(e);
314
+ },
315
+ touchCancel: (e) => {
316
+ this._touchEnd(e);
317
+ },
318
+ touchEndClick: (e) => {
319
+ this._touchEndClick(e);
320
+ },
321
+ visibilityChange: () => {
322
+ this._handleVisibilityChange();
323
+ },
324
+ themeChange: (e) => {
325
+ this._handleThemeChange(e);
326
+ },
327
+ oldThemeChange: (e) => {
328
+ this._handleThemeChange(e);
329
+ },
320
330
  resize: () => {
321
331
  this._handleWindowResize();
322
332
  },
@@ -4,7 +4,7 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./Ranges.js", "./Constants.js", "../../Utils/NumberUtils.js"], factory);
7
+ define(["require", "exports", "./Ranges.js", "./Constants.js", "../../Utils/MathUtils.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
@@ -12,7 +12,7 @@
12
12
  exports.QuadTree = void 0;
13
13
  const Ranges_js_1 = require("./Ranges.js");
14
14
  const Constants_js_1 = require("./Constants.js");
15
- const NumberUtils_js_1 = require("../../Utils/NumberUtils.js");
15
+ const MathUtils_js_1 = require("../../Utils/MathUtils.js");
16
16
  class QuadTree {
17
17
  constructor(rectangle, capacity) {
18
18
  this.rectangle = rectangle;
@@ -49,7 +49,7 @@
49
49
  }
50
50
  for (const p of this._points) {
51
51
  if (!range.contains(p.position) &&
52
- (0, NumberUtils_js_1.getDistance)(range.position, p.position) > p.particle.getRadius() &&
52
+ (0, MathUtils_js_1.getDistance)(range.position, p.position) > p.particle.getRadius() &&
53
53
  (!check || check(p.particle))) {
54
54
  continue;
55
55
  }
@@ -4,14 +4,14 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "../../Types/RangeType.js", "../../Utils/NumberUtils.js", "./Constants.js"], factory);
7
+ define(["require", "exports", "../../Enums/RangeType.js", "../../Utils/MathUtils.js", "./Constants.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Rectangle = exports.Circle = exports.BaseRange = void 0;
13
- const RangeType_js_1 = require("../../Types/RangeType.js");
14
- const NumberUtils_js_1 = require("../../Utils/NumberUtils.js");
13
+ const RangeType_js_1 = require("../../Enums/RangeType.js");
14
+ const MathUtils_js_1 = require("../../Utils/MathUtils.js");
15
15
  const Constants_js_1 = require("./Constants.js");
16
16
  class BaseRange {
17
17
  constructor(x, y, type) {
@@ -29,7 +29,7 @@
29
29
  this.radius = radius;
30
30
  }
31
31
  contains(point) {
32
- return (0, NumberUtils_js_1.getDistance)(point, this.position) <= this.radius;
32
+ return (0, MathUtils_js_1.getDistance)(point, this.position) <= this.radius;
33
33
  }
34
34
  intersects(range) {
35
35
  const pos1 = this.position, pos2 = range.position, distPos = { x: Math.abs(pos2.x - pos1.x), y: Math.abs(pos2.y - pos1.y) }, r = this.radius;
@@ -4,34 +4,22 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./Constants.js", "../../Utils/TypeUtils.js"], factory);
7
+ define(["require", "exports", "./Constants.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Vector = exports.Vector3d = void 0;
13
13
  const Constants_js_1 = require("./Constants.js");
14
- const TypeUtils_js_1 = require("../../Utils/TypeUtils.js");
15
14
  class Vector3d {
16
- constructor(xOrCoords, y, z) {
15
+ constructor(x = Constants_js_1.originPoint.x, y = Constants_js_1.originPoint.y, z = Constants_js_1.originPoint.z) {
17
16
  this._updateFromAngle = (angle, length) => {
18
17
  this.x = Math.cos(angle) * length;
19
18
  this.y = Math.sin(angle) * length;
20
19
  };
21
- if (!(0, TypeUtils_js_1.isNumber)(xOrCoords) && xOrCoords) {
22
- this.x = xOrCoords.x;
23
- this.y = xOrCoords.y;
24
- const coords3d = xOrCoords;
25
- this.z = coords3d.z ? coords3d.z : Constants_js_1.originPoint.z;
26
- }
27
- else if (xOrCoords !== undefined && y !== undefined) {
28
- this.x = xOrCoords;
29
- this.y = y;
30
- this.z = z ?? Constants_js_1.originPoint.z;
31
- }
32
- else {
33
- throw new Error(`${Constants_js_1.errorPrefix} Vector3d not initialized correctly`);
34
- }
20
+ this.x = x;
21
+ this.y = y;
22
+ this.z = z;
35
23
  }
36
24
  static get origin() {
37
25
  return Vector3d.create(Constants_js_1.originPoint.x, Constants_js_1.originPoint.y, Constants_js_1.originPoint.z);
@@ -52,7 +40,10 @@
52
40
  return Vector3d.create(source.x, source.y, source.z);
53
41
  }
54
42
  static create(x, y, z) {
55
- return new Vector3d(x, y, z);
43
+ if (typeof x === "number") {
44
+ return new Vector3d(x, y ?? Constants_js_1.originPoint.y, z ?? Constants_js_1.originPoint.z);
45
+ }
46
+ return new Vector3d(x.x, x.y, Object.hasOwn(x, "z") ? x.z : Constants_js_1.originPoint.z);
56
47
  }
57
48
  add(v) {
58
49
  return Vector3d.create(this.x + v.x, this.y + v.y, this.z + v.z);
@@ -116,8 +107,8 @@
116
107
  }
117
108
  exports.Vector3d = Vector3d;
118
109
  class Vector extends Vector3d {
119
- constructor(xOrCoords, y) {
120
- super(xOrCoords, y, Constants_js_1.originPoint.z);
110
+ constructor(x = Constants_js_1.originPoint.x, y = Constants_js_1.originPoint.y) {
111
+ super(x, y, Constants_js_1.originPoint.z);
121
112
  }
122
113
  static get origin() {
123
114
  return Vector.create(Constants_js_1.originPoint.x, Constants_js_1.originPoint.y);
@@ -126,7 +117,10 @@
126
117
  return Vector.create(source.x, source.y);
127
118
  }
128
119
  static create(x, y) {
129
- return new Vector(x, y);
120
+ if (typeof x === "number") {
121
+ return new Vector(x, y ?? Constants_js_1.originPoint.y);
122
+ }
123
+ return new Vector(x.x, x.y);
130
124
  }
131
125
  }
132
126
  exports.Vector = Vector;
@@ -38,11 +38,11 @@
38
38
  }
39
39
  const colorAnimation = data.animation;
40
40
  if (colorAnimation !== undefined) {
41
- if (colorAnimation.enable !== undefined) {
42
- this.animation.h.load(colorAnimation);
41
+ if (colorAnimation.enable === undefined) {
42
+ this.animation.load(data.animation);
43
43
  }
44
44
  else {
45
- this.animation.load(data.animation);
45
+ this.animation.h.load(colorAnimation);
46
46
  }
47
47
  }
48
48
  }