@tsparticles/engine 3.2.2 → 3.4.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 (281) hide show
  1. package/README.md +0 -4
  2. package/browser/Core/Canvas.js +34 -29
  3. package/browser/Core/Container.js +60 -47
  4. package/browser/Core/Engine.js +82 -74
  5. package/browser/Core/Particle.js +40 -26
  6. package/browser/Core/Particles.js +51 -52
  7. package/browser/Core/Utils/EventListeners.js +18 -17
  8. package/browser/Core/Utils/ExternalInteractorBase.js +2 -1
  9. package/browser/Core/Utils/InteractionManager.js +7 -6
  10. package/browser/Core/Utils/ParticlesInteractorBase.js +2 -1
  11. package/browser/Core/Utils/QuadTree.js +1 -1
  12. package/browser/Core/Utils/Ranges.js +5 -4
  13. package/browser/Enums/AnimationStatus.js +5 -1
  14. package/browser/Enums/Directions/MoveDirection.js +14 -1
  15. package/browser/Enums/Directions/OutModeDirection.js +7 -1
  16. package/browser/Enums/Directions/RotateDirection.js +6 -1
  17. package/browser/Enums/InteractivityDetect.js +6 -1
  18. package/browser/Enums/Modes/AnimationMode.js +7 -1
  19. package/browser/Enums/Modes/CollisionMode.js +6 -1
  20. package/browser/Enums/Modes/LimitMode.js +5 -1
  21. package/browser/Enums/Modes/OutMode.js +8 -1
  22. package/browser/Enums/Modes/PixelMode.js +5 -1
  23. package/browser/Enums/Modes/ResponsiveMode.js +5 -1
  24. package/browser/Enums/Modes/ThemeMode.js +6 -1
  25. package/browser/Enums/Types/AlterType.js +5 -1
  26. package/browser/Enums/Types/DestroyType.js +6 -1
  27. package/browser/Enums/Types/DivType.js +5 -1
  28. package/browser/Enums/Types/EasingType.js +30 -1
  29. package/browser/Enums/Types/EventType.js +15 -1
  30. package/browser/Enums/Types/GradientType.js +6 -1
  31. package/browser/Enums/Types/InteractorType.js +5 -1
  32. package/browser/Enums/Types/ParticleOutType.js +6 -1
  33. package/browser/Enums/Types/StartValueType.js +6 -1
  34. package/browser/Options/Classes/AnimationOptions.js +4 -2
  35. package/browser/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
  36. package/browser/Options/Classes/Interactivity/Events/Events.js +1 -1
  37. package/browser/Options/Classes/Interactivity/Interactivity.js +2 -1
  38. package/browser/Options/Classes/ManualParticle.js +2 -1
  39. package/browser/Options/Classes/Options.js +14 -12
  40. package/browser/Options/Classes/Particles/Collisions/Collisions.js +2 -1
  41. package/browser/Options/Classes/Particles/Move/Move.js +2 -1
  42. package/browser/Options/Classes/Particles/Move/MoveCenter.js +2 -1
  43. package/browser/Options/Classes/Particles/Move/OutModes.js +2 -1
  44. package/browser/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
  45. package/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
  46. package/browser/Options/Classes/Particles/ParticlesOptions.js +1 -1
  47. package/browser/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
  48. package/browser/Options/Classes/Responsive.js +5 -4
  49. package/browser/Options/Classes/Theme/ThemeDefault.js +2 -1
  50. package/browser/Types/RangeType.js +5 -1
  51. package/browser/Utils/CanvasUtils.js +27 -21
  52. package/browser/Utils/ColorUtils.js +17 -9
  53. package/browser/Utils/EventDispatcher.js +1 -1
  54. package/browser/Utils/HslColorManager.js +11 -4
  55. package/browser/Utils/NumberUtils.js +11 -10
  56. package/browser/Utils/RgbColorManager.js +11 -4
  57. package/browser/Utils/Utils.js +37 -31
  58. package/cjs/Core/Canvas.js +34 -29
  59. package/cjs/Core/Container.js +60 -47
  60. package/cjs/Core/Engine.js +82 -97
  61. package/cjs/Core/Particle.js +40 -26
  62. package/cjs/Core/Particles.js +52 -76
  63. package/cjs/Core/Utils/EventListeners.js +18 -17
  64. package/cjs/Core/Utils/ExternalInteractorBase.js +2 -1
  65. package/cjs/Core/Utils/InteractionManager.js +7 -6
  66. package/cjs/Core/Utils/ParticlesInteractorBase.js +2 -1
  67. package/cjs/Core/Utils/QuadTree.js +1 -1
  68. package/cjs/Core/Utils/Ranges.js +5 -4
  69. package/cjs/Enums/AnimationStatus.js +6 -0
  70. package/cjs/Enums/Directions/MoveDirection.js +15 -0
  71. package/cjs/Enums/Directions/OutModeDirection.js +8 -0
  72. package/cjs/Enums/Directions/RotateDirection.js +7 -0
  73. package/cjs/Enums/InteractivityDetect.js +7 -0
  74. package/cjs/Enums/Modes/AnimationMode.js +8 -0
  75. package/cjs/Enums/Modes/CollisionMode.js +7 -0
  76. package/cjs/Enums/Modes/LimitMode.js +6 -0
  77. package/cjs/Enums/Modes/OutMode.js +9 -0
  78. package/cjs/Enums/Modes/PixelMode.js +6 -0
  79. package/cjs/Enums/Modes/ResponsiveMode.js +6 -0
  80. package/cjs/Enums/Modes/ThemeMode.js +7 -0
  81. package/cjs/Enums/Types/AlterType.js +6 -0
  82. package/cjs/Enums/Types/DestroyType.js +7 -0
  83. package/cjs/Enums/Types/DivType.js +6 -0
  84. package/cjs/Enums/Types/EasingType.js +31 -0
  85. package/cjs/Enums/Types/EventType.js +16 -0
  86. package/cjs/Enums/Types/GradientType.js +7 -0
  87. package/cjs/Enums/Types/InteractorType.js +6 -0
  88. package/cjs/Enums/Types/ParticleOutType.js +7 -0
  89. package/cjs/Enums/Types/StartValueType.js +7 -0
  90. package/cjs/Options/Classes/AnimationOptions.js +4 -2
  91. package/cjs/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
  92. package/cjs/Options/Classes/Interactivity/Events/Events.js +1 -1
  93. package/cjs/Options/Classes/Interactivity/Interactivity.js +2 -1
  94. package/cjs/Options/Classes/ManualParticle.js +2 -1
  95. package/cjs/Options/Classes/Options.js +14 -12
  96. package/cjs/Options/Classes/Particles/Collisions/Collisions.js +2 -1
  97. package/cjs/Options/Classes/Particles/Move/Move.js +2 -1
  98. package/cjs/Options/Classes/Particles/Move/MoveCenter.js +2 -1
  99. package/cjs/Options/Classes/Particles/Move/OutModes.js +2 -1
  100. package/cjs/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
  101. package/cjs/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
  102. package/cjs/Options/Classes/Particles/ParticlesOptions.js +1 -1
  103. package/cjs/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
  104. package/cjs/Options/Classes/Responsive.js +5 -4
  105. package/cjs/Options/Classes/Theme/ThemeDefault.js +2 -1
  106. package/cjs/Types/RangeType.js +6 -0
  107. package/cjs/Utils/CanvasUtils.js +27 -21
  108. package/cjs/Utils/ColorUtils.js +17 -9
  109. package/cjs/Utils/EventDispatcher.js +1 -1
  110. package/cjs/Utils/HslColorManager.js +11 -4
  111. package/cjs/Utils/NumberUtils.js +11 -10
  112. package/cjs/Utils/RgbColorManager.js +11 -4
  113. package/cjs/Utils/Utils.js +37 -31
  114. package/esm/Core/Canvas.js +34 -29
  115. package/esm/Core/Container.js +60 -47
  116. package/esm/Core/Engine.js +82 -74
  117. package/esm/Core/Particle.js +40 -26
  118. package/esm/Core/Particles.js +51 -52
  119. package/esm/Core/Utils/EventListeners.js +18 -17
  120. package/esm/Core/Utils/ExternalInteractorBase.js +2 -1
  121. package/esm/Core/Utils/InteractionManager.js +7 -6
  122. package/esm/Core/Utils/ParticlesInteractorBase.js +2 -1
  123. package/esm/Core/Utils/QuadTree.js +1 -1
  124. package/esm/Core/Utils/Ranges.js +5 -4
  125. package/esm/Enums/AnimationStatus.js +5 -1
  126. package/esm/Enums/Directions/MoveDirection.js +14 -1
  127. package/esm/Enums/Directions/OutModeDirection.js +7 -1
  128. package/esm/Enums/Directions/RotateDirection.js +6 -1
  129. package/esm/Enums/InteractivityDetect.js +6 -1
  130. package/esm/Enums/Modes/AnimationMode.js +7 -1
  131. package/esm/Enums/Modes/CollisionMode.js +6 -1
  132. package/esm/Enums/Modes/LimitMode.js +5 -1
  133. package/esm/Enums/Modes/OutMode.js +8 -1
  134. package/esm/Enums/Modes/PixelMode.js +5 -1
  135. package/esm/Enums/Modes/ResponsiveMode.js +5 -1
  136. package/esm/Enums/Modes/ThemeMode.js +6 -1
  137. package/esm/Enums/Types/AlterType.js +5 -1
  138. package/esm/Enums/Types/DestroyType.js +6 -1
  139. package/esm/Enums/Types/DivType.js +5 -1
  140. package/esm/Enums/Types/EasingType.js +30 -1
  141. package/esm/Enums/Types/EventType.js +15 -1
  142. package/esm/Enums/Types/GradientType.js +6 -1
  143. package/esm/Enums/Types/InteractorType.js +5 -1
  144. package/esm/Enums/Types/ParticleOutType.js +6 -1
  145. package/esm/Enums/Types/StartValueType.js +6 -1
  146. package/esm/Options/Classes/AnimationOptions.js +4 -2
  147. package/esm/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
  148. package/esm/Options/Classes/Interactivity/Events/Events.js +1 -1
  149. package/esm/Options/Classes/Interactivity/Interactivity.js +2 -1
  150. package/esm/Options/Classes/ManualParticle.js +2 -1
  151. package/esm/Options/Classes/Options.js +14 -12
  152. package/esm/Options/Classes/Particles/Collisions/Collisions.js +2 -1
  153. package/esm/Options/Classes/Particles/Move/Move.js +2 -1
  154. package/esm/Options/Classes/Particles/Move/MoveCenter.js +2 -1
  155. package/esm/Options/Classes/Particles/Move/OutModes.js +2 -1
  156. package/esm/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
  157. package/esm/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
  158. package/esm/Options/Classes/Particles/ParticlesOptions.js +1 -1
  159. package/esm/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
  160. package/esm/Options/Classes/Responsive.js +5 -4
  161. package/esm/Options/Classes/Theme/ThemeDefault.js +2 -1
  162. package/esm/Types/RangeType.js +5 -1
  163. package/esm/Utils/CanvasUtils.js +27 -21
  164. package/esm/Utils/ColorUtils.js +17 -9
  165. package/esm/Utils/EventDispatcher.js +1 -1
  166. package/esm/Utils/HslColorManager.js +11 -4
  167. package/esm/Utils/NumberUtils.js +11 -10
  168. package/esm/Utils/RgbColorManager.js +11 -4
  169. package/esm/Utils/Utils.js +37 -31
  170. package/package.json +1 -1
  171. package/report.html +1 -1
  172. package/tsparticles.engine.js +327 -225
  173. package/tsparticles.engine.min.js +1 -1
  174. package/tsparticles.engine.min.js.LICENSE.txt +1 -1
  175. package/types/Core/Canvas.d.ts +4 -4
  176. package/types/Core/Container.d.ts +4 -2
  177. package/types/Core/Engine.d.ts +6 -5
  178. package/types/Core/Interfaces/IContainerPlugin.d.ts +4 -4
  179. package/types/Core/Interfaces/IEffectDrawer.d.ts +3 -3
  180. package/types/Core/Interfaces/IExternalInteractor.d.ts +1 -1
  181. package/types/Core/Interfaces/IMovePathGenerator.d.ts +2 -2
  182. package/types/Core/Interfaces/IParticleMover.d.ts +2 -2
  183. package/types/Core/Interfaces/IParticleUpdater.d.ts +2 -2
  184. package/types/Core/Interfaces/IParticlesInteractor.d.ts +1 -1
  185. package/types/Core/Interfaces/IPlugin.d.ts +3 -4
  186. package/types/Core/Interfaces/IShapeDrawer.d.ts +5 -4
  187. package/types/Core/Particle.d.ts +3 -2
  188. package/types/Core/Particles.d.ts +7 -7
  189. package/types/Core/Utils/ExternalInteractorBase.d.ts +1 -1
  190. package/types/Core/Utils/InteractionManager.d.ts +2 -2
  191. package/types/Core/Utils/ParticlesInteractorBase.d.ts +1 -1
  192. package/types/Enums/AnimationStatus.d.ts +1 -1
  193. package/types/Enums/Directions/MoveDirection.d.ts +1 -1
  194. package/types/Enums/Directions/OutModeDirection.d.ts +1 -1
  195. package/types/Enums/Directions/RotateDirection.d.ts +1 -1
  196. package/types/Enums/InteractivityDetect.d.ts +1 -1
  197. package/types/Enums/Modes/AnimationMode.d.ts +1 -1
  198. package/types/Enums/Modes/CollisionMode.d.ts +1 -1
  199. package/types/Enums/Modes/LimitMode.d.ts +1 -1
  200. package/types/Enums/Modes/OutMode.d.ts +1 -1
  201. package/types/Enums/Modes/PixelMode.d.ts +1 -1
  202. package/types/Enums/Modes/ResponsiveMode.d.ts +1 -1
  203. package/types/Enums/Modes/ThemeMode.d.ts +1 -1
  204. package/types/Enums/Types/AlterType.d.ts +1 -1
  205. package/types/Enums/Types/DestroyType.d.ts +1 -1
  206. package/types/Enums/Types/DivType.d.ts +1 -1
  207. package/types/Enums/Types/EasingType.d.ts +1 -1
  208. package/types/Enums/Types/EventType.d.ts +1 -1
  209. package/types/Enums/Types/GradientType.d.ts +1 -1
  210. package/types/Enums/Types/InteractorType.d.ts +1 -1
  211. package/types/Enums/Types/ParticleOutType.d.ts +1 -1
  212. package/types/Enums/Types/StartValueType.d.ts +1 -1
  213. package/types/Options/Classes/Options.d.ts +2 -1
  214. package/types/Options/Classes/Responsive.d.ts +2 -2
  215. package/types/Options/Classes/Theme/Theme.d.ts +2 -2
  216. package/types/Options/Interfaces/IResponsive.d.ts +2 -3
  217. package/types/Options/Interfaces/Theme/ITheme.d.ts +2 -3
  218. package/types/Types/RangeType.d.ts +1 -1
  219. package/types/Utils/CanvasUtils.d.ts +6 -6
  220. package/umd/Core/Canvas.js +34 -29
  221. package/umd/Core/Container.js +61 -48
  222. package/umd/Core/Engine.js +83 -99
  223. package/umd/Core/Particle.js +41 -27
  224. package/umd/Core/Particles.js +53 -78
  225. package/umd/Core/Utils/EventListeners.js +19 -18
  226. package/umd/Core/Utils/ExternalInteractorBase.js +3 -2
  227. package/umd/Core/Utils/InteractionManager.js +8 -7
  228. package/umd/Core/Utils/ParticlesInteractorBase.js +3 -2
  229. package/umd/Core/Utils/QuadTree.js +1 -1
  230. package/umd/Core/Utils/Ranges.js +6 -5
  231. package/umd/Enums/AnimationStatus.js +6 -0
  232. package/umd/Enums/Directions/MoveDirection.js +15 -0
  233. package/umd/Enums/Directions/OutModeDirection.js +8 -0
  234. package/umd/Enums/Directions/RotateDirection.js +7 -0
  235. package/umd/Enums/InteractivityDetect.js +7 -0
  236. package/umd/Enums/Modes/AnimationMode.js +8 -0
  237. package/umd/Enums/Modes/CollisionMode.js +7 -0
  238. package/umd/Enums/Modes/LimitMode.js +6 -0
  239. package/umd/Enums/Modes/OutMode.js +9 -0
  240. package/umd/Enums/Modes/PixelMode.js +6 -0
  241. package/umd/Enums/Modes/ResponsiveMode.js +6 -0
  242. package/umd/Enums/Modes/ThemeMode.js +7 -0
  243. package/umd/Enums/Types/AlterType.js +6 -0
  244. package/umd/Enums/Types/DestroyType.js +7 -0
  245. package/umd/Enums/Types/DivType.js +6 -0
  246. package/umd/Enums/Types/EasingType.js +31 -0
  247. package/umd/Enums/Types/EventType.js +16 -0
  248. package/umd/Enums/Types/GradientType.js +7 -0
  249. package/umd/Enums/Types/InteractorType.js +6 -0
  250. package/umd/Enums/Types/ParticleOutType.js +7 -0
  251. package/umd/Enums/Types/StartValueType.js +7 -0
  252. package/umd/Options/Classes/AnimationOptions.js +5 -3
  253. package/umd/Options/Classes/Interactivity/Events/DivEvent.js +3 -2
  254. package/umd/Options/Classes/Interactivity/Events/Events.js +1 -1
  255. package/umd/Options/Classes/Interactivity/Interactivity.js +3 -2
  256. package/umd/Options/Classes/ManualParticle.js +3 -2
  257. package/umd/Options/Classes/Options.js +15 -13
  258. package/umd/Options/Classes/Particles/Collisions/Collisions.js +3 -2
  259. package/umd/Options/Classes/Particles/Move/Move.js +3 -2
  260. package/umd/Options/Classes/Particles/Move/MoveCenter.js +3 -2
  261. package/umd/Options/Classes/Particles/Move/OutModes.js +3 -2
  262. package/umd/Options/Classes/Particles/Number/ParticlesNumberLimit.js +3 -2
  263. package/umd/Options/Classes/Particles/Opacity/OpacityAnimation.js +3 -2
  264. package/umd/Options/Classes/Particles/ParticlesOptions.js +1 -1
  265. package/umd/Options/Classes/Particles/Size/SizeAnimation.js +3 -2
  266. package/umd/Options/Classes/Responsive.js +6 -5
  267. package/umd/Options/Classes/Theme/ThemeDefault.js +3 -2
  268. package/umd/Types/RangeType.js +6 -0
  269. package/umd/Utils/CanvasUtils.js +28 -22
  270. package/umd/Utils/ColorUtils.js +18 -10
  271. package/umd/Utils/EventDispatcher.js +1 -1
  272. package/umd/Utils/HslColorManager.js +11 -4
  273. package/umd/Utils/NumberUtils.js +12 -11
  274. package/umd/Utils/RgbColorManager.js +11 -4
  275. package/umd/Utils/Utils.js +38 -32
  276. package/373.min.js +0 -2
  277. package/373.min.js.LICENSE.txt +0 -1
  278. package/438.min.js +0 -2
  279. package/438.min.js.LICENSE.txt +0 -1
  280. package/dist_browser_Core_Container_js.js +0 -92
  281. package/dist_browser_Core_Particle_js.js +0 -32
@@ -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", "../../Utils/Utils.js", "./Background/Background.js", "./BackgroundMask/BackgroundMask.js", "./FullScreen/FullScreen.js", "./Interactivity/Interactivity.js", "./ManualParticle.js", "./Responsive.js", "./Theme/Theme.js", "../../Utils/TypeUtils.js", "../../Utils/OptionsUtils.js", "../../Utils/NumberUtils.js"], factory);
7
+ define(["require", "exports", "../../Utils/Utils.js", "./Background/Background.js", "./BackgroundMask/BackgroundMask.js", "./FullScreen/FullScreen.js", "./Interactivity/Interactivity.js", "./ManualParticle.js", "./Responsive.js", "../../Enums/Modes/ResponsiveMode.js", "./Theme/Theme.js", "../../Enums/Modes/ThemeMode.js", "../../Utils/TypeUtils.js", "../../Utils/OptionsUtils.js", "../../Utils/NumberUtils.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
@@ -17,17 +17,19 @@
17
17
  const Interactivity_js_1 = require("./Interactivity/Interactivity.js");
18
18
  const ManualParticle_js_1 = require("./ManualParticle.js");
19
19
  const Responsive_js_1 = require("./Responsive.js");
20
+ const ResponsiveMode_js_1 = require("../../Enums/Modes/ResponsiveMode.js");
20
21
  const Theme_js_1 = require("./Theme/Theme.js");
22
+ const ThemeMode_js_1 = require("../../Enums/Modes/ThemeMode.js");
21
23
  const TypeUtils_js_1 = require("../../Utils/TypeUtils.js");
22
24
  const OptionsUtils_js_1 = require("../../Utils/OptionsUtils.js");
23
25
  const NumberUtils_js_1 = require("../../Utils/NumberUtils.js");
24
26
  class Options {
25
27
  constructor(engine, container) {
26
- this._findDefaultTheme = (mode) => {
27
- return (this.themes.find((theme) => theme.default.value && theme.default.mode === mode) ??
28
- this.themes.find((theme) => theme.default.value && theme.default.mode === "any"));
28
+ this._findDefaultTheme = mode => {
29
+ return (this.themes.find(theme => theme.default.value && theme.default.mode === mode) ??
30
+ this.themes.find(theme => theme.default.value && theme.default.mode === ThemeMode_js_1.ThemeMode.any));
29
31
  };
30
- this._importPreset = (preset) => {
32
+ this._importPreset = preset => {
31
33
  this.load(this._engine.getPreset(preset));
32
34
  };
33
35
  this._engine = engine;
@@ -58,7 +60,7 @@
58
60
  return;
59
61
  }
60
62
  if (data.preset !== undefined) {
61
- (0, Utils_js_1.executeOnSingleOrMultiple)(data.preset, (preset) => this._importPreset(preset));
63
+ (0, Utils_js_1.executeOnSingleOrMultiple)(data.preset, preset => this._importPreset(preset));
62
64
  }
63
65
  if (data.autoPlay !== undefined) {
64
66
  this.autoPlay = data.autoPlay;
@@ -106,7 +108,7 @@
106
108
  this.backgroundMask.load(data.backgroundMask);
107
109
  this.interactivity.load(data.interactivity);
108
110
  if (data.manualParticles) {
109
- this.manualParticles = data.manualParticles.map((t) => {
111
+ this.manualParticles = data.manualParticles.map(t => {
110
112
  const tmp = new ManualParticle_js_1.ManualParticle();
111
113
  tmp.load(t);
112
114
  return tmp;
@@ -136,7 +138,7 @@
136
138
  this.responsive.sort((a, b) => a.maxWidth - b.maxWidth);
137
139
  if (data.themes !== undefined) {
138
140
  for (const theme of data.themes) {
139
- const existingTheme = this.themes.find((t) => t.name === theme.name);
141
+ const existingTheme = this.themes.find(t => t.name === theme.name);
140
142
  if (!existingTheme) {
141
143
  const optTheme = new Theme_js_1.Theme();
142
144
  optTheme.load(theme);
@@ -147,24 +149,24 @@
147
149
  }
148
150
  }
149
151
  }
150
- this.defaultThemes.dark = this._findDefaultTheme("dark")?.name;
151
- this.defaultThemes.light = this._findDefaultTheme("light")?.name;
152
+ this.defaultThemes.dark = this._findDefaultTheme(ThemeMode_js_1.ThemeMode.dark)?.name;
153
+ this.defaultThemes.light = this._findDefaultTheme(ThemeMode_js_1.ThemeMode.light)?.name;
152
154
  }
153
155
  setResponsive(width, pxRatio, defaultOptions) {
154
156
  this.load(defaultOptions);
155
- const responsiveOptions = this.responsive.find((t) => t.mode === "screen" && screen ? t.maxWidth > screen.availWidth : t.maxWidth * pxRatio > width);
157
+ const responsiveOptions = this.responsive.find(t => t.mode === ResponsiveMode_js_1.ResponsiveMode.screen && screen ? t.maxWidth > screen.availWidth : t.maxWidth * pxRatio > width);
156
158
  this.load(responsiveOptions?.options);
157
159
  return responsiveOptions?.maxWidth;
158
160
  }
159
161
  setTheme(name) {
160
162
  if (name) {
161
- const chosenTheme = this.themes.find((theme) => theme.name === name);
163
+ const chosenTheme = this.themes.find(theme => theme.name === name);
162
164
  if (chosenTheme) {
163
165
  this.load(chosenTheme.options);
164
166
  }
165
167
  }
166
168
  else {
167
- const mediaMatch = (0, Utils_js_1.safeMatchMedia)("(prefers-color-scheme: dark)"), clientDarkMode = mediaMatch && mediaMatch.matches, defaultTheme = this._findDefaultTheme(clientDarkMode ? "dark" : "light");
169
+ const mediaMatch = (0, Utils_js_1.safeMatchMedia)("(prefers-color-scheme: dark)"), clientDarkMode = mediaMatch?.matches, defaultTheme = this._findDefaultTheme(clientDarkMode ? ThemeMode_js_1.ThemeMode.dark : ThemeMode_js_1.ThemeMode.light);
168
170
  if (defaultTheme) {
169
171
  this.load(defaultTheme.options);
170
172
  }
@@ -4,12 +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", "./CollisionsAbsorb.js", "./CollisionsOverlap.js", "../Bounce/ParticlesBounce.js", "../../../../Utils/NumberUtils.js"], factory);
7
+ define(["require", "exports", "../../../../Enums/Modes/CollisionMode.js", "./CollisionsAbsorb.js", "./CollisionsOverlap.js", "../Bounce/ParticlesBounce.js", "../../../../Utils/NumberUtils.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Collisions = void 0;
13
+ const CollisionMode_js_1 = require("../../../../Enums/Modes/CollisionMode.js");
13
14
  const CollisionsAbsorb_js_1 = require("./CollisionsAbsorb.js");
14
15
  const CollisionsOverlap_js_1 = require("./CollisionsOverlap.js");
15
16
  const ParticlesBounce_js_1 = require("../Bounce/ParticlesBounce.js");
@@ -20,7 +21,7 @@
20
21
  this.bounce = new ParticlesBounce_js_1.ParticlesBounce();
21
22
  this.enable = false;
22
23
  this.maxSpeed = 50;
23
- this.mode = "bounce";
24
+ this.mode = CollisionMode_js_1.CollisionMode.bounce;
24
25
  this.overlap = new CollisionsOverlap_js_1.CollisionsOverlap();
25
26
  }
26
27
  load(data) {
@@ -4,12 +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/TypeUtils.js", "./MoveAngle.js", "./MoveAttract.js", "./MoveCenter.js", "./MoveGravity.js", "./Path/MovePath.js", "./MoveTrail.js", "./OutModes.js", "./Spin.js", "../../../../Utils/NumberUtils.js"], factory);
7
+ define(["require", "exports", "../../../../Enums/Directions/MoveDirection.js", "../../../../Utils/TypeUtils.js", "./MoveAngle.js", "./MoveAttract.js", "./MoveCenter.js", "./MoveGravity.js", "./Path/MovePath.js", "./MoveTrail.js", "./OutModes.js", "./Spin.js", "../../../../Utils/NumberUtils.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Move = void 0;
13
+ const MoveDirection_js_1 = require("../../../../Enums/Directions/MoveDirection.js");
13
14
  const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
14
15
  const MoveAngle_js_1 = require("./MoveAngle.js");
15
16
  const MoveAttract_js_1 = require("./MoveAttract.js");
@@ -27,7 +28,7 @@
27
28
  this.center = new MoveCenter_js_1.MoveCenter();
28
29
  this.decay = 0;
29
30
  this.distance = {};
30
- this.direction = "none";
31
+ this.direction = MoveDirection_js_1.MoveDirection.none;
31
32
  this.drift = 0;
32
33
  this.enable = false;
33
34
  this.gravity = new MoveGravity_js_1.MoveGravity();
@@ -4,17 +4,18 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports"], factory);
7
+ define(["require", "exports", "../../../../Enums/Modes/PixelMode.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MoveCenter = void 0;
13
+ const PixelMode_js_1 = require("../../../../Enums/Modes/PixelMode.js");
13
14
  class MoveCenter {
14
15
  constructor() {
15
16
  this.x = 50;
16
17
  this.y = 50;
17
- this.mode = "percent";
18
+ this.mode = PixelMode_js_1.PixelMode.percent;
18
19
  this.radius = 0;
19
20
  }
20
21
  load(data) {
@@ -4,15 +4,16 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports"], factory);
7
+ define(["require", "exports", "../../../../Enums/Modes/OutMode.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.OutModes = void 0;
13
+ const OutMode_js_1 = require("../../../../Enums/Modes/OutMode.js");
13
14
  class OutModes {
14
15
  constructor() {
15
- this.default = "out";
16
+ this.default = OutMode_js_1.OutMode.out;
16
17
  }
17
18
  load(data) {
18
19
  if (!data) {
@@ -4,15 +4,16 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports"], factory);
7
+ define(["require", "exports", "../../../../Enums/Modes/LimitMode.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ParticlesNumberLimit = void 0;
13
+ const LimitMode_js_1 = require("../../../../Enums/Modes/LimitMode.js");
13
14
  class ParticlesNumberLimit {
14
15
  constructor() {
15
- this.mode = "delete";
16
+ this.mode = LimitMode_js_1.LimitMode.delete;
16
17
  this.value = 0;
17
18
  }
18
19
  load(data) {
@@ -4,17 +4,18 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "../../AnimationOptions.js"], factory);
7
+ define(["require", "exports", "../../../../Enums/Types/DestroyType.js", "../../AnimationOptions.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.OpacityAnimation = void 0;
13
+ const DestroyType_js_1 = require("../../../../Enums/Types/DestroyType.js");
13
14
  const AnimationOptions_js_1 = require("../../AnimationOptions.js");
14
15
  class OpacityAnimation extends AnimationOptions_js_1.RangedAnimationOptions {
15
16
  constructor() {
16
17
  super();
17
- this.destroy = "none";
18
+ this.destroy = DestroyType_js_1.DestroyType.none;
18
19
  this.speed = 2;
19
20
  }
20
21
  load(data) {
@@ -77,7 +77,7 @@
77
77
  }
78
78
  const strokeToLoad = data.stroke;
79
79
  if (strokeToLoad) {
80
- this.stroke = (0, Utils_js_1.executeOnSingleOrMultiple)(strokeToLoad, (t) => {
80
+ this.stroke = (0, Utils_js_1.executeOnSingleOrMultiple)(strokeToLoad, t => {
81
81
  const tmp = new Stroke_js_1.Stroke();
82
82
  tmp.load(t);
83
83
  return tmp;
@@ -4,17 +4,18 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "../../AnimationOptions.js"], factory);
7
+ define(["require", "exports", "../../../../Enums/Types/DestroyType.js", "../../AnimationOptions.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.SizeAnimation = void 0;
13
+ const DestroyType_js_1 = require("../../../../Enums/Types/DestroyType.js");
13
14
  const AnimationOptions_js_1 = require("../../AnimationOptions.js");
14
15
  class SizeAnimation extends AnimationOptions_js_1.RangedAnimationOptions {
15
16
  constructor() {
16
17
  super();
17
- this.destroy = "none";
18
+ this.destroy = DestroyType_js_1.DestroyType.none;
18
19
  this.speed = 5;
19
20
  }
20
21
  load(data) {
@@ -4,18 +4,19 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "../../Utils/Utils.js"], factory);
7
+ define(["require", "exports", "../../Enums/Modes/ResponsiveMode.js", "../../Utils/Utils.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Responsive = void 0;
13
+ const ResponsiveMode_js_1 = require("../../Enums/Modes/ResponsiveMode.js");
13
14
  const Utils_js_1 = require("../../Utils/Utils.js");
14
15
  class Responsive {
15
16
  constructor() {
16
17
  this.maxWidth = Infinity;
17
18
  this.options = {};
18
- this.mode = "canvas";
19
+ this.mode = ResponsiveMode_js_1.ResponsiveMode.canvas;
19
20
  }
20
21
  load(data) {
21
22
  if (!data) {
@@ -25,11 +26,11 @@
25
26
  this.maxWidth = data.maxWidth;
26
27
  }
27
28
  if (data.mode !== undefined) {
28
- if (data.mode === "screen") {
29
- this.mode = "screen";
29
+ if (data.mode === ResponsiveMode_js_1.ResponsiveMode.screen) {
30
+ this.mode = ResponsiveMode_js_1.ResponsiveMode.screen;
30
31
  }
31
32
  else {
32
- this.mode = "canvas";
33
+ this.mode = ResponsiveMode_js_1.ResponsiveMode.canvas;
33
34
  }
34
35
  }
35
36
  if (data.options !== undefined) {
@@ -4,16 +4,17 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports"], factory);
7
+ define(["require", "exports", "../../../Enums/Modes/ThemeMode.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ThemeDefault = void 0;
13
+ const ThemeMode_js_1 = require("../../../Enums/Modes/ThemeMode.js");
13
14
  class ThemeDefault {
14
15
  constructor() {
15
16
  this.auto = false;
16
- this.mode = "any";
17
+ this.mode = ThemeMode_js_1.ThemeMode.any;
17
18
  this.value = false;
18
19
  }
19
20
  load(data) {
@@ -9,4 +9,10 @@
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RangeType = void 0;
13
+ var RangeType;
14
+ (function (RangeType) {
15
+ RangeType["circle"] = "circle";
16
+ RangeType["rectangle"] = "rectangle";
17
+ })(RangeType || (exports.RangeType = RangeType = {}));
12
18
  });
@@ -4,14 +4,20 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./ColorUtils.js"], factory);
7
+ define(["require", "exports", "../Enums/Types/AlterType.js", "./ColorUtils.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.alterHsl = exports.drawParticlePlugin = exports.drawPlugin = exports.drawShapeAfterDraw = exports.drawShape = exports.drawEffect = exports.drawParticle = exports.clear = exports.paintImage = exports.paintBase = exports.drawLine = void 0;
13
+ const AlterType_js_1 = require("../Enums/Types/AlterType.js");
13
14
  const ColorUtils_js_1 = require("./ColorUtils.js");
14
- const origin = { x: 0, y: 0 };
15
+ const origin = { x: 0, y: 0 }, defaultTransform = {
16
+ a: 1,
17
+ b: 0,
18
+ c: 0,
19
+ d: 1,
20
+ };
15
21
  function drawLine(context, begin, end) {
16
22
  context.beginPath();
17
23
  context.moveTo(begin.x, begin.y);
@@ -37,15 +43,15 @@
37
43
  context.clearRect(origin.x, origin.y, dimension.width, dimension.height);
38
44
  }
39
45
  exports.clear = clear;
40
- async function drawParticle(data) {
46
+ function drawParticle(data) {
41
47
  const { container, context, particle, delta, colorStyles, backgroundMask, composite, radius, opacity, shadow, transform, } = data, pos = particle.getPosition(), defaultAngle = 0, angle = particle.rotation + (particle.pathRotation ? particle.velocity.angle : defaultAngle), rotateData = {
42
48
  sin: Math.sin(angle),
43
49
  cos: Math.cos(angle),
44
- }, defaultTransformFactor = 1, transformData = {
45
- a: rotateData.cos * (transform.a ?? defaultTransformFactor),
46
- b: rotateData.sin * (transform.b ?? defaultTransformFactor),
47
- c: -rotateData.sin * (transform.c ?? defaultTransformFactor),
48
- d: rotateData.cos * (transform.d ?? defaultTransformFactor),
50
+ }, rotating = !!angle, identity = 1, transformData = {
51
+ a: rotateData.cos * (transform.a ?? defaultTransform.a),
52
+ b: rotating ? rotateData.sin * (transform.b ?? identity) : transform.b ?? defaultTransform.b,
53
+ c: rotating ? -rotateData.sin * (transform.c ?? identity) : transform.c ?? defaultTransform.c,
54
+ d: rotateData.cos * (transform.d ?? defaultTransform.d),
49
55
  };
50
56
  context.setTransform(transformData.a, transformData.b, transformData.c, transformData.d, pos.x, pos.y);
51
57
  if (backgroundMask) {
@@ -76,14 +82,14 @@
76
82
  transformData,
77
83
  strokeWidth,
78
84
  };
79
- await drawShape(drawData);
80
- await drawShapeAfterDraw(drawData);
81
- await drawEffect(drawData);
85
+ drawShape(drawData);
86
+ drawShapeAfterDraw(drawData);
87
+ drawEffect(drawData);
82
88
  context.globalCompositeOperation = "source-over";
83
89
  context.resetTransform();
84
90
  }
85
91
  exports.drawParticle = drawParticle;
86
- async function drawEffect(data) {
92
+ function drawEffect(data) {
87
93
  const { container, context, particle, radius, opacity, delta, transformData } = data;
88
94
  if (!particle.effect) {
89
95
  return;
@@ -92,7 +98,7 @@
92
98
  if (!drawer) {
93
99
  return;
94
100
  }
95
- await drawer.draw({
101
+ drawer.draw({
96
102
  context,
97
103
  particle,
98
104
  radius,
@@ -103,7 +109,7 @@
103
109
  });
104
110
  }
105
111
  exports.drawEffect = drawEffect;
106
- async function drawShape(data) {
112
+ function drawShape(data) {
107
113
  const { container, context, particle, radius, opacity, delta, strokeWidth, transformData } = data, minStrokeWidth = 0;
108
114
  if (!particle.shape) {
109
115
  return;
@@ -113,7 +119,7 @@
113
119
  return;
114
120
  }
115
121
  context.beginPath();
116
- await drawer.draw({
122
+ drawer.draw({
117
123
  context,
118
124
  particle,
119
125
  radius,
@@ -133,7 +139,7 @@
133
139
  }
134
140
  }
135
141
  exports.drawShape = drawShape;
136
- async function drawShapeAfterDraw(data) {
142
+ function drawShapeAfterDraw(data) {
137
143
  const { container, context, particle, radius, opacity, delta, transformData } = data;
138
144
  if (!particle.shape) {
139
145
  return;
@@ -142,7 +148,7 @@
142
148
  if (!drawer?.afterDraw) {
143
149
  return;
144
150
  }
145
- await drawer.afterDraw({
151
+ drawer.afterDraw({
146
152
  context,
147
153
  particle,
148
154
  radius,
@@ -153,18 +159,18 @@
153
159
  });
154
160
  }
155
161
  exports.drawShapeAfterDraw = drawShapeAfterDraw;
156
- async function drawPlugin(context, plugin, delta) {
162
+ function drawPlugin(context, plugin, delta) {
157
163
  if (!plugin.draw) {
158
164
  return;
159
165
  }
160
- await plugin.draw(context, delta);
166
+ plugin.draw(context, delta);
161
167
  }
162
168
  exports.drawPlugin = drawPlugin;
163
- async function drawParticlePlugin(context, plugin, particle, delta) {
169
+ function drawParticlePlugin(context, plugin, particle, delta) {
164
170
  if (!plugin.drawParticle) {
165
171
  return;
166
172
  }
167
- await plugin.drawParticle(context, particle, delta);
173
+ plugin.drawParticle(context, particle, delta);
168
174
  }
169
175
  exports.drawParticlePlugin = drawParticlePlugin;
170
176
  function alterHsl(color, type, value) {
@@ -172,7 +178,7 @@
172
178
  return {
173
179
  h: color.h,
174
180
  s: color.s,
175
- l: color.l + (type === "darken" ? -lFactor : lFactor) * value,
181
+ l: color.l + (type === AlterType_js_1.AlterType.darken ? -lFactor : lFactor) * value,
176
182
  };
177
183
  }
178
184
  exports.alterHsl = alterHsl;
@@ -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", "./NumberUtils.js", "./TypeUtils.js", "../Core/Utils/Constants.js", "./Utils.js"], factory);
7
+ define(["require", "exports", "./NumberUtils.js", "./TypeUtils.js", "../Core/Utils/Constants.js", "../Enums/AnimationStatus.js", "./Utils.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
@@ -13,7 +13,15 @@
13
13
  const NumberUtils_js_1 = require("./NumberUtils.js");
14
14
  const TypeUtils_js_1 = require("./TypeUtils.js");
15
15
  const Constants_js_1 = require("../Core/Utils/Constants.js");
16
+ const AnimationStatus_js_1 = require("../Enums/AnimationStatus.js");
16
17
  const Utils_js_1 = require("./Utils.js");
18
+ var RgbIndexes;
19
+ (function (RgbIndexes) {
20
+ RgbIndexes[RgbIndexes["r"] = 1] = "r";
21
+ RgbIndexes[RgbIndexes["g"] = 2] = "g";
22
+ RgbIndexes[RgbIndexes["b"] = 3] = "b";
23
+ RgbIndexes[RgbIndexes["a"] = 4] = "a";
24
+ })(RgbIndexes || (RgbIndexes = {}));
17
25
  const randomColorValue = "random", midColorValue = "mid", colorManagers = new Map();
18
26
  function addColorManager(manager) {
19
27
  colorManagers.set(manager.key, manager);
@@ -30,12 +38,12 @@
30
38
  }), regex = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i, result = regex.exec(hexFixed), radix = 16, defaultAlpha = 1, alphaFactor = 0xff;
31
39
  return result
32
40
  ? {
33
- a: result[4] !== undefined
34
- ? parseInt(result[4], radix) / alphaFactor
41
+ a: result[RgbIndexes.a] !== undefined
42
+ ? parseInt(result[RgbIndexes.a], radix) / alphaFactor
35
43
  : defaultAlpha,
36
- b: parseInt(result[3], radix),
37
- g: parseInt(result[2], radix),
38
- r: parseInt(result[1], radix),
44
+ b: parseInt(result[RgbIndexes.b], radix),
45
+ g: parseInt(result[RgbIndexes.g], radix),
46
+ r: parseInt(result[RgbIndexes.r], radix),
39
47
  }
40
48
  : undefined;
41
49
  }
@@ -282,7 +290,7 @@
282
290
  if (colorValue.enable) {
283
291
  colorValue.velocity = ((0, NumberUtils_js_1.getRangeValue)(colorAnimation.speed) / Constants_js_1.percentDenominator) * reduceFactor;
284
292
  colorValue.decay = decayOffset - (0, NumberUtils_js_1.getRangeValue)(colorAnimation.decay);
285
- colorValue.status = "increasing";
293
+ colorValue.status = AnimationStatus_js_1.AnimationStatus.increasing;
286
294
  colorValue.loops = defaultLoops;
287
295
  colorValue.maxLoops = (0, NumberUtils_js_1.getRangeValue)(colorAnimation.count);
288
296
  colorValue.time = defaultTime;
@@ -315,7 +323,7 @@
315
323
  return;
316
324
  }
317
325
  const offset = data.offset ? (0, NumberUtils_js_1.randomInRange)(data.offset) : minOffset, velocity = (data.velocity ?? minVelocity) * delta.factor + offset * velocityFactor, decay = data.decay ?? identity, max = (0, NumberUtils_js_1.getRangeMax)(range), min = (0, NumberUtils_js_1.getRangeMin)(range);
318
- if (!decrease || data.status === "increasing") {
326
+ if (!decrease || data.status === AnimationStatus_js_1.AnimationStatus.increasing) {
319
327
  data.value += velocity;
320
328
  if (data.value > max) {
321
329
  if (!data.loops) {
@@ -323,7 +331,7 @@
323
331
  }
324
332
  data.loops++;
325
333
  if (decrease) {
326
- data.status = "decreasing";
334
+ data.status = AnimationStatus_js_1.AnimationStatus.decreasing;
327
335
  }
328
336
  else {
329
337
  data.value -= max;
@@ -338,7 +346,7 @@
338
346
  data.loops = 0;
339
347
  }
340
348
  data.loops++;
341
- data.status = "increasing";
349
+ data.status = AnimationStatus_js_1.AnimationStatus.increasing;
342
350
  }
343
351
  }
344
352
  if (data.velocity && decay !== identity) {
@@ -25,7 +25,7 @@
25
25
  }
26
26
  dispatchEvent(type, args) {
27
27
  const listeners = this._listeners.get(type);
28
- listeners?.forEach((handler) => handler(args));
28
+ listeners?.forEach(handler => handler(args));
29
29
  }
30
30
  hasEventListener(type) {
31
31
  return !!this._listeners.get(type);
@@ -12,6 +12,13 @@
12
12
  exports.HslColorManager = void 0;
13
13
  const NumberUtils_js_1 = require("./NumberUtils.js");
14
14
  const ColorUtils_js_1 = require("./ColorUtils.js");
15
+ var HslIndexes;
16
+ (function (HslIndexes) {
17
+ HslIndexes[HslIndexes["h"] = 1] = "h";
18
+ HslIndexes[HslIndexes["s"] = 2] = "s";
19
+ HslIndexes[HslIndexes["l"] = 3] = "l";
20
+ HslIndexes[HslIndexes["a"] = 5] = "a";
21
+ })(HslIndexes || (HslIndexes = {}));
15
22
  class HslColorManager {
16
23
  constructor() {
17
24
  this.key = "hsl";
@@ -40,10 +47,10 @@
40
47
  const regex = /hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.%]+)\s*)?\)/i, result = regex.exec(input), minLength = 4, defaultAlpha = 1, radix = 10;
41
48
  return result
42
49
  ? (0, ColorUtils_js_1.hslaToRgba)({
43
- a: result.length > minLength ? (0, NumberUtils_js_1.parseAlpha)(result[5]) : defaultAlpha,
44
- h: parseInt(result[1], radix),
45
- l: parseInt(result[3], radix),
46
- s: parseInt(result[2], radix),
50
+ a: result.length > minLength ? (0, NumberUtils_js_1.parseAlpha)(result[HslIndexes.a]) : defaultAlpha,
51
+ h: parseInt(result[HslIndexes.h], radix),
52
+ l: parseInt(result[HslIndexes.l], radix),
53
+ s: parseInt(result[HslIndexes.s], radix),
47
54
  })
48
55
  : undefined;
49
56
  }
@@ -4,12 +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", "../Core/Utils/Vectors.js", "./TypeUtils.js", "../Core/Utils/Constants.js"], factory);
7
+ define(["require", "exports", "../Enums/Directions/MoveDirection.js", "../Core/Utils/Vectors.js", "./TypeUtils.js", "../Core/Utils/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.parseAlpha = exports.calcExactPositionOrRandomFromSizeRanged = exports.calcExactPositionOrRandomFromSize = exports.calcPositionOrRandomFromSizeRanged = exports.calcPositionOrRandomFromSize = exports.calcPositionFromSize = exports.collisionVelocity = exports.getParticleBaseVelocity = exports.getParticleDirectionAngle = exports.degToRad = exports.getDistance = exports.getDistances = exports.setRangeValue = exports.getRangeMax = exports.getRangeMin = exports.getRangeValue = exports.randomInRange = exports.mix = exports.clamp = exports.getRandom = exports.setRandom = exports.getEasing = exports.addEasing = void 0;
13
+ const MoveDirection_js_1 = require("../Enums/Directions/MoveDirection.js");
13
14
  const Vectors_js_1 = require("../Core/Utils/Vectors.js");
14
15
  const TypeUtils_js_1 = require("./TypeUtils.js");
15
16
  const Constants_js_1 = require("../Core/Utils/Constants.js");
@@ -97,25 +98,25 @@
97
98
  }
98
99
  const empty = 0, half = 0.5, quarter = 0.25, threeQuarter = half + quarter;
99
100
  switch (direction) {
100
- case "top":
101
+ case MoveDirection_js_1.MoveDirection.top:
101
102
  return -Math.PI * half;
102
- case "top-right":
103
+ case MoveDirection_js_1.MoveDirection.topRight:
103
104
  return -Math.PI * quarter;
104
- case "right":
105
+ case MoveDirection_js_1.MoveDirection.right:
105
106
  return empty;
106
- case "bottom-right":
107
+ case MoveDirection_js_1.MoveDirection.bottomRight:
107
108
  return Math.PI * quarter;
108
- case "bottom":
109
+ case MoveDirection_js_1.MoveDirection.bottom:
109
110
  return Math.PI * half;
110
- case "bottom-left":
111
+ case MoveDirection_js_1.MoveDirection.bottomLeft:
111
112
  return Math.PI * threeQuarter;
112
- case "left":
113
+ case MoveDirection_js_1.MoveDirection.left:
113
114
  return Math.PI;
114
- case "top-left":
115
+ case MoveDirection_js_1.MoveDirection.topLeft:
115
116
  return -Math.PI * threeQuarter;
116
- case "inside":
117
+ case MoveDirection_js_1.MoveDirection.inside:
117
118
  return Math.atan2(center.y - position.y, center.x - position.x);
118
- case "outside":
119
+ case MoveDirection_js_1.MoveDirection.outside:
119
120
  return Math.atan2(position.y - center.y, position.x - center.x);
120
121
  default:
121
122
  return getRandom() * doublePI;