@tsparticles/engine 3.3.0 → 3.5.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 (272) hide show
  1. package/README.md +0 -4
  2. package/browser/Core/Canvas.js +27 -22
  3. package/browser/Core/Container.js +57 -44
  4. package/browser/Core/Engine.js +82 -74
  5. package/browser/Core/Particle.js +29 -15
  6. package/browser/Core/Particles.js +23 -24
  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 +3 -2
  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 +13 -7
  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 +28 -14
  56. package/browser/Utils/RgbColorManager.js +11 -4
  57. package/browser/Utils/Utils.js +37 -31
  58. package/cjs/Core/Canvas.js +27 -22
  59. package/cjs/Core/Container.js +57 -44
  60. package/cjs/Core/Engine.js +82 -74
  61. package/cjs/Core/Particle.js +29 -15
  62. package/cjs/Core/Particles.js +23 -24
  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 +3 -2
  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 +24 -19
  108. package/cjs/Utils/ColorUtils.js +37 -30
  109. package/cjs/Utils/EventDispatcher.js +1 -1
  110. package/cjs/Utils/HslColorManager.js +11 -4
  111. package/cjs/Utils/NumberUtils.js +54 -38
  112. package/cjs/Utils/OptionsUtils.js +2 -3
  113. package/cjs/Utils/RgbColorManager.js +11 -4
  114. package/cjs/Utils/TypeUtils.js +6 -7
  115. package/cjs/Utils/Utils.js +66 -61
  116. package/cjs/init.js +1 -2
  117. package/esm/Core/Canvas.js +27 -22
  118. package/esm/Core/Container.js +57 -44
  119. package/esm/Core/Engine.js +82 -74
  120. package/esm/Core/Particle.js +29 -15
  121. package/esm/Core/Particles.js +23 -24
  122. package/esm/Core/Utils/EventListeners.js +18 -17
  123. package/esm/Core/Utils/ExternalInteractorBase.js +2 -1
  124. package/esm/Core/Utils/InteractionManager.js +3 -2
  125. package/esm/Core/Utils/ParticlesInteractorBase.js +2 -1
  126. package/esm/Core/Utils/QuadTree.js +1 -1
  127. package/esm/Core/Utils/Ranges.js +5 -4
  128. package/esm/Enums/AnimationStatus.js +5 -1
  129. package/esm/Enums/Directions/MoveDirection.js +14 -1
  130. package/esm/Enums/Directions/OutModeDirection.js +7 -1
  131. package/esm/Enums/Directions/RotateDirection.js +6 -1
  132. package/esm/Enums/InteractivityDetect.js +6 -1
  133. package/esm/Enums/Modes/AnimationMode.js +7 -1
  134. package/esm/Enums/Modes/CollisionMode.js +6 -1
  135. package/esm/Enums/Modes/LimitMode.js +5 -1
  136. package/esm/Enums/Modes/OutMode.js +8 -1
  137. package/esm/Enums/Modes/PixelMode.js +5 -1
  138. package/esm/Enums/Modes/ResponsiveMode.js +5 -1
  139. package/esm/Enums/Modes/ThemeMode.js +6 -1
  140. package/esm/Enums/Types/AlterType.js +5 -1
  141. package/esm/Enums/Types/DestroyType.js +6 -1
  142. package/esm/Enums/Types/DivType.js +5 -1
  143. package/esm/Enums/Types/EasingType.js +30 -1
  144. package/esm/Enums/Types/EventType.js +15 -1
  145. package/esm/Enums/Types/GradientType.js +6 -1
  146. package/esm/Enums/Types/InteractorType.js +5 -1
  147. package/esm/Enums/Types/ParticleOutType.js +6 -1
  148. package/esm/Enums/Types/StartValueType.js +6 -1
  149. package/esm/Options/Classes/AnimationOptions.js +4 -2
  150. package/esm/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
  151. package/esm/Options/Classes/Interactivity/Events/Events.js +1 -1
  152. package/esm/Options/Classes/Interactivity/Interactivity.js +2 -1
  153. package/esm/Options/Classes/ManualParticle.js +2 -1
  154. package/esm/Options/Classes/Options.js +14 -12
  155. package/esm/Options/Classes/Particles/Collisions/Collisions.js +2 -1
  156. package/esm/Options/Classes/Particles/Move/Move.js +2 -1
  157. package/esm/Options/Classes/Particles/Move/MoveCenter.js +2 -1
  158. package/esm/Options/Classes/Particles/Move/OutModes.js +2 -1
  159. package/esm/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
  160. package/esm/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
  161. package/esm/Options/Classes/Particles/ParticlesOptions.js +1 -1
  162. package/esm/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
  163. package/esm/Options/Classes/Responsive.js +5 -4
  164. package/esm/Options/Classes/Theme/ThemeDefault.js +2 -1
  165. package/esm/Types/RangeType.js +5 -1
  166. package/esm/Utils/CanvasUtils.js +13 -7
  167. package/esm/Utils/ColorUtils.js +17 -9
  168. package/esm/Utils/EventDispatcher.js +1 -1
  169. package/esm/Utils/HslColorManager.js +11 -4
  170. package/esm/Utils/NumberUtils.js +28 -14
  171. package/esm/Utils/RgbColorManager.js +11 -4
  172. package/esm/Utils/Utils.js +37 -31
  173. package/package.json +1 -1
  174. package/report.html +1 -1
  175. package/tsparticles.engine.js +327 -225
  176. package/tsparticles.engine.min.js +1 -1
  177. package/tsparticles.engine.min.js.LICENSE.txt +1 -1
  178. package/types/Core/Container.d.ts +4 -2
  179. package/types/Core/Engine.d.ts +6 -5
  180. package/types/Core/Interfaces/IPlugin.d.ts +3 -4
  181. package/types/Core/Interfaces/IShapeDrawer.d.ts +1 -0
  182. package/types/Core/Particle.d.ts +1 -0
  183. package/types/Enums/AnimationStatus.d.ts +1 -1
  184. package/types/Enums/Directions/MoveDirection.d.ts +1 -1
  185. package/types/Enums/Directions/OutModeDirection.d.ts +1 -1
  186. package/types/Enums/Directions/RotateDirection.d.ts +1 -1
  187. package/types/Enums/InteractivityDetect.d.ts +1 -1
  188. package/types/Enums/Modes/AnimationMode.d.ts +1 -1
  189. package/types/Enums/Modes/CollisionMode.d.ts +1 -1
  190. package/types/Enums/Modes/LimitMode.d.ts +1 -1
  191. package/types/Enums/Modes/OutMode.d.ts +1 -1
  192. package/types/Enums/Modes/PixelMode.d.ts +1 -1
  193. package/types/Enums/Modes/ResponsiveMode.d.ts +1 -1
  194. package/types/Enums/Modes/ThemeMode.d.ts +1 -1
  195. package/types/Enums/Types/AlterType.d.ts +1 -1
  196. package/types/Enums/Types/DestroyType.d.ts +1 -1
  197. package/types/Enums/Types/DivType.d.ts +1 -1
  198. package/types/Enums/Types/EasingType.d.ts +1 -1
  199. package/types/Enums/Types/EventType.d.ts +1 -1
  200. package/types/Enums/Types/GradientType.d.ts +1 -1
  201. package/types/Enums/Types/InteractorType.d.ts +1 -1
  202. package/types/Enums/Types/ParticleOutType.d.ts +1 -1
  203. package/types/Enums/Types/StartValueType.d.ts +1 -1
  204. package/types/Options/Classes/Options.d.ts +2 -1
  205. package/types/Options/Classes/Responsive.d.ts +2 -2
  206. package/types/Options/Classes/Theme/Theme.d.ts +2 -2
  207. package/types/Options/Interfaces/IResponsive.d.ts +2 -3
  208. package/types/Options/Interfaces/Theme/ITheme.d.ts +2 -3
  209. package/types/Types/RangeType.d.ts +1 -1
  210. package/types/Utils/NumberUtils.d.ts +3 -0
  211. package/umd/Core/Canvas.js +27 -22
  212. package/umd/Core/Container.js +58 -45
  213. package/umd/Core/Engine.js +83 -99
  214. package/umd/Core/Particle.js +30 -16
  215. package/umd/Core/Particles.js +24 -25
  216. package/umd/Core/Utils/EventListeners.js +19 -18
  217. package/umd/Core/Utils/ExternalInteractorBase.js +3 -2
  218. package/umd/Core/Utils/InteractionManager.js +4 -3
  219. package/umd/Core/Utils/ParticlesInteractorBase.js +3 -2
  220. package/umd/Core/Utils/QuadTree.js +1 -1
  221. package/umd/Core/Utils/Ranges.js +6 -5
  222. package/umd/Enums/AnimationStatus.js +6 -0
  223. package/umd/Enums/Directions/MoveDirection.js +15 -0
  224. package/umd/Enums/Directions/OutModeDirection.js +8 -0
  225. package/umd/Enums/Directions/RotateDirection.js +7 -0
  226. package/umd/Enums/InteractivityDetect.js +7 -0
  227. package/umd/Enums/Modes/AnimationMode.js +8 -0
  228. package/umd/Enums/Modes/CollisionMode.js +7 -0
  229. package/umd/Enums/Modes/LimitMode.js +6 -0
  230. package/umd/Enums/Modes/OutMode.js +9 -0
  231. package/umd/Enums/Modes/PixelMode.js +6 -0
  232. package/umd/Enums/Modes/ResponsiveMode.js +6 -0
  233. package/umd/Enums/Modes/ThemeMode.js +7 -0
  234. package/umd/Enums/Types/AlterType.js +6 -0
  235. package/umd/Enums/Types/DestroyType.js +7 -0
  236. package/umd/Enums/Types/DivType.js +6 -0
  237. package/umd/Enums/Types/EasingType.js +31 -0
  238. package/umd/Enums/Types/EventType.js +16 -0
  239. package/umd/Enums/Types/GradientType.js +7 -0
  240. package/umd/Enums/Types/InteractorType.js +6 -0
  241. package/umd/Enums/Types/ParticleOutType.js +7 -0
  242. package/umd/Enums/Types/StartValueType.js +7 -0
  243. package/umd/Options/Classes/AnimationOptions.js +5 -3
  244. package/umd/Options/Classes/Interactivity/Events/DivEvent.js +3 -2
  245. package/umd/Options/Classes/Interactivity/Events/Events.js +1 -1
  246. package/umd/Options/Classes/Interactivity/Interactivity.js +3 -2
  247. package/umd/Options/Classes/ManualParticle.js +3 -2
  248. package/umd/Options/Classes/Options.js +15 -13
  249. package/umd/Options/Classes/Particles/Collisions/Collisions.js +3 -2
  250. package/umd/Options/Classes/Particles/Move/Move.js +3 -2
  251. package/umd/Options/Classes/Particles/Move/MoveCenter.js +3 -2
  252. package/umd/Options/Classes/Particles/Move/OutModes.js +3 -2
  253. package/umd/Options/Classes/Particles/Number/ParticlesNumberLimit.js +3 -2
  254. package/umd/Options/Classes/Particles/Opacity/OpacityAnimation.js +3 -2
  255. package/umd/Options/Classes/Particles/ParticlesOptions.js +1 -1
  256. package/umd/Options/Classes/Particles/Size/SizeAnimation.js +3 -2
  257. package/umd/Options/Classes/Responsive.js +6 -5
  258. package/umd/Options/Classes/Theme/ThemeDefault.js +3 -2
  259. package/umd/Types/RangeType.js +6 -0
  260. package/umd/Utils/CanvasUtils.js +25 -20
  261. package/umd/Utils/ColorUtils.js +38 -31
  262. package/umd/Utils/EventDispatcher.js +1 -1
  263. package/umd/Utils/HslColorManager.js +11 -4
  264. package/umd/Utils/NumberUtils.js +55 -39
  265. package/umd/Utils/OptionsUtils.js +2 -3
  266. package/umd/Utils/RgbColorManager.js +11 -4
  267. package/umd/Utils/TypeUtils.js +6 -7
  268. package/umd/Utils/Utils.js +67 -62
  269. package/umd/init.js +1 -2
  270. package/174.min.js +0 -2
  271. package/174.min.js.LICENSE.txt +0 -1
  272. package/dist_browser_Core_Container_js.js +0 -102
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DivEvent = void 0;
4
+ const DivType_js_1 = require("../../../../Enums/Types/DivType.js");
4
5
  class DivEvent {
5
6
  constructor() {
6
7
  this.selectors = [];
7
8
  this.enable = false;
8
9
  this.mode = [];
9
- this.type = "circle";
10
+ this.type = DivType_js_1.DivType.circle;
10
11
  }
11
12
  load(data) {
12
13
  if (!data) {
@@ -20,7 +20,7 @@ class Events {
20
20
  this.onClick.load(data.onClick);
21
21
  const onDiv = data.onDiv;
22
22
  if (onDiv !== undefined) {
23
- this.onDiv = (0, Utils_js_1.executeOnSingleOrMultiple)(onDiv, (t) => {
23
+ this.onDiv = (0, Utils_js_1.executeOnSingleOrMultiple)(onDiv, t => {
24
24
  const tmp = new DivEvent_js_1.DivEvent();
25
25
  tmp.load(t);
26
26
  return tmp;
@@ -2,10 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Interactivity = void 0;
4
4
  const Events_js_1 = require("./Events/Events.js");
5
+ const InteractivityDetect_js_1 = require("../../../Enums/InteractivityDetect.js");
5
6
  const Modes_js_1 = require("./Modes/Modes.js");
6
7
  class Interactivity {
7
8
  constructor(engine, container) {
8
- this.detectsOn = "window";
9
+ this.detectsOn = InteractivityDetect_js_1.InteractivityDetect.window;
9
10
  this.events = new Events_js_1.Events();
10
11
  this.modes = new Modes_js_1.Modes(engine, container);
11
12
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ManualParticle = void 0;
4
+ const PixelMode_js_1 = require("../../Enums/Modes/PixelMode.js");
4
5
  const Utils_js_1 = require("../../Utils/Utils.js");
5
6
  const defaultPosition = 50;
6
7
  class ManualParticle {
@@ -12,7 +13,7 @@ class ManualParticle {
12
13
  this.position = {
13
14
  x: data.position.x ?? defaultPosition,
14
15
  y: data.position.y ?? defaultPosition,
15
- mode: data.position.mode ?? "percent",
16
+ mode: data.position.mode ?? PixelMode_js_1.PixelMode.percent,
16
17
  };
17
18
  }
18
19
  if (data.options) {
@@ -8,17 +8,19 @@ const FullScreen_js_1 = require("./FullScreen/FullScreen.js");
8
8
  const Interactivity_js_1 = require("./Interactivity/Interactivity.js");
9
9
  const ManualParticle_js_1 = require("./ManualParticle.js");
10
10
  const Responsive_js_1 = require("./Responsive.js");
11
+ const ResponsiveMode_js_1 = require("../../Enums/Modes/ResponsiveMode.js");
11
12
  const Theme_js_1 = require("./Theme/Theme.js");
13
+ const ThemeMode_js_1 = require("../../Enums/Modes/ThemeMode.js");
12
14
  const TypeUtils_js_1 = require("../../Utils/TypeUtils.js");
13
15
  const OptionsUtils_js_1 = require("../../Utils/OptionsUtils.js");
14
16
  const NumberUtils_js_1 = require("../../Utils/NumberUtils.js");
15
17
  class Options {
16
18
  constructor(engine, container) {
17
- this._findDefaultTheme = (mode) => {
18
- return (this.themes.find((theme) => theme.default.value && theme.default.mode === mode) ??
19
- this.themes.find((theme) => theme.default.value && theme.default.mode === "any"));
19
+ this._findDefaultTheme = mode => {
20
+ return (this.themes.find(theme => theme.default.value && theme.default.mode === mode) ??
21
+ this.themes.find(theme => theme.default.value && theme.default.mode === ThemeMode_js_1.ThemeMode.any));
20
22
  };
21
- this._importPreset = (preset) => {
23
+ this._importPreset = preset => {
22
24
  this.load(this._engine.getPreset(preset));
23
25
  };
24
26
  this._engine = engine;
@@ -49,7 +51,7 @@ class Options {
49
51
  return;
50
52
  }
51
53
  if (data.preset !== undefined) {
52
- (0, Utils_js_1.executeOnSingleOrMultiple)(data.preset, (preset) => this._importPreset(preset));
54
+ (0, Utils_js_1.executeOnSingleOrMultiple)(data.preset, preset => this._importPreset(preset));
53
55
  }
54
56
  if (data.autoPlay !== undefined) {
55
57
  this.autoPlay = data.autoPlay;
@@ -97,7 +99,7 @@ class Options {
97
99
  this.backgroundMask.load(data.backgroundMask);
98
100
  this.interactivity.load(data.interactivity);
99
101
  if (data.manualParticles) {
100
- this.manualParticles = data.manualParticles.map((t) => {
102
+ this.manualParticles = data.manualParticles.map(t => {
101
103
  const tmp = new ManualParticle_js_1.ManualParticle();
102
104
  tmp.load(t);
103
105
  return tmp;
@@ -127,7 +129,7 @@ class Options {
127
129
  this.responsive.sort((a, b) => a.maxWidth - b.maxWidth);
128
130
  if (data.themes !== undefined) {
129
131
  for (const theme of data.themes) {
130
- const existingTheme = this.themes.find((t) => t.name === theme.name);
132
+ const existingTheme = this.themes.find(t => t.name === theme.name);
131
133
  if (!existingTheme) {
132
134
  const optTheme = new Theme_js_1.Theme();
133
135
  optTheme.load(theme);
@@ -138,24 +140,24 @@ class Options {
138
140
  }
139
141
  }
140
142
  }
141
- this.defaultThemes.dark = this._findDefaultTheme("dark")?.name;
142
- this.defaultThemes.light = this._findDefaultTheme("light")?.name;
143
+ this.defaultThemes.dark = this._findDefaultTheme(ThemeMode_js_1.ThemeMode.dark)?.name;
144
+ this.defaultThemes.light = this._findDefaultTheme(ThemeMode_js_1.ThemeMode.light)?.name;
143
145
  }
144
146
  setResponsive(width, pxRatio, defaultOptions) {
145
147
  this.load(defaultOptions);
146
- const responsiveOptions = this.responsive.find((t) => t.mode === "screen" && screen ? t.maxWidth > screen.availWidth : t.maxWidth * pxRatio > width);
148
+ const responsiveOptions = this.responsive.find(t => t.mode === ResponsiveMode_js_1.ResponsiveMode.screen && screen ? t.maxWidth > screen.availWidth : t.maxWidth * pxRatio > width);
147
149
  this.load(responsiveOptions?.options);
148
150
  return responsiveOptions?.maxWidth;
149
151
  }
150
152
  setTheme(name) {
151
153
  if (name) {
152
- const chosenTheme = this.themes.find((theme) => theme.name === name);
154
+ const chosenTheme = this.themes.find(theme => theme.name === name);
153
155
  if (chosenTheme) {
154
156
  this.load(chosenTheme.options);
155
157
  }
156
158
  }
157
159
  else {
158
- const mediaMatch = (0, Utils_js_1.safeMatchMedia)("(prefers-color-scheme: dark)"), clientDarkMode = mediaMatch && mediaMatch.matches, defaultTheme = this._findDefaultTheme(clientDarkMode ? "dark" : "light");
160
+ 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);
159
161
  if (defaultTheme) {
160
162
  this.load(defaultTheme.options);
161
163
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Collisions = void 0;
4
+ const CollisionMode_js_1 = require("../../../../Enums/Modes/CollisionMode.js");
4
5
  const CollisionsAbsorb_js_1 = require("./CollisionsAbsorb.js");
5
6
  const CollisionsOverlap_js_1 = require("./CollisionsOverlap.js");
6
7
  const ParticlesBounce_js_1 = require("../Bounce/ParticlesBounce.js");
@@ -11,7 +12,7 @@ class Collisions {
11
12
  this.bounce = new ParticlesBounce_js_1.ParticlesBounce();
12
13
  this.enable = false;
13
14
  this.maxSpeed = 50;
14
- this.mode = "bounce";
15
+ this.mode = CollisionMode_js_1.CollisionMode.bounce;
15
16
  this.overlap = new CollisionsOverlap_js_1.CollisionsOverlap();
16
17
  }
17
18
  load(data) {
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Move = void 0;
4
+ const MoveDirection_js_1 = require("../../../../Enums/Directions/MoveDirection.js");
4
5
  const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
5
6
  const MoveAngle_js_1 = require("./MoveAngle.js");
6
7
  const MoveAttract_js_1 = require("./MoveAttract.js");
@@ -18,7 +19,7 @@ class Move {
18
19
  this.center = new MoveCenter_js_1.MoveCenter();
19
20
  this.decay = 0;
20
21
  this.distance = {};
21
- this.direction = "none";
22
+ this.direction = MoveDirection_js_1.MoveDirection.none;
22
23
  this.drift = 0;
23
24
  this.enable = false;
24
25
  this.gravity = new MoveGravity_js_1.MoveGravity();
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MoveCenter = void 0;
4
+ const PixelMode_js_1 = require("../../../../Enums/Modes/PixelMode.js");
4
5
  class MoveCenter {
5
6
  constructor() {
6
7
  this.x = 50;
7
8
  this.y = 50;
8
- this.mode = "percent";
9
+ this.mode = PixelMode_js_1.PixelMode.percent;
9
10
  this.radius = 0;
10
11
  }
11
12
  load(data) {
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OutModes = void 0;
4
+ const OutMode_js_1 = require("../../../../Enums/Modes/OutMode.js");
4
5
  class OutModes {
5
6
  constructor() {
6
- this.default = "out";
7
+ this.default = OutMode_js_1.OutMode.out;
7
8
  }
8
9
  load(data) {
9
10
  if (!data) {
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ParticlesNumberLimit = void 0;
4
+ const LimitMode_js_1 = require("../../../../Enums/Modes/LimitMode.js");
4
5
  class ParticlesNumberLimit {
5
6
  constructor() {
6
- this.mode = "delete";
7
+ this.mode = LimitMode_js_1.LimitMode.delete;
7
8
  this.value = 0;
8
9
  }
9
10
  load(data) {
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OpacityAnimation = void 0;
4
+ const DestroyType_js_1 = require("../../../../Enums/Types/DestroyType.js");
4
5
  const AnimationOptions_js_1 = require("../../AnimationOptions.js");
5
6
  class OpacityAnimation extends AnimationOptions_js_1.RangedAnimationOptions {
6
7
  constructor() {
7
8
  super();
8
- this.destroy = "none";
9
+ this.destroy = DestroyType_js_1.DestroyType.none;
9
10
  this.speed = 2;
10
11
  }
11
12
  load(data) {
@@ -68,7 +68,7 @@ class ParticlesOptions {
68
68
  }
69
69
  const strokeToLoad = data.stroke;
70
70
  if (strokeToLoad) {
71
- this.stroke = (0, Utils_js_1.executeOnSingleOrMultiple)(strokeToLoad, (t) => {
71
+ this.stroke = (0, Utils_js_1.executeOnSingleOrMultiple)(strokeToLoad, t => {
72
72
  const tmp = new Stroke_js_1.Stroke();
73
73
  tmp.load(t);
74
74
  return tmp;
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SizeAnimation = void 0;
4
+ const DestroyType_js_1 = require("../../../../Enums/Types/DestroyType.js");
4
5
  const AnimationOptions_js_1 = require("../../AnimationOptions.js");
5
6
  class SizeAnimation extends AnimationOptions_js_1.RangedAnimationOptions {
6
7
  constructor() {
7
8
  super();
8
- this.destroy = "none";
9
+ this.destroy = DestroyType_js_1.DestroyType.none;
9
10
  this.speed = 5;
10
11
  }
11
12
  load(data) {
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Responsive = void 0;
4
+ const ResponsiveMode_js_1 = require("../../Enums/Modes/ResponsiveMode.js");
4
5
  const Utils_js_1 = require("../../Utils/Utils.js");
5
6
  class Responsive {
6
7
  constructor() {
7
8
  this.maxWidth = Infinity;
8
9
  this.options = {};
9
- this.mode = "canvas";
10
+ this.mode = ResponsiveMode_js_1.ResponsiveMode.canvas;
10
11
  }
11
12
  load(data) {
12
13
  if (!data) {
@@ -16,11 +17,11 @@ class Responsive {
16
17
  this.maxWidth = data.maxWidth;
17
18
  }
18
19
  if (data.mode !== undefined) {
19
- if (data.mode === "screen") {
20
- this.mode = "screen";
20
+ if (data.mode === ResponsiveMode_js_1.ResponsiveMode.screen) {
21
+ this.mode = ResponsiveMode_js_1.ResponsiveMode.screen;
21
22
  }
22
23
  else {
23
- this.mode = "canvas";
24
+ this.mode = ResponsiveMode_js_1.ResponsiveMode.canvas;
24
25
  }
25
26
  }
26
27
  if (data.options !== undefined) {
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ThemeDefault = void 0;
4
+ const ThemeMode_js_1 = require("../../../Enums/Modes/ThemeMode.js");
4
5
  class ThemeDefault {
5
6
  constructor() {
6
7
  this.auto = false;
7
- this.mode = "any";
8
+ this.mode = ThemeMode_js_1.ThemeMode.any;
8
9
  this.value = false;
9
10
  }
10
11
  load(data) {
@@ -1,2 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RangeType = void 0;
4
+ var RangeType;
5
+ (function (RangeType) {
6
+ RangeType["circle"] = "circle";
7
+ RangeType["rectangle"] = "rectangle";
8
+ })(RangeType || (exports.RangeType = RangeType = {}));
@@ -1,20 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.alterHsl = exports.drawParticlePlugin = exports.drawPlugin = exports.drawShapeAfterDraw = exports.drawShape = exports.drawEffect = exports.drawParticle = exports.clear = exports.paintImage = exports.paintBase = exports.drawLine = void 0;
3
+ exports.drawLine = drawLine;
4
+ exports.paintBase = paintBase;
5
+ exports.paintImage = paintImage;
6
+ exports.clear = clear;
7
+ exports.drawParticle = drawParticle;
8
+ exports.drawEffect = drawEffect;
9
+ exports.drawShape = drawShape;
10
+ exports.drawShapeAfterDraw = drawShapeAfterDraw;
11
+ exports.drawPlugin = drawPlugin;
12
+ exports.drawParticlePlugin = drawParticlePlugin;
13
+ exports.alterHsl = alterHsl;
14
+ const AlterType_js_1 = require("../Enums/Types/AlterType.js");
4
15
  const ColorUtils_js_1 = require("./ColorUtils.js");
5
- const origin = { x: 0, y: 0 };
16
+ const origin = { x: 0, y: 0 }, defaultTransform = {
17
+ a: 1,
18
+ b: 0,
19
+ c: 0,
20
+ d: 1,
21
+ };
6
22
  function drawLine(context, begin, end) {
7
23
  context.beginPath();
8
24
  context.moveTo(begin.x, begin.y);
9
25
  context.lineTo(end.x, end.y);
10
26
  context.closePath();
11
27
  }
12
- exports.drawLine = drawLine;
13
28
  function paintBase(context, dimension, baseColor) {
14
29
  context.fillStyle = baseColor ?? "rgba(0,0,0,0)";
15
30
  context.fillRect(origin.x, origin.y, dimension.width, dimension.height);
16
31
  }
17
- exports.paintBase = paintBase;
18
32
  function paintImage(context, dimension, image, opacity) {
19
33
  if (!image) {
20
34
  return;
@@ -23,20 +37,18 @@ function paintImage(context, dimension, image, opacity) {
23
37
  context.drawImage(image, origin.x, origin.y, dimension.width, dimension.height);
24
38
  context.globalAlpha = 1;
25
39
  }
26
- exports.paintImage = paintImage;
27
40
  function clear(context, dimension) {
28
41
  context.clearRect(origin.x, origin.y, dimension.width, dimension.height);
29
42
  }
30
- exports.clear = clear;
31
43
  function drawParticle(data) {
32
44
  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 = {
33
45
  sin: Math.sin(angle),
34
46
  cos: Math.cos(angle),
35
- }, defaultTransformFactor = 1, transformData = {
36
- a: rotateData.cos * (transform.a ?? defaultTransformFactor),
37
- b: rotateData.sin * (transform.b ?? defaultTransformFactor),
38
- c: -rotateData.sin * (transform.c ?? defaultTransformFactor),
39
- d: rotateData.cos * (transform.d ?? defaultTransformFactor),
47
+ }, rotating = !!angle, identity = 1, transformData = {
48
+ a: rotateData.cos * (transform.a ?? defaultTransform.a),
49
+ b: rotating ? rotateData.sin * (transform.b ?? identity) : transform.b ?? defaultTransform.b,
50
+ c: rotating ? -rotateData.sin * (transform.c ?? identity) : transform.c ?? defaultTransform.c,
51
+ d: rotateData.cos * (transform.d ?? defaultTransform.d),
40
52
  };
41
53
  context.setTransform(transformData.a, transformData.b, transformData.c, transformData.d, pos.x, pos.y);
42
54
  if (backgroundMask) {
@@ -73,7 +85,6 @@ function drawParticle(data) {
73
85
  context.globalCompositeOperation = "source-over";
74
86
  context.resetTransform();
75
87
  }
76
- exports.drawParticle = drawParticle;
77
88
  function drawEffect(data) {
78
89
  const { container, context, particle, radius, opacity, delta, transformData } = data;
79
90
  if (!particle.effect) {
@@ -93,7 +104,6 @@ function drawEffect(data) {
93
104
  transformData: { ...transformData },
94
105
  });
95
106
  }
96
- exports.drawEffect = drawEffect;
97
107
  function drawShape(data) {
98
108
  const { container, context, particle, radius, opacity, delta, strokeWidth, transformData } = data, minStrokeWidth = 0;
99
109
  if (!particle.shape) {
@@ -123,7 +133,6 @@ function drawShape(data) {
123
133
  context.fill();
124
134
  }
125
135
  }
126
- exports.drawShape = drawShape;
127
136
  function drawShapeAfterDraw(data) {
128
137
  const { container, context, particle, radius, opacity, delta, transformData } = data;
129
138
  if (!particle.shape) {
@@ -143,27 +152,23 @@ function drawShapeAfterDraw(data) {
143
152
  transformData: { ...transformData },
144
153
  });
145
154
  }
146
- exports.drawShapeAfterDraw = drawShapeAfterDraw;
147
155
  function drawPlugin(context, plugin, delta) {
148
156
  if (!plugin.draw) {
149
157
  return;
150
158
  }
151
159
  plugin.draw(context, delta);
152
160
  }
153
- exports.drawPlugin = drawPlugin;
154
161
  function drawParticlePlugin(context, plugin, particle, delta) {
155
162
  if (!plugin.drawParticle) {
156
163
  return;
157
164
  }
158
165
  plugin.drawParticle(context, particle, delta);
159
166
  }
160
- exports.drawParticlePlugin = drawParticlePlugin;
161
167
  function alterHsl(color, type, value) {
162
168
  const lFactor = 1;
163
169
  return {
164
170
  h: color.h,
165
171
  s: color.s,
166
- l: color.l + (type === "darken" ? -lFactor : lFactor) * value,
172
+ l: color.l + (type === AlterType_js_1.AlterType.darken ? -lFactor : lFactor) * value,
167
173
  };
168
174
  }
169
- exports.alterHsl = alterHsl;
@@ -1,15 +1,41 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateColor = exports.updateColorValue = exports.getHslAnimationFromHsl = exports.getHslFromAnimation = exports.getLinkRandomColor = exports.getLinkColor = exports.colorMix = exports.getStyleFromHsl = exports.getStyleFromRgb = exports.getRandomRgbColor = exports.hslaToRgba = exports.hslToRgb = exports.stringToRgb = exports.stringToAlpha = exports.rgbToHsl = exports.rangeColorToHsl = exports.colorToHsl = exports.colorToRgb = exports.rangeColorToRgb = exports.addColorManager = void 0;
3
+ exports.addColorManager = addColorManager;
4
+ exports.rangeColorToRgb = rangeColorToRgb;
5
+ exports.colorToRgb = colorToRgb;
6
+ exports.colorToHsl = colorToHsl;
7
+ exports.rangeColorToHsl = rangeColorToHsl;
8
+ exports.rgbToHsl = rgbToHsl;
9
+ exports.stringToAlpha = stringToAlpha;
10
+ exports.stringToRgb = stringToRgb;
11
+ exports.hslToRgb = hslToRgb;
12
+ exports.hslaToRgba = hslaToRgba;
13
+ exports.getRandomRgbColor = getRandomRgbColor;
14
+ exports.getStyleFromRgb = getStyleFromRgb;
15
+ exports.getStyleFromHsl = getStyleFromHsl;
16
+ exports.colorMix = colorMix;
17
+ exports.getLinkColor = getLinkColor;
18
+ exports.getLinkRandomColor = getLinkRandomColor;
19
+ exports.getHslFromAnimation = getHslFromAnimation;
20
+ exports.getHslAnimationFromHsl = getHslAnimationFromHsl;
21
+ exports.updateColorValue = updateColorValue;
22
+ exports.updateColor = updateColor;
4
23
  const NumberUtils_js_1 = require("./NumberUtils.js");
5
24
  const TypeUtils_js_1 = require("./TypeUtils.js");
6
25
  const Constants_js_1 = require("../Core/Utils/Constants.js");
26
+ const AnimationStatus_js_1 = require("../Enums/AnimationStatus.js");
7
27
  const Utils_js_1 = require("./Utils.js");
28
+ var RgbIndexes;
29
+ (function (RgbIndexes) {
30
+ RgbIndexes[RgbIndexes["r"] = 1] = "r";
31
+ RgbIndexes[RgbIndexes["g"] = 2] = "g";
32
+ RgbIndexes[RgbIndexes["b"] = 3] = "b";
33
+ RgbIndexes[RgbIndexes["a"] = 4] = "a";
34
+ })(RgbIndexes || (RgbIndexes = {}));
8
35
  const randomColorValue = "random", midColorValue = "mid", colorManagers = new Map();
9
36
  function addColorManager(manager) {
10
37
  colorManagers.set(manager.key, manager);
11
38
  }
12
- exports.addColorManager = addColorManager;
13
39
  function stringToRgba(input) {
14
40
  for (const [, manager] of colorManagers) {
15
41
  if (input.startsWith(manager.stringPrefix)) {
@@ -21,12 +47,12 @@ function stringToRgba(input) {
21
47
  }), 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;
22
48
  return result
23
49
  ? {
24
- a: result[4] !== undefined
25
- ? parseInt(result[4], radix) / alphaFactor
50
+ a: result[RgbIndexes.a] !== undefined
51
+ ? parseInt(result[RgbIndexes.a], radix) / alphaFactor
26
52
  : defaultAlpha,
27
- b: parseInt(result[3], radix),
28
- g: parseInt(result[2], radix),
29
- r: parseInt(result[1], radix),
53
+ b: parseInt(result[RgbIndexes.b], radix),
54
+ g: parseInt(result[RgbIndexes.g], radix),
55
+ r: parseInt(result[RgbIndexes.r], radix),
30
56
  }
31
57
  : undefined;
32
58
  }
@@ -50,7 +76,6 @@ function rangeColorToRgb(input, index, useIndex = true) {
50
76
  }
51
77
  }
52
78
  }
53
- exports.rangeColorToRgb = rangeColorToRgb;
54
79
  function colorToRgb(input, index, useIndex = true) {
55
80
  if (!input) {
56
81
  return;
@@ -71,17 +96,14 @@ function colorToRgb(input, index, useIndex = true) {
71
96
  }
72
97
  }
73
98
  }
74
- exports.colorToRgb = colorToRgb;
75
99
  function colorToHsl(color, index, useIndex = true) {
76
100
  const rgb = colorToRgb(color, index, useIndex);
77
101
  return rgb ? rgbToHsl(rgb) : undefined;
78
102
  }
79
- exports.colorToHsl = colorToHsl;
80
103
  function rangeColorToHsl(color, index, useIndex = true) {
81
104
  const rgb = rangeColorToRgb(color, index, useIndex);
82
105
  return rgb ? rgbToHsl(rgb) : undefined;
83
106
  }
84
- exports.rangeColorToHsl = rangeColorToHsl;
85
107
  function rgbToHsl(color) {
86
108
  const rgbMax = 255, hMax = 360, sMax = 100, lMax = 100, hMin = 0, sMin = 0, hPhase = 60, half = 0.5, double = 2, r1 = color.r / rgbMax, g1 = color.g / rgbMax, b1 = color.b / rgbMax, max = Math.max(r1, g1, b1), min = Math.min(r1, g1, b1), res = {
87
109
  h: hMin,
@@ -106,15 +128,12 @@ function rgbToHsl(color) {
106
128
  }
107
129
  return res;
108
130
  }
109
- exports.rgbToHsl = rgbToHsl;
110
131
  function stringToAlpha(input) {
111
132
  return stringToRgba(input)?.a;
112
133
  }
113
- exports.stringToAlpha = stringToAlpha;
114
134
  function stringToRgb(input) {
115
135
  return stringToRgba(input);
116
136
  }
117
- exports.stringToRgb = stringToRgb;
118
137
  function hslToRgb(hsl) {
119
138
  const hMax = 360, sMax = 100, lMax = 100, sMin = 0, lMin = 0, h = ((hsl.h % hMax) + hMax) % hMax, s = Math.max(sMin, Math.min(sMax, hsl.s)), l = Math.max(lMin, Math.min(lMax, hsl.l)), hNormalized = h / hMax, sNormalized = s / sMax, lNormalized = l / lMax, rgbFactor = 255, triple = 3;
120
139
  if (s === sMin) {
@@ -145,7 +164,6 @@ function hslToRgb(hsl) {
145
164
  : lNormalized + sNormalized - lNormalized * sNormalized, temp2 = double * lNormalized - temp1, phaseNumerator = 1, phaseThird = phaseNumerator / triple, red = Math.min(rgbFactor, rgbFactor * channel(temp2, temp1, hNormalized + phaseThird)), green = Math.min(rgbFactor, rgbFactor * channel(temp2, temp1, hNormalized)), blue = Math.min(rgbFactor, rgbFactor * channel(temp2, temp1, hNormalized - phaseThird));
146
165
  return { r: Math.round(red), g: Math.round(green), b: Math.round(blue) };
147
166
  }
148
- exports.hslToRgb = hslToRgb;
149
167
  function hslaToRgba(hsla) {
150
168
  const rgbResult = hslToRgb(hsla);
151
169
  return {
@@ -155,7 +173,6 @@ function hslaToRgba(hsla) {
155
173
  r: rgbResult.r,
156
174
  };
157
175
  }
158
- exports.hslaToRgba = hslaToRgba;
159
176
  function getRandomRgbColor(min) {
160
177
  const defaultMin = 0, fixedMin = min ?? defaultMin, rgbMax = 256;
161
178
  return {
@@ -164,17 +181,14 @@ function getRandomRgbColor(min) {
164
181
  r: Math.floor((0, NumberUtils_js_1.randomInRange)((0, NumberUtils_js_1.setRangeValue)(fixedMin, rgbMax))),
165
182
  };
166
183
  }
167
- exports.getRandomRgbColor = getRandomRgbColor;
168
184
  function getStyleFromRgb(color, opacity) {
169
185
  const defaultOpacity = 1;
170
186
  return `rgba(${color.r}, ${color.g}, ${color.b}, ${opacity ?? defaultOpacity})`;
171
187
  }
172
- exports.getStyleFromRgb = getStyleFromRgb;
173
188
  function getStyleFromHsl(color, opacity) {
174
189
  const defaultOpacity = 1;
175
190
  return `hsla(${color.h}, ${color.s}%, ${color.l}%, ${opacity ?? defaultOpacity})`;
176
191
  }
177
- exports.getStyleFromHsl = getStyleFromHsl;
178
192
  function colorMix(color1, color2, size1, size2) {
179
193
  let rgb1 = color1, rgb2 = color2;
180
194
  if (rgb1.r === undefined) {
@@ -189,7 +203,6 @@ function colorMix(color1, color2, size1, size2) {
189
203
  r: (0, NumberUtils_js_1.mix)(rgb1.r, rgb2.r, size1, size2),
190
204
  };
191
205
  }
192
- exports.colorMix = colorMix;
193
206
  function getLinkColor(p1, p2, linkColor) {
194
207
  if (linkColor === randomColorValue) {
195
208
  return getRandomRgbColor();
@@ -210,7 +223,6 @@ function getLinkColor(p1, p2, linkColor) {
210
223
  return linkColor;
211
224
  }
212
225
  }
213
- exports.getLinkColor = getLinkColor;
214
226
  function getLinkRandomColor(optColor, blink, consent) {
215
227
  const color = (0, TypeUtils_js_1.isString)(optColor) ? optColor : optColor.value;
216
228
  if (color === randomColorValue) {
@@ -233,7 +245,6 @@ function getLinkRandomColor(optColor, blink, consent) {
233
245
  });
234
246
  }
235
247
  }
236
- exports.getLinkRandomColor = getLinkRandomColor;
237
248
  function getHslFromAnimation(animation) {
238
249
  return animation !== undefined
239
250
  ? {
@@ -243,7 +254,6 @@ function getHslFromAnimation(animation) {
243
254
  }
244
255
  : undefined;
245
256
  }
246
- exports.getHslFromAnimation = getHslFromAnimation;
247
257
  function getHslAnimationFromHsl(hsl, animationOptions, reduceFactor) {
248
258
  const resColor = {
249
259
  h: {
@@ -266,14 +276,13 @@ function getHslAnimationFromHsl(hsl, animationOptions, reduceFactor) {
266
276
  }
267
277
  return resColor;
268
278
  }
269
- exports.getHslAnimationFromHsl = getHslAnimationFromHsl;
270
279
  function setColorAnimation(colorValue, colorAnimation, reduceFactor) {
271
280
  colorValue.enable = colorAnimation.enable;
272
281
  const defaultVelocity = 0, decayOffset = 1, defaultLoops = 0, defaultTime = 0;
273
282
  if (colorValue.enable) {
274
283
  colorValue.velocity = ((0, NumberUtils_js_1.getRangeValue)(colorAnimation.speed) / Constants_js_1.percentDenominator) * reduceFactor;
275
284
  colorValue.decay = decayOffset - (0, NumberUtils_js_1.getRangeValue)(colorAnimation.decay);
276
- colorValue.status = "increasing";
285
+ colorValue.status = AnimationStatus_js_1.AnimationStatus.increasing;
277
286
  colorValue.loops = defaultLoops;
278
287
  colorValue.maxLoops = (0, NumberUtils_js_1.getRangeValue)(colorAnimation.count);
279
288
  colorValue.time = defaultTime;
@@ -306,7 +315,7 @@ function updateColorValue(data, range, decrease, delta) {
306
315
  return;
307
316
  }
308
317
  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);
309
- if (!decrease || data.status === "increasing") {
318
+ if (!decrease || data.status === AnimationStatus_js_1.AnimationStatus.increasing) {
310
319
  data.value += velocity;
311
320
  if (data.value > max) {
312
321
  if (!data.loops) {
@@ -314,7 +323,7 @@ function updateColorValue(data, range, decrease, delta) {
314
323
  }
315
324
  data.loops++;
316
325
  if (decrease) {
317
- data.status = "decreasing";
326
+ data.status = AnimationStatus_js_1.AnimationStatus.decreasing;
318
327
  }
319
328
  else {
320
329
  data.value -= max;
@@ -329,7 +338,7 @@ function updateColorValue(data, range, decrease, delta) {
329
338
  data.loops = 0;
330
339
  }
331
340
  data.loops++;
332
- data.status = "increasing";
341
+ data.status = AnimationStatus_js_1.AnimationStatus.increasing;
333
342
  }
334
343
  }
335
344
  if (data.velocity && decay !== identity) {
@@ -337,7 +346,6 @@ function updateColorValue(data, range, decrease, delta) {
337
346
  }
338
347
  data.value = (0, NumberUtils_js_1.clamp)(data.value, min, max);
339
348
  }
340
- exports.updateColorValue = updateColorValue;
341
349
  function updateColor(color, delta) {
342
350
  if (!color) {
343
351
  return;
@@ -358,4 +366,3 @@ function updateColor(color, delta) {
358
366
  updateColorValue(l, ranges.l, true, delta);
359
367
  }
360
368
  }
361
- exports.updateColor = updateColor;
@@ -16,7 +16,7 @@ class EventDispatcher {
16
16
  }
17
17
  dispatchEvent(type, args) {
18
18
  const listeners = this._listeners.get(type);
19
- listeners?.forEach((handler) => handler(args));
19
+ listeners?.forEach(handler => handler(args));
20
20
  }
21
21
  hasEventListener(type) {
22
22
  return !!this._listeners.get(type);