@tsparticles/engine 3.6.0-beta.1 → 3.7.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 (269) hide show
  1. package/README.md +6 -1
  2. package/browser/Core/Canvas.js +32 -21
  3. package/browser/Core/Container.js +1 -1
  4. package/browser/Core/Engine.js +17 -1
  5. package/browser/Core/Particle.js +1 -1
  6. package/browser/Options/Classes/AnimatableColor.js +2 -2
  7. package/browser/Options/Classes/AnimationOptions.js +3 -2
  8. package/browser/Options/Classes/Background/Background.js +2 -1
  9. package/browser/Options/Classes/BackgroundMask/BackgroundMask.js +2 -2
  10. package/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.js +2 -1
  11. package/browser/Options/Classes/ColorAnimation.js +2 -1
  12. package/browser/Options/Classes/FullScreen/FullScreen.js +2 -1
  13. package/browser/Options/Classes/HslAnimation.js +2 -1
  14. package/browser/Options/Classes/Interactivity/Events/ClickEvent.js +2 -1
  15. package/browser/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
  16. package/browser/Options/Classes/Interactivity/Events/Events.js +2 -1
  17. package/browser/Options/Classes/Interactivity/Events/HoverEvent.js +2 -1
  18. package/browser/Options/Classes/Interactivity/Events/Parallax.js +2 -1
  19. package/browser/Options/Classes/Interactivity/Events/ResizeEvent.js +2 -1
  20. package/browser/Options/Classes/Interactivity/Interactivity.js +2 -1
  21. package/browser/Options/Classes/Interactivity/Modes/Modes.js +2 -1
  22. package/browser/Options/Classes/ManualParticle.js +2 -1
  23. package/browser/Options/Classes/Options.js +2 -2
  24. package/browser/Options/Classes/OptionsColor.js +5 -3
  25. package/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -1
  26. package/browser/Options/Classes/Particles/Collisions/Collisions.js +2 -1
  27. package/browser/Options/Classes/Particles/Collisions/CollisionsAbsorb.js +2 -1
  28. package/browser/Options/Classes/Particles/Collisions/CollisionsOverlap.js +2 -1
  29. package/browser/Options/Classes/Particles/Effect/Effect.js +2 -1
  30. package/browser/Options/Classes/Particles/Move/Move.js +2 -2
  31. package/browser/Options/Classes/Particles/Move/MoveAngle.js +2 -1
  32. package/browser/Options/Classes/Particles/Move/MoveAttract.js +2 -1
  33. package/browser/Options/Classes/Particles/Move/MoveCenter.js +2 -1
  34. package/browser/Options/Classes/Particles/Move/MoveGravity.js +2 -1
  35. package/browser/Options/Classes/Particles/Move/MoveTrail.js +2 -1
  36. package/browser/Options/Classes/Particles/Move/MoveTrailFill.js +2 -1
  37. package/browser/Options/Classes/Particles/Move/OutModes.js +2 -1
  38. package/browser/Options/Classes/Particles/Move/Path/MovePath.js +2 -1
  39. package/browser/Options/Classes/Particles/Move/Spin.js +2 -1
  40. package/browser/Options/Classes/Particles/Number/ParticlesDensity.js +2 -1
  41. package/browser/Options/Classes/Particles/Number/ParticlesNumber.js +2 -1
  42. package/browser/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
  43. package/browser/Options/Classes/Particles/Opacity/Opacity.js +2 -1
  44. package/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
  45. package/browser/Options/Classes/Particles/ParticlesOptions.js +2 -1
  46. package/browser/Options/Classes/Particles/Shadow.js +2 -1
  47. package/browser/Options/Classes/Particles/Shape/Shape.js +2 -1
  48. package/browser/Options/Classes/Particles/Size/Size.js +2 -1
  49. package/browser/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
  50. package/browser/Options/Classes/Particles/Stroke.js +2 -1
  51. package/browser/Options/Classes/Particles/ZIndex/ZIndex.js +2 -1
  52. package/browser/Options/Classes/Responsive.js +5 -4
  53. package/browser/Options/Classes/Theme/Theme.js +2 -1
  54. package/browser/Options/Classes/Theme/ThemeDefault.js +2 -1
  55. package/browser/Options/Classes/ValueWithRandom.js +4 -3
  56. package/browser/Types/EasingFunction.js +1 -0
  57. package/browser/Utils/ColorUtils.js +25 -45
  58. package/browser/Utils/NumberUtils.js +1 -10
  59. package/browser/Utils/TypeUtils.js +3 -0
  60. package/browser/Utils/Utils.js +6 -0
  61. package/browser/exports.js +0 -2
  62. package/browser/init.js +0 -6
  63. package/cjs/Core/Canvas.js +32 -21
  64. package/cjs/Core/Container.js +1 -1
  65. package/cjs/Core/Engine.js +17 -1
  66. package/cjs/Core/Particle.js +1 -1
  67. package/cjs/Options/Classes/AnimatableColor.js +1 -1
  68. package/cjs/Options/Classes/AnimationOptions.js +3 -2
  69. package/cjs/Options/Classes/Background/Background.js +2 -1
  70. package/cjs/Options/Classes/BackgroundMask/BackgroundMask.js +2 -2
  71. package/cjs/Options/Classes/BackgroundMask/BackgroundMaskCover.js +2 -1
  72. package/cjs/Options/Classes/ColorAnimation.js +2 -1
  73. package/cjs/Options/Classes/FullScreen/FullScreen.js +2 -1
  74. package/cjs/Options/Classes/HslAnimation.js +2 -1
  75. package/cjs/Options/Classes/Interactivity/Events/ClickEvent.js +2 -1
  76. package/cjs/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
  77. package/cjs/Options/Classes/Interactivity/Events/Events.js +2 -1
  78. package/cjs/Options/Classes/Interactivity/Events/HoverEvent.js +2 -1
  79. package/cjs/Options/Classes/Interactivity/Events/Parallax.js +2 -1
  80. package/cjs/Options/Classes/Interactivity/Events/ResizeEvent.js +2 -1
  81. package/cjs/Options/Classes/Interactivity/Interactivity.js +2 -1
  82. package/cjs/Options/Classes/Interactivity/Modes/Modes.js +2 -1
  83. package/cjs/Options/Classes/ManualParticle.js +2 -1
  84. package/cjs/Options/Classes/Options.js +2 -2
  85. package/cjs/Options/Classes/OptionsColor.js +4 -2
  86. package/cjs/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -1
  87. package/cjs/Options/Classes/Particles/Collisions/Collisions.js +2 -1
  88. package/cjs/Options/Classes/Particles/Collisions/CollisionsAbsorb.js +2 -1
  89. package/cjs/Options/Classes/Particles/Collisions/CollisionsOverlap.js +2 -1
  90. package/cjs/Options/Classes/Particles/Effect/Effect.js +2 -1
  91. package/cjs/Options/Classes/Particles/Move/Move.js +1 -1
  92. package/cjs/Options/Classes/Particles/Move/MoveAngle.js +2 -1
  93. package/cjs/Options/Classes/Particles/Move/MoveAttract.js +2 -1
  94. package/cjs/Options/Classes/Particles/Move/MoveCenter.js +2 -1
  95. package/cjs/Options/Classes/Particles/Move/MoveGravity.js +2 -1
  96. package/cjs/Options/Classes/Particles/Move/MoveTrail.js +2 -1
  97. package/cjs/Options/Classes/Particles/Move/MoveTrailFill.js +2 -1
  98. package/cjs/Options/Classes/Particles/Move/OutModes.js +2 -1
  99. package/cjs/Options/Classes/Particles/Move/Path/MovePath.js +2 -1
  100. package/cjs/Options/Classes/Particles/Move/Spin.js +2 -1
  101. package/cjs/Options/Classes/Particles/Number/ParticlesDensity.js +2 -1
  102. package/cjs/Options/Classes/Particles/Number/ParticlesNumber.js +2 -1
  103. package/cjs/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
  104. package/cjs/Options/Classes/Particles/Opacity/Opacity.js +2 -1
  105. package/cjs/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
  106. package/cjs/Options/Classes/Particles/ParticlesOptions.js +2 -1
  107. package/cjs/Options/Classes/Particles/Shadow.js +2 -1
  108. package/cjs/Options/Classes/Particles/Shape/Shape.js +2 -1
  109. package/cjs/Options/Classes/Particles/Size/Size.js +2 -1
  110. package/cjs/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
  111. package/cjs/Options/Classes/Particles/Stroke.js +2 -1
  112. package/cjs/Options/Classes/Particles/ZIndex/ZIndex.js +2 -1
  113. package/cjs/Options/Classes/Responsive.js +5 -4
  114. package/cjs/Options/Classes/Theme/Theme.js +2 -1
  115. package/cjs/Options/Classes/Theme/ThemeDefault.js +2 -1
  116. package/cjs/Options/Classes/ValueWithRandom.js +4 -3
  117. package/cjs/Types/EasingFunction.js +2 -0
  118. package/cjs/Utils/ColorUtils.js +25 -46
  119. package/cjs/Utils/NumberUtils.js +1 -12
  120. package/cjs/Utils/TypeUtils.js +4 -0
  121. package/cjs/Utils/Utils.js +7 -0
  122. package/cjs/exports.js +0 -2
  123. package/cjs/init.js +0 -6
  124. package/esm/Core/Canvas.js +32 -21
  125. package/esm/Core/Container.js +1 -1
  126. package/esm/Core/Engine.js +17 -1
  127. package/esm/Core/Particle.js +1 -1
  128. package/esm/Options/Classes/AnimatableColor.js +2 -2
  129. package/esm/Options/Classes/AnimationOptions.js +3 -2
  130. package/esm/Options/Classes/Background/Background.js +2 -1
  131. package/esm/Options/Classes/BackgroundMask/BackgroundMask.js +2 -2
  132. package/esm/Options/Classes/BackgroundMask/BackgroundMaskCover.js +2 -1
  133. package/esm/Options/Classes/ColorAnimation.js +2 -1
  134. package/esm/Options/Classes/FullScreen/FullScreen.js +2 -1
  135. package/esm/Options/Classes/HslAnimation.js +2 -1
  136. package/esm/Options/Classes/Interactivity/Events/ClickEvent.js +2 -1
  137. package/esm/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
  138. package/esm/Options/Classes/Interactivity/Events/Events.js +2 -1
  139. package/esm/Options/Classes/Interactivity/Events/HoverEvent.js +2 -1
  140. package/esm/Options/Classes/Interactivity/Events/Parallax.js +2 -1
  141. package/esm/Options/Classes/Interactivity/Events/ResizeEvent.js +2 -1
  142. package/esm/Options/Classes/Interactivity/Interactivity.js +2 -1
  143. package/esm/Options/Classes/Interactivity/Modes/Modes.js +2 -1
  144. package/esm/Options/Classes/ManualParticle.js +2 -1
  145. package/esm/Options/Classes/Options.js +2 -2
  146. package/esm/Options/Classes/OptionsColor.js +5 -3
  147. package/esm/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -1
  148. package/esm/Options/Classes/Particles/Collisions/Collisions.js +2 -1
  149. package/esm/Options/Classes/Particles/Collisions/CollisionsAbsorb.js +2 -1
  150. package/esm/Options/Classes/Particles/Collisions/CollisionsOverlap.js +2 -1
  151. package/esm/Options/Classes/Particles/Effect/Effect.js +2 -1
  152. package/esm/Options/Classes/Particles/Move/Move.js +2 -2
  153. package/esm/Options/Classes/Particles/Move/MoveAngle.js +2 -1
  154. package/esm/Options/Classes/Particles/Move/MoveAttract.js +2 -1
  155. package/esm/Options/Classes/Particles/Move/MoveCenter.js +2 -1
  156. package/esm/Options/Classes/Particles/Move/MoveGravity.js +2 -1
  157. package/esm/Options/Classes/Particles/Move/MoveTrail.js +2 -1
  158. package/esm/Options/Classes/Particles/Move/MoveTrailFill.js +2 -1
  159. package/esm/Options/Classes/Particles/Move/OutModes.js +2 -1
  160. package/esm/Options/Classes/Particles/Move/Path/MovePath.js +2 -1
  161. package/esm/Options/Classes/Particles/Move/Spin.js +2 -1
  162. package/esm/Options/Classes/Particles/Number/ParticlesDensity.js +2 -1
  163. package/esm/Options/Classes/Particles/Number/ParticlesNumber.js +2 -1
  164. package/esm/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
  165. package/esm/Options/Classes/Particles/Opacity/Opacity.js +2 -1
  166. package/esm/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
  167. package/esm/Options/Classes/Particles/ParticlesOptions.js +2 -1
  168. package/esm/Options/Classes/Particles/Shadow.js +2 -1
  169. package/esm/Options/Classes/Particles/Shape/Shape.js +2 -1
  170. package/esm/Options/Classes/Particles/Size/Size.js +2 -1
  171. package/esm/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
  172. package/esm/Options/Classes/Particles/Stroke.js +2 -1
  173. package/esm/Options/Classes/Particles/ZIndex/ZIndex.js +2 -1
  174. package/esm/Options/Classes/Responsive.js +5 -4
  175. package/esm/Options/Classes/Theme/Theme.js +2 -1
  176. package/esm/Options/Classes/Theme/ThemeDefault.js +2 -1
  177. package/esm/Options/Classes/ValueWithRandom.js +4 -3
  178. package/esm/Types/EasingFunction.js +1 -0
  179. package/esm/Utils/ColorUtils.js +25 -45
  180. package/esm/Utils/NumberUtils.js +1 -10
  181. package/esm/Utils/TypeUtils.js +3 -0
  182. package/esm/Utils/Utils.js +6 -0
  183. package/esm/exports.js +0 -2
  184. package/esm/init.js +0 -6
  185. package/package.json +1 -1
  186. package/report.html +1 -1
  187. package/tsparticles.engine.js +62 -82
  188. package/tsparticles.engine.min.js +1 -1
  189. package/tsparticles.engine.min.js.LICENSE.txt +1 -1
  190. package/types/Core/Canvas.d.ts +4 -1
  191. package/types/Core/Engine.d.ts +9 -1
  192. package/types/Core/Interfaces/Colors.d.ts +28 -0
  193. package/types/Types/EasingFunction.d.ts +1 -0
  194. package/types/Utils/ColorUtils.d.ts +8 -9
  195. package/types/Utils/NumberUtils.d.ts +0 -5
  196. package/types/Utils/TypeUtils.d.ts +1 -0
  197. package/types/Utils/Utils.d.ts +2 -0
  198. package/types/exports.d.ts +0 -2
  199. package/umd/Core/Canvas.js +32 -21
  200. package/umd/Core/Container.js +1 -1
  201. package/umd/Core/Engine.js +17 -1
  202. package/umd/Core/Particle.js +1 -1
  203. package/umd/Options/Classes/AnimatableColor.js +1 -1
  204. package/umd/Options/Classes/AnimationOptions.js +4 -3
  205. package/umd/Options/Classes/Background/Background.js +3 -2
  206. package/umd/Options/Classes/BackgroundMask/BackgroundMask.js +3 -3
  207. package/umd/Options/Classes/BackgroundMask/BackgroundMaskCover.js +3 -2
  208. package/umd/Options/Classes/ColorAnimation.js +3 -2
  209. package/umd/Options/Classes/FullScreen/FullScreen.js +3 -2
  210. package/umd/Options/Classes/HslAnimation.js +3 -2
  211. package/umd/Options/Classes/Interactivity/Events/ClickEvent.js +3 -2
  212. package/umd/Options/Classes/Interactivity/Events/DivEvent.js +3 -2
  213. package/umd/Options/Classes/Interactivity/Events/Events.js +3 -2
  214. package/umd/Options/Classes/Interactivity/Events/HoverEvent.js +3 -2
  215. package/umd/Options/Classes/Interactivity/Events/Parallax.js +3 -2
  216. package/umd/Options/Classes/Interactivity/Events/ResizeEvent.js +3 -2
  217. package/umd/Options/Classes/Interactivity/Interactivity.js +3 -2
  218. package/umd/Options/Classes/Interactivity/Modes/Modes.js +3 -2
  219. package/umd/Options/Classes/ManualParticle.js +3 -2
  220. package/umd/Options/Classes/Options.js +3 -3
  221. package/umd/Options/Classes/OptionsColor.js +4 -2
  222. package/umd/Options/Classes/Particles/Bounce/ParticlesBounce.js +3 -2
  223. package/umd/Options/Classes/Particles/Collisions/Collisions.js +3 -2
  224. package/umd/Options/Classes/Particles/Collisions/CollisionsAbsorb.js +3 -2
  225. package/umd/Options/Classes/Particles/Collisions/CollisionsOverlap.js +3 -2
  226. package/umd/Options/Classes/Particles/Effect/Effect.js +3 -2
  227. package/umd/Options/Classes/Particles/Move/Move.js +1 -1
  228. package/umd/Options/Classes/Particles/Move/MoveAngle.js +3 -2
  229. package/umd/Options/Classes/Particles/Move/MoveAttract.js +3 -2
  230. package/umd/Options/Classes/Particles/Move/MoveCenter.js +3 -2
  231. package/umd/Options/Classes/Particles/Move/MoveGravity.js +3 -2
  232. package/umd/Options/Classes/Particles/Move/MoveTrail.js +3 -2
  233. package/umd/Options/Classes/Particles/Move/MoveTrailFill.js +3 -2
  234. package/umd/Options/Classes/Particles/Move/OutModes.js +3 -2
  235. package/umd/Options/Classes/Particles/Move/Path/MovePath.js +3 -2
  236. package/umd/Options/Classes/Particles/Move/Spin.js +3 -2
  237. package/umd/Options/Classes/Particles/Number/ParticlesDensity.js +3 -2
  238. package/umd/Options/Classes/Particles/Number/ParticlesNumber.js +3 -2
  239. package/umd/Options/Classes/Particles/Number/ParticlesNumberLimit.js +3 -2
  240. package/umd/Options/Classes/Particles/Opacity/Opacity.js +3 -2
  241. package/umd/Options/Classes/Particles/Opacity/OpacityAnimation.js +3 -2
  242. package/umd/Options/Classes/Particles/ParticlesOptions.js +3 -2
  243. package/umd/Options/Classes/Particles/Shadow.js +3 -2
  244. package/umd/Options/Classes/Particles/Shape/Shape.js +3 -2
  245. package/umd/Options/Classes/Particles/Size/Size.js +3 -2
  246. package/umd/Options/Classes/Particles/Size/SizeAnimation.js +3 -2
  247. package/umd/Options/Classes/Particles/Stroke.js +3 -2
  248. package/umd/Options/Classes/Particles/ZIndex/ZIndex.js +3 -2
  249. package/umd/Options/Classes/Responsive.js +6 -5
  250. package/umd/Options/Classes/Theme/Theme.js +3 -2
  251. package/umd/Options/Classes/Theme/ThemeDefault.js +3 -2
  252. package/umd/Options/Classes/ValueWithRandom.js +5 -4
  253. package/umd/Types/EasingFunction.js +12 -0
  254. package/umd/Utils/ColorUtils.js +25 -46
  255. package/umd/Utils/NumberUtils.js +1 -12
  256. package/umd/Utils/TypeUtils.js +4 -0
  257. package/umd/Utils/Utils.js +7 -0
  258. package/umd/exports.js +1 -3
  259. package/umd/init.js +1 -7
  260. package/browser/Utils/HslColorManager.js +0 -45
  261. package/browser/Utils/RgbColorManager.js +0 -44
  262. package/cjs/Utils/HslColorManager.js +0 -49
  263. package/cjs/Utils/RgbColorManager.js +0 -48
  264. package/esm/Utils/HslColorManager.js +0 -45
  265. package/esm/Utils/RgbColorManager.js +0 -44
  266. package/types/Utils/HslColorManager.d.ts +0 -10
  267. package/types/Utils/RgbColorManager.d.ts +0 -10
  268. package/umd/Utils/HslColorManager.js +0 -59
  269. package/umd/Utils/RgbColorManager.js +0 -58
@@ -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", "../../../../Enums/Types/DestroyType.js", "../../AnimationOptions.js"], factory);
7
+ define(["require", "exports", "../../../../Enums/Types/DestroyType.js", "../../AnimationOptions.js", "../../../../Utils/TypeUtils.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
@@ -12,6 +12,7 @@
12
12
  exports.SizeAnimation = void 0;
13
13
  const DestroyType_js_1 = require("../../../../Enums/Types/DestroyType.js");
14
14
  const AnimationOptions_js_1 = require("../../AnimationOptions.js");
15
+ const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
15
16
  class SizeAnimation extends AnimationOptions_js_1.RangedAnimationOptions {
16
17
  constructor() {
17
18
  super();
@@ -20,7 +21,7 @@
20
21
  }
21
22
  load(data) {
22
23
  super.load(data);
23
- if (!data) {
24
+ if ((0, TypeUtils_js_1.isNull)(data)) {
24
25
  return;
25
26
  }
26
27
  if (data.destroy !== undefined) {
@@ -4,20 +4,21 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "../AnimatableColor.js", "../../../Utils/NumberUtils.js"], factory);
7
+ define(["require", "exports", "../AnimatableColor.js", "../../../Utils/TypeUtils.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.Stroke = void 0;
13
13
  const AnimatableColor_js_1 = require("../AnimatableColor.js");
14
+ const TypeUtils_js_1 = require("../../../Utils/TypeUtils.js");
14
15
  const NumberUtils_js_1 = require("../../../Utils/NumberUtils.js");
15
16
  class Stroke {
16
17
  constructor() {
17
18
  this.width = 0;
18
19
  }
19
20
  load(data) {
20
- if (!data) {
21
+ if ((0, TypeUtils_js_1.isNull)(data)) {
21
22
  return;
22
23
  }
23
24
  if (data.color !== undefined) {
@@ -4,13 +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", "../../ValueWithRandom.js"], factory);
7
+ define(["require", "exports", "../../ValueWithRandom.js", "../../../../Utils/TypeUtils.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ZIndex = void 0;
13
13
  const ValueWithRandom_js_1 = require("../../ValueWithRandom.js");
14
+ const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
14
15
  class ZIndex extends ValueWithRandom_js_1.ValueWithRandom {
15
16
  constructor() {
16
17
  super();
@@ -20,7 +21,7 @@
20
21
  }
21
22
  load(data) {
22
23
  super.load(data);
23
- if (!data) {
24
+ if ((0, TypeUtils_js_1.isNull)(data)) {
24
25
  return;
25
26
  }
26
27
  if (data.opacityRate !== undefined) {
@@ -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", "../../Enums/Modes/ResponsiveMode.js", "../../Utils/Utils.js"], factory);
7
+ define(["require", "exports", "../../Enums/Modes/ResponsiveMode.js", "../../Utils/Utils.js", "../../Utils/TypeUtils.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
@@ -12,6 +12,7 @@
12
12
  exports.Responsive = void 0;
13
13
  const ResponsiveMode_js_1 = require("../../Enums/Modes/ResponsiveMode.js");
14
14
  const Utils_js_1 = require("../../Utils/Utils.js");
15
+ const TypeUtils_js_1 = require("../../Utils/TypeUtils.js");
15
16
  class Responsive {
16
17
  constructor() {
17
18
  this.maxWidth = Infinity;
@@ -19,13 +20,13 @@
19
20
  this.mode = ResponsiveMode_js_1.ResponsiveMode.canvas;
20
21
  }
21
22
  load(data) {
22
- if (!data) {
23
+ if ((0, TypeUtils_js_1.isNull)(data)) {
23
24
  return;
24
25
  }
25
- if (data.maxWidth !== undefined) {
26
+ if (!(0, TypeUtils_js_1.isNull)(data.maxWidth)) {
26
27
  this.maxWidth = data.maxWidth;
27
28
  }
28
- if (data.mode !== undefined) {
29
+ if (!(0, TypeUtils_js_1.isNull)(data.mode)) {
29
30
  if (data.mode === ResponsiveMode_js_1.ResponsiveMode.screen) {
30
31
  this.mode = ResponsiveMode_js_1.ResponsiveMode.screen;
31
32
  }
@@ -33,7 +34,7 @@
33
34
  this.mode = ResponsiveMode_js_1.ResponsiveMode.canvas;
34
35
  }
35
36
  }
36
- if (data.options !== undefined) {
37
+ if (!(0, TypeUtils_js_1.isNull)(data.options)) {
37
38
  this.options = (0, Utils_js_1.deepExtend)({}, data.options);
38
39
  }
39
40
  }
@@ -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", "./ThemeDefault.js", "../../../Utils/Utils.js"], factory);
7
+ define(["require", "exports", "./ThemeDefault.js", "../../../Utils/Utils.js", "../../../Utils/TypeUtils.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
@@ -12,13 +12,14 @@
12
12
  exports.Theme = void 0;
13
13
  const ThemeDefault_js_1 = require("./ThemeDefault.js");
14
14
  const Utils_js_1 = require("../../../Utils/Utils.js");
15
+ const TypeUtils_js_1 = require("../../../Utils/TypeUtils.js");
15
16
  class Theme {
16
17
  constructor() {
17
18
  this.name = "";
18
19
  this.default = new ThemeDefault_js_1.ThemeDefault();
19
20
  }
20
21
  load(data) {
21
- if (!data) {
22
+ if ((0, TypeUtils_js_1.isNull)(data)) {
22
23
  return;
23
24
  }
24
25
  if (data.name !== undefined) {
@@ -4,13 +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", "../../../Enums/Modes/ThemeMode.js"], factory);
7
+ define(["require", "exports", "../../../Enums/Modes/ThemeMode.js", "../../../Utils/TypeUtils.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
13
  const ThemeMode_js_1 = require("../../../Enums/Modes/ThemeMode.js");
14
+ const TypeUtils_js_1 = require("../../../Utils/TypeUtils.js");
14
15
  class ThemeDefault {
15
16
  constructor() {
16
17
  this.auto = false;
@@ -18,7 +19,7 @@
18
19
  this.value = false;
19
20
  }
20
21
  load(data) {
21
- if (!data) {
22
+ if ((0, TypeUtils_js_1.isNull)(data)) {
22
23
  return;
23
24
  }
24
25
  if (data.auto !== undefined) {
@@ -4,23 +4,24 @@
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", "../../Utils/NumberUtils.js"], factory);
7
+ define(["require", "exports", "./AnimationOptions.js", "../../Utils/TypeUtils.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.RangedAnimationValueWithRandom = exports.AnimationValueWithRandom = exports.ValueWithRandom = void 0;
13
13
  const AnimationOptions_js_1 = require("./AnimationOptions.js");
14
+ const TypeUtils_js_1 = require("../../Utils/TypeUtils.js");
14
15
  const NumberUtils_js_1 = require("../../Utils/NumberUtils.js");
15
16
  class ValueWithRandom {
16
17
  constructor() {
17
18
  this.value = 0;
18
19
  }
19
20
  load(data) {
20
- if (!data) {
21
+ if ((0, TypeUtils_js_1.isNull)(data)) {
21
22
  return;
22
23
  }
23
- if (data.value !== undefined) {
24
+ if (!(0, TypeUtils_js_1.isNull)(data.value)) {
24
25
  this.value = (0, NumberUtils_js_1.setRangeValue)(data.value);
25
26
  }
26
27
  }
@@ -33,7 +34,7 @@
33
34
  }
34
35
  load(data) {
35
36
  super.load(data);
36
- if (!data) {
37
+ if ((0, TypeUtils_js_1.isNull)(data)) {
37
38
  return;
38
39
  }
39
40
  const animation = data.animation;
@@ -0,0 +1,12 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ });
@@ -9,7 +9,6 @@
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.addColorManager = addColorManager;
13
12
  exports.rangeColorToRgb = rangeColorToRgb;
14
13
  exports.colorToRgb = colorToRgb;
15
14
  exports.colorToHsl = colorToHsl;
@@ -34,83 +33,63 @@
34
33
  const Constants_js_1 = require("../Core/Utils/Constants.js");
35
34
  const AnimationStatus_js_1 = require("../Enums/AnimationStatus.js");
36
35
  const Utils_js_1 = require("./Utils.js");
37
- var RgbIndexes;
38
- (function (RgbIndexes) {
39
- RgbIndexes[RgbIndexes["r"] = 1] = "r";
40
- RgbIndexes[RgbIndexes["g"] = 2] = "g";
41
- RgbIndexes[RgbIndexes["b"] = 3] = "b";
42
- RgbIndexes[RgbIndexes["a"] = 4] = "a";
43
- })(RgbIndexes || (RgbIndexes = {}));
44
- const randomColorValue = "random", midColorValue = "mid", colorManagers = new Map();
45
- function addColorManager(manager) {
46
- colorManagers.set(manager.key, manager);
47
- }
48
- function stringToRgba(input) {
49
- for (const manager of colorManagers.values()) {
36
+ const randomColorValue = "random", midColorValue = "mid";
37
+ function stringToRgba(engine, input) {
38
+ if (!input) {
39
+ return;
40
+ }
41
+ for (const manager of engine.colorManagers.values()) {
50
42
  if (input.startsWith(manager.stringPrefix)) {
51
43
  return manager.parseString(input);
52
44
  }
53
45
  }
54
- const shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i, hexFixed = input.replace(shorthandRegex, (_, r, g, b, a) => {
55
- return r + r + g + g + b + b + (a !== undefined ? a + a : "");
56
- }), 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;
57
- return result
58
- ? {
59
- a: result[RgbIndexes.a] !== undefined
60
- ? parseInt(result[RgbIndexes.a], radix) / alphaFactor
61
- : defaultAlpha,
62
- b: parseInt(result[RgbIndexes.b], radix),
63
- g: parseInt(result[RgbIndexes.g], radix),
64
- r: parseInt(result[RgbIndexes.r], radix),
65
- }
66
- : undefined;
67
46
  }
68
- function rangeColorToRgb(input, index, useIndex = true) {
47
+ function rangeColorToRgb(engine, input, index, useIndex = true) {
69
48
  if (!input) {
70
49
  return;
71
50
  }
72
51
  const color = (0, TypeUtils_js_1.isString)(input) ? { value: input } : input;
73
52
  if ((0, TypeUtils_js_1.isString)(color.value)) {
74
- return colorToRgb(color.value, index, useIndex);
53
+ return colorToRgb(engine, color.value, index, useIndex);
75
54
  }
76
55
  if ((0, TypeUtils_js_1.isArray)(color.value)) {
77
- return rangeColorToRgb({
56
+ return rangeColorToRgb(engine, {
78
57
  value: (0, Utils_js_1.itemFromArray)(color.value, index, useIndex),
79
58
  });
80
59
  }
81
- for (const manager of colorManagers.values()) {
60
+ for (const manager of engine.colorManagers.values()) {
82
61
  const res = manager.handleRangeColor(color);
83
62
  if (res) {
84
63
  return res;
85
64
  }
86
65
  }
87
66
  }
88
- function colorToRgb(input, index, useIndex = true) {
67
+ function colorToRgb(engine, input, index, useIndex = true) {
89
68
  if (!input) {
90
69
  return;
91
70
  }
92
71
  const color = (0, TypeUtils_js_1.isString)(input) ? { value: input } : input;
93
72
  if ((0, TypeUtils_js_1.isString)(color.value)) {
94
- return color.value === randomColorValue ? getRandomRgbColor() : stringToRgb(color.value);
73
+ return color.value === randomColorValue ? getRandomRgbColor() : stringToRgb(engine, color.value);
95
74
  }
96
75
  if ((0, TypeUtils_js_1.isArray)(color.value)) {
97
- return colorToRgb({
76
+ return colorToRgb(engine, {
98
77
  value: (0, Utils_js_1.itemFromArray)(color.value, index, useIndex),
99
78
  });
100
79
  }
101
- for (const manager of colorManagers.values()) {
80
+ for (const manager of engine.colorManagers.values()) {
102
81
  const res = manager.handleColor(color);
103
82
  if (res) {
104
83
  return res;
105
84
  }
106
85
  }
107
86
  }
108
- function colorToHsl(color, index, useIndex = true) {
109
- const rgb = colorToRgb(color, index, useIndex);
87
+ function colorToHsl(engine, color, index, useIndex = true) {
88
+ const rgb = colorToRgb(engine, color, index, useIndex);
110
89
  return rgb ? rgbToHsl(rgb) : undefined;
111
90
  }
112
- function rangeColorToHsl(color, index, useIndex = true) {
113
- const rgb = rangeColorToRgb(color, index, useIndex);
91
+ function rangeColorToHsl(engine, color, index, useIndex = true) {
92
+ const rgb = rangeColorToRgb(engine, color, index, useIndex);
114
93
  return rgb ? rgbToHsl(rgb) : undefined;
115
94
  }
116
95
  function rgbToHsl(color) {
@@ -137,11 +116,11 @@
137
116
  }
138
117
  return res;
139
118
  }
140
- function stringToAlpha(input) {
141
- return stringToRgba(input)?.a;
119
+ function stringToAlpha(engine, input) {
120
+ return stringToRgba(engine, input)?.a;
142
121
  }
143
- function stringToRgb(input) {
144
- return stringToRgba(input);
122
+ function stringToRgb(engine, input) {
123
+ return stringToRgba(engine, input);
145
124
  }
146
125
  function hslToRgb(hsl) {
147
126
  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;
@@ -232,11 +211,11 @@
232
211
  return linkColor;
233
212
  }
234
213
  }
235
- function getLinkRandomColor(optColor, blink, consent) {
214
+ function getLinkRandomColor(engine, optColor, blink, consent) {
236
215
  const color = (0, TypeUtils_js_1.isString)(optColor) ? optColor : optColor.value;
237
216
  if (color === randomColorValue) {
238
217
  if (consent) {
239
- return rangeColorToRgb({
218
+ return rangeColorToRgb(engine, {
240
219
  value: color,
241
220
  });
242
221
  }
@@ -249,7 +228,7 @@
249
228
  return midColorValue;
250
229
  }
251
230
  else {
252
- return rangeColorToRgb({
231
+ return rangeColorToRgb(engine, {
253
232
  value: color,
254
233
  });
255
234
  }
@@ -9,8 +9,6 @@
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.addEasing = addEasing;
13
- exports.getEasing = getEasing;
14
12
  exports.setRandom = setRandom;
15
13
  exports.getRandom = getRandom;
16
14
  exports.setAnimationFunctions = setAnimationFunctions;
@@ -43,16 +41,7 @@
43
41
  const _animationLoop = {
44
42
  nextFrame: (cb) => requestAnimationFrame(cb),
45
43
  cancel: (idx) => cancelAnimationFrame(idx),
46
- }, easingFunctions = new Map(), double = 2, doublePI = Math.PI * double;
47
- function addEasing(name, easing) {
48
- if (easingFunctions.get(name)) {
49
- return;
50
- }
51
- easingFunctions.set(name, easing);
52
- }
53
- function getEasing(name) {
54
- return easingFunctions.get(name) ?? ((value) => value);
55
- }
44
+ }, double = 2, doublePI = Math.PI * double;
56
45
  function setRandom(rnd = Math.random) {
57
46
  _random = rnd;
58
47
  }
@@ -15,6 +15,7 @@
15
15
  exports.isFunction = isFunction;
16
16
  exports.isObject = isObject;
17
17
  exports.isArray = isArray;
18
+ exports.isNull = isNull;
18
19
  function isBoolean(arg) {
19
20
  return typeof arg === "boolean";
20
21
  }
@@ -33,4 +34,7 @@
33
34
  function isArray(arg) {
34
35
  return Array.isArray(arg);
35
36
  }
37
+ function isNull(arg) {
38
+ return arg === null || arg === undefined;
39
+ }
36
40
  });
@@ -38,6 +38,7 @@
38
38
  exports.getPosition = getPosition;
39
39
  exports.getSize = getSize;
40
40
  exports.updateAnimation = updateAnimation;
41
+ exports.assertValidVersion = assertValidVersion;
41
42
  const NumberUtils_js_1 = require("./NumberUtils.js");
42
43
  const Constants_js_1 = require("../Core/Utils/Constants.js");
43
44
  const TypeUtils_js_1 = require("./TypeUtils.js");
@@ -454,4 +455,10 @@
454
455
  data.value = (0, NumberUtils_js_1.clamp)(data.value, minValue, maxValue);
455
456
  }
456
457
  }
458
+ function assertValidVersion(engine, pluginVersion) {
459
+ if (engine.version === pluginVersion) {
460
+ return;
461
+ }
462
+ throw new Error(`The tsParticles version is different from the loaded plugins version. Engine version: ${engine.version}. Plugins version: ${pluginVersion}`);
463
+ }
457
464
  });
package/umd/exports.js CHANGED
@@ -18,7 +18,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
18
  if (v !== undefined) module.exports = v;
19
19
  }
20
20
  else if (typeof define === "function" && define.amd) {
21
- define(["require", "exports", "./Core/Utils/Constants.js", "./Core/Utils/ExternalInteractorBase.js", "./Core/Utils/ParticlesInteractorBase.js", "./Core/Utils/Point.js", "./Core/Utils/Ranges.js", "./Core/Utils/Vectors.js", "./Enums/Directions/MoveDirection.js", "./Enums/Directions/RotateDirection.js", "./Enums/Directions/OutModeDirection.js", "./Enums/Modes/AnimationMode.js", "./Enums/Modes/CollisionMode.js", "./Enums/Modes/LimitMode.js", "./Enums/Modes/OutMode.js", "./Enums/Modes/PixelMode.js", "./Enums/Modes/ThemeMode.js", "./Enums/Modes/ResponsiveMode.js", "./Enums/Types/AlterType.js", "./Enums/Types/DestroyType.js", "./Enums/Types/GradientType.js", "./Enums/Types/InteractorType.js", "./Enums/Types/ParticleOutType.js", "./Enums/Types/StartValueType.js", "./Enums/Types/DivType.js", "./Enums/Types/EasingType.js", "./Enums/Types/EventType.js", "./Enums/AnimationStatus.js", "./Enums/InteractivityDetect.js", "./Options/Classes/AnimatableColor.js", "./Options/Classes/AnimationOptions.js", "./Options/Classes/Background/Background.js", "./Options/Classes/BackgroundMask/BackgroundMask.js", "./Options/Classes/BackgroundMask/BackgroundMaskCover.js", "./Options/Classes/ColorAnimation.js", "./Options/Classes/FullScreen/FullScreen.js", "./Options/Classes/HslAnimation.js", "./Options/Classes/Interactivity/Events/ClickEvent.js", "./Options/Classes/Interactivity/Events/DivEvent.js", "./Options/Classes/Interactivity/Events/ClickEvent.js", "./Options/Classes/Interactivity/Events/DivEvent.js", "./Options/Classes/Interactivity/Events/Events.js", "./Options/Classes/Interactivity/Events/HoverEvent.js", "./Options/Classes/Interactivity/Events/Parallax.js", "./Options/Classes/Interactivity/Events/ResizeEvent.js", "./Options/Classes/Interactivity/Interactivity.js", "./Options/Classes/Interactivity/Modes/Modes.js", "./Options/Classes/ManualParticle.js", "./Options/Classes/Options.js", "./Options/Classes/OptionsColor.js", "./Options/Classes/Particles/Bounce/ParticlesBounce.js", "./Options/Classes/Particles/Bounce/ParticlesBounceFactor.js", "./Options/Classes/Particles/Collisions/Collisions.js", "./Options/Classes/Particles/Collisions/CollisionsAbsorb.js", "./Options/Classes/Particles/Collisions/CollisionsOverlap.js", "./Options/Classes/Particles/ParticlesOptions.js", "./Options/Classes/Particles/Shadow.js", "./Options/Classes/Particles/Stroke.js", "./Options/Classes/Particles/Move/MoveAttract.js", "./Options/Classes/Particles/Move/Move.js", "./Options/Classes/Particles/Move/MoveAngle.js", "./Options/Classes/Particles/Move/MoveCenter.js", "./Options/Classes/Particles/Move/MoveGravity.js", "./Options/Classes/Particles/Move/OutModes.js", "./Options/Classes/Particles/Move/Path/MovePath.js", "./Options/Classes/Particles/Move/Spin.js", "./Options/Classes/Particles/Move/MoveTrail.js", "./Options/Classes/Particles/Number/ParticlesNumber.js", "./Options/Classes/Particles/Number/ParticlesNumberLimit.js", "./Options/Classes/Particles/Number/ParticlesDensity.js", "./Options/Classes/Particles/Opacity/Opacity.js", "./Options/Classes/Particles/Opacity/OpacityAnimation.js", "./Options/Classes/Particles/Shape/Shape.js", "./Options/Classes/Particles/Size/Size.js", "./Options/Classes/Particles/Size/SizeAnimation.js", "./Options/Classes/Particles/ZIndex/ZIndex.js", "./Options/Classes/Responsive.js", "./Options/Classes/Theme/Theme.js", "./Options/Classes/Theme/ThemeDefault.js", "./Options/Classes/ValueWithRandom.js", "./Utils/CanvasUtils.js", "./Utils/ColorUtils.js", "./Utils/HslColorManager.js", "./Utils/NumberUtils.js", "./Utils/OptionsUtils.js", "./Utils/RgbColorManager.js", "./Utils/Utils.js", "./Utils/TypeUtils.js"], factory);
21
+ define(["require", "exports", "./Core/Utils/Constants.js", "./Core/Utils/ExternalInteractorBase.js", "./Core/Utils/ParticlesInteractorBase.js", "./Core/Utils/Point.js", "./Core/Utils/Ranges.js", "./Core/Utils/Vectors.js", "./Enums/Directions/MoveDirection.js", "./Enums/Directions/RotateDirection.js", "./Enums/Directions/OutModeDirection.js", "./Enums/Modes/AnimationMode.js", "./Enums/Modes/CollisionMode.js", "./Enums/Modes/LimitMode.js", "./Enums/Modes/OutMode.js", "./Enums/Modes/PixelMode.js", "./Enums/Modes/ThemeMode.js", "./Enums/Modes/ResponsiveMode.js", "./Enums/Types/AlterType.js", "./Enums/Types/DestroyType.js", "./Enums/Types/GradientType.js", "./Enums/Types/InteractorType.js", "./Enums/Types/ParticleOutType.js", "./Enums/Types/StartValueType.js", "./Enums/Types/DivType.js", "./Enums/Types/EasingType.js", "./Enums/Types/EventType.js", "./Enums/AnimationStatus.js", "./Enums/InteractivityDetect.js", "./Options/Classes/AnimatableColor.js", "./Options/Classes/AnimationOptions.js", "./Options/Classes/Background/Background.js", "./Options/Classes/BackgroundMask/BackgroundMask.js", "./Options/Classes/BackgroundMask/BackgroundMaskCover.js", "./Options/Classes/ColorAnimation.js", "./Options/Classes/FullScreen/FullScreen.js", "./Options/Classes/HslAnimation.js", "./Options/Classes/Interactivity/Events/ClickEvent.js", "./Options/Classes/Interactivity/Events/DivEvent.js", "./Options/Classes/Interactivity/Events/ClickEvent.js", "./Options/Classes/Interactivity/Events/DivEvent.js", "./Options/Classes/Interactivity/Events/Events.js", "./Options/Classes/Interactivity/Events/HoverEvent.js", "./Options/Classes/Interactivity/Events/Parallax.js", "./Options/Classes/Interactivity/Events/ResizeEvent.js", "./Options/Classes/Interactivity/Interactivity.js", "./Options/Classes/Interactivity/Modes/Modes.js", "./Options/Classes/ManualParticle.js", "./Options/Classes/Options.js", "./Options/Classes/OptionsColor.js", "./Options/Classes/Particles/Bounce/ParticlesBounce.js", "./Options/Classes/Particles/Bounce/ParticlesBounceFactor.js", "./Options/Classes/Particles/Collisions/Collisions.js", "./Options/Classes/Particles/Collisions/CollisionsAbsorb.js", "./Options/Classes/Particles/Collisions/CollisionsOverlap.js", "./Options/Classes/Particles/ParticlesOptions.js", "./Options/Classes/Particles/Shadow.js", "./Options/Classes/Particles/Stroke.js", "./Options/Classes/Particles/Move/MoveAttract.js", "./Options/Classes/Particles/Move/Move.js", "./Options/Classes/Particles/Move/MoveAngle.js", "./Options/Classes/Particles/Move/MoveCenter.js", "./Options/Classes/Particles/Move/MoveGravity.js", "./Options/Classes/Particles/Move/OutModes.js", "./Options/Classes/Particles/Move/Path/MovePath.js", "./Options/Classes/Particles/Move/Spin.js", "./Options/Classes/Particles/Move/MoveTrail.js", "./Options/Classes/Particles/Number/ParticlesNumber.js", "./Options/Classes/Particles/Number/ParticlesNumberLimit.js", "./Options/Classes/Particles/Number/ParticlesDensity.js", "./Options/Classes/Particles/Opacity/Opacity.js", "./Options/Classes/Particles/Opacity/OpacityAnimation.js", "./Options/Classes/Particles/Shape/Shape.js", "./Options/Classes/Particles/Size/Size.js", "./Options/Classes/Particles/Size/SizeAnimation.js", "./Options/Classes/Particles/ZIndex/ZIndex.js", "./Options/Classes/Responsive.js", "./Options/Classes/Theme/Theme.js", "./Options/Classes/Theme/ThemeDefault.js", "./Options/Classes/ValueWithRandom.js", "./Utils/CanvasUtils.js", "./Utils/ColorUtils.js", "./Utils/NumberUtils.js", "./Utils/OptionsUtils.js", "./Utils/Utils.js", "./Utils/TypeUtils.js"], factory);
22
22
  }
23
23
  })(function (require, exports) {
24
24
  "use strict";
@@ -103,10 +103,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
103
103
  __exportStar(require("./Options/Classes/ValueWithRandom.js"), exports);
104
104
  __exportStar(require("./Utils/CanvasUtils.js"), exports);
105
105
  __exportStar(require("./Utils/ColorUtils.js"), exports);
106
- __exportStar(require("./Utils/HslColorManager.js"), exports);
107
106
  __exportStar(require("./Utils/NumberUtils.js"), exports);
108
107
  __exportStar(require("./Utils/OptionsUtils.js"), exports);
109
- __exportStar(require("./Utils/RgbColorManager.js"), exports);
110
108
  __exportStar(require("./Utils/Utils.js"), exports);
111
109
  __exportStar(require("./Utils/TypeUtils.js"), exports);
112
110
  });
package/umd/init.js CHANGED
@@ -4,20 +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", "./Core/Engine.js", "./Utils/HslColorManager.js", "./Utils/RgbColorManager.js", "./Utils/ColorUtils.js"], factory);
7
+ define(["require", "exports", "./Core/Engine.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.init = init;
13
13
  const Engine_js_1 = require("./Core/Engine.js");
14
- const HslColorManager_js_1 = require("./Utils/HslColorManager.js");
15
- const RgbColorManager_js_1 = require("./Utils/RgbColorManager.js");
16
- const ColorUtils_js_1 = require("./Utils/ColorUtils.js");
17
14
  function init() {
18
- const rgbColorManager = new RgbColorManager_js_1.RgbColorManager(), hslColorManager = new HslColorManager_js_1.HslColorManager();
19
- (0, ColorUtils_js_1.addColorManager)(rgbColorManager);
20
- (0, ColorUtils_js_1.addColorManager)(hslColorManager);
21
15
  const engine = new Engine_js_1.Engine();
22
16
  engine.init();
23
17
  return engine;
@@ -1,45 +0,0 @@
1
- import { getRangeValue, parseAlpha } from "./NumberUtils.js";
2
- import { hslToRgb, hslaToRgba } from "./ColorUtils.js";
3
- var HslIndexes;
4
- (function (HslIndexes) {
5
- HslIndexes[HslIndexes["h"] = 1] = "h";
6
- HslIndexes[HslIndexes["s"] = 2] = "s";
7
- HslIndexes[HslIndexes["l"] = 3] = "l";
8
- HslIndexes[HslIndexes["a"] = 5] = "a";
9
- })(HslIndexes || (HslIndexes = {}));
10
- export class HslColorManager {
11
- constructor() {
12
- this.key = "hsl";
13
- this.stringPrefix = "hsl";
14
- }
15
- handleColor(color) {
16
- const colorValue = color.value, hslColor = colorValue.hsl ?? color.value;
17
- if (hslColor.h !== undefined && hslColor.s !== undefined && hslColor.l !== undefined) {
18
- return hslToRgb(hslColor);
19
- }
20
- }
21
- handleRangeColor(color) {
22
- const colorValue = color.value, hslColor = colorValue.hsl ?? color.value;
23
- if (hslColor.h !== undefined && hslColor.l !== undefined) {
24
- return hslToRgb({
25
- h: getRangeValue(hslColor.h),
26
- l: getRangeValue(hslColor.l),
27
- s: getRangeValue(hslColor.s),
28
- });
29
- }
30
- }
31
- parseString(input) {
32
- if (!input.startsWith("hsl")) {
33
- return;
34
- }
35
- 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;
36
- return result
37
- ? hslaToRgba({
38
- a: result.length > minLength ? parseAlpha(result[HslIndexes.a]) : defaultAlpha,
39
- h: parseInt(result[HslIndexes.h], radix),
40
- l: parseInt(result[HslIndexes.l], radix),
41
- s: parseInt(result[HslIndexes.s], radix),
42
- })
43
- : undefined;
44
- }
45
- }
@@ -1,44 +0,0 @@
1
- import { getRangeValue, parseAlpha } from "./NumberUtils.js";
2
- var RgbIndexes;
3
- (function (RgbIndexes) {
4
- RgbIndexes[RgbIndexes["r"] = 1] = "r";
5
- RgbIndexes[RgbIndexes["g"] = 2] = "g";
6
- RgbIndexes[RgbIndexes["b"] = 3] = "b";
7
- RgbIndexes[RgbIndexes["a"] = 5] = "a";
8
- })(RgbIndexes || (RgbIndexes = {}));
9
- export class RgbColorManager {
10
- constructor() {
11
- this.key = "rgb";
12
- this.stringPrefix = "rgb";
13
- }
14
- handleColor(color) {
15
- const colorValue = color.value, rgbColor = colorValue.rgb ?? color.value;
16
- if (rgbColor.r !== undefined) {
17
- return rgbColor;
18
- }
19
- }
20
- handleRangeColor(color) {
21
- const colorValue = color.value, rgbColor = colorValue.rgb ?? color.value;
22
- if (rgbColor.r !== undefined) {
23
- return {
24
- r: getRangeValue(rgbColor.r),
25
- g: getRangeValue(rgbColor.g),
26
- b: getRangeValue(rgbColor.b),
27
- };
28
- }
29
- }
30
- parseString(input) {
31
- if (!input.startsWith(this.stringPrefix)) {
32
- return;
33
- }
34
- const regex = /rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.%]+)\s*)?\)/i, result = regex.exec(input), radix = 10, minLength = 4, defaultAlpha = 1;
35
- return result
36
- ? {
37
- a: result.length > minLength ? parseAlpha(result[RgbIndexes.a]) : defaultAlpha,
38
- b: parseInt(result[RgbIndexes.b], radix),
39
- g: parseInt(result[RgbIndexes.g], radix),
40
- r: parseInt(result[RgbIndexes.r], radix),
41
- }
42
- : undefined;
43
- }
44
- }
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HslColorManager = void 0;
4
- const NumberUtils_js_1 = require("./NumberUtils.js");
5
- const ColorUtils_js_1 = require("./ColorUtils.js");
6
- var HslIndexes;
7
- (function (HslIndexes) {
8
- HslIndexes[HslIndexes["h"] = 1] = "h";
9
- HslIndexes[HslIndexes["s"] = 2] = "s";
10
- HslIndexes[HslIndexes["l"] = 3] = "l";
11
- HslIndexes[HslIndexes["a"] = 5] = "a";
12
- })(HslIndexes || (HslIndexes = {}));
13
- class HslColorManager {
14
- constructor() {
15
- this.key = "hsl";
16
- this.stringPrefix = "hsl";
17
- }
18
- handleColor(color) {
19
- const colorValue = color.value, hslColor = colorValue.hsl ?? color.value;
20
- if (hslColor.h !== undefined && hslColor.s !== undefined && hslColor.l !== undefined) {
21
- return (0, ColorUtils_js_1.hslToRgb)(hslColor);
22
- }
23
- }
24
- handleRangeColor(color) {
25
- const colorValue = color.value, hslColor = colorValue.hsl ?? color.value;
26
- if (hslColor.h !== undefined && hslColor.l !== undefined) {
27
- return (0, ColorUtils_js_1.hslToRgb)({
28
- h: (0, NumberUtils_js_1.getRangeValue)(hslColor.h),
29
- l: (0, NumberUtils_js_1.getRangeValue)(hslColor.l),
30
- s: (0, NumberUtils_js_1.getRangeValue)(hslColor.s),
31
- });
32
- }
33
- }
34
- parseString(input) {
35
- if (!input.startsWith("hsl")) {
36
- return;
37
- }
38
- 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;
39
- return result
40
- ? (0, ColorUtils_js_1.hslaToRgba)({
41
- a: result.length > minLength ? (0, NumberUtils_js_1.parseAlpha)(result[HslIndexes.a]) : defaultAlpha,
42
- h: parseInt(result[HslIndexes.h], radix),
43
- l: parseInt(result[HslIndexes.l], radix),
44
- s: parseInt(result[HslIndexes.s], radix),
45
- })
46
- : undefined;
47
- }
48
- }
49
- exports.HslColorManager = HslColorManager;