@tsparticles/engine 3.6.0-beta.0 → 3.6.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 (223) hide show
  1. package/browser/Core/Engine.js +1 -1
  2. package/browser/Options/Classes/AnimatableColor.js +2 -2
  3. package/browser/Options/Classes/AnimationOptions.js +3 -2
  4. package/browser/Options/Classes/Background/Background.js +2 -1
  5. package/browser/Options/Classes/BackgroundMask/BackgroundMask.js +2 -2
  6. package/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.js +2 -1
  7. package/browser/Options/Classes/ColorAnimation.js +2 -1
  8. package/browser/Options/Classes/FullScreen/FullScreen.js +2 -1
  9. package/browser/Options/Classes/HslAnimation.js +2 -1
  10. package/browser/Options/Classes/Interactivity/Events/ClickEvent.js +2 -1
  11. package/browser/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
  12. package/browser/Options/Classes/Interactivity/Events/Events.js +2 -1
  13. package/browser/Options/Classes/Interactivity/Events/HoverEvent.js +2 -1
  14. package/browser/Options/Classes/Interactivity/Events/Parallax.js +2 -1
  15. package/browser/Options/Classes/Interactivity/Events/ResizeEvent.js +2 -1
  16. package/browser/Options/Classes/Interactivity/Interactivity.js +2 -1
  17. package/browser/Options/Classes/Interactivity/Modes/Modes.js +2 -1
  18. package/browser/Options/Classes/ManualParticle.js +2 -1
  19. package/browser/Options/Classes/Options.js +2 -2
  20. package/browser/Options/Classes/OptionsColor.js +5 -3
  21. package/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -1
  22. package/browser/Options/Classes/Particles/Collisions/Collisions.js +2 -1
  23. package/browser/Options/Classes/Particles/Collisions/CollisionsAbsorb.js +2 -1
  24. package/browser/Options/Classes/Particles/Collisions/CollisionsOverlap.js +2 -1
  25. package/browser/Options/Classes/Particles/Effect/Effect.js +2 -1
  26. package/browser/Options/Classes/Particles/Move/Move.js +2 -2
  27. package/browser/Options/Classes/Particles/Move/MoveAngle.js +2 -1
  28. package/browser/Options/Classes/Particles/Move/MoveAttract.js +2 -1
  29. package/browser/Options/Classes/Particles/Move/MoveCenter.js +2 -1
  30. package/browser/Options/Classes/Particles/Move/MoveGravity.js +2 -1
  31. package/browser/Options/Classes/Particles/Move/MoveTrail.js +2 -1
  32. package/browser/Options/Classes/Particles/Move/MoveTrailFill.js +2 -1
  33. package/browser/Options/Classes/Particles/Move/OutModes.js +2 -1
  34. package/browser/Options/Classes/Particles/Move/Path/MovePath.js +2 -1
  35. package/browser/Options/Classes/Particles/Move/Spin.js +2 -1
  36. package/browser/Options/Classes/Particles/Number/ParticlesDensity.js +2 -1
  37. package/browser/Options/Classes/Particles/Number/ParticlesNumber.js +2 -1
  38. package/browser/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
  39. package/browser/Options/Classes/Particles/Opacity/Opacity.js +2 -1
  40. package/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
  41. package/browser/Options/Classes/Particles/ParticlesOptions.js +2 -1
  42. package/browser/Options/Classes/Particles/Shadow.js +2 -1
  43. package/browser/Options/Classes/Particles/Shape/Shape.js +2 -1
  44. package/browser/Options/Classes/Particles/Size/Size.js +2 -1
  45. package/browser/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
  46. package/browser/Options/Classes/Particles/Stroke.js +2 -1
  47. package/browser/Options/Classes/Particles/ZIndex/ZIndex.js +2 -1
  48. package/browser/Options/Classes/Responsive.js +5 -4
  49. package/browser/Options/Classes/Theme/Theme.js +2 -1
  50. package/browser/Options/Classes/Theme/ThemeDefault.js +2 -1
  51. package/browser/Options/Classes/ValueWithRandom.js +4 -3
  52. package/browser/Utils/HslColorManager.js +1 -1
  53. package/browser/Utils/RgbColorManager.js +1 -1
  54. package/browser/Utils/TypeUtils.js +3 -0
  55. package/cjs/Core/Engine.js +1 -1
  56. package/cjs/Options/Classes/AnimatableColor.js +1 -1
  57. package/cjs/Options/Classes/AnimationOptions.js +3 -2
  58. package/cjs/Options/Classes/Background/Background.js +2 -1
  59. package/cjs/Options/Classes/BackgroundMask/BackgroundMask.js +2 -2
  60. package/cjs/Options/Classes/BackgroundMask/BackgroundMaskCover.js +2 -1
  61. package/cjs/Options/Classes/ColorAnimation.js +2 -1
  62. package/cjs/Options/Classes/FullScreen/FullScreen.js +2 -1
  63. package/cjs/Options/Classes/HslAnimation.js +2 -1
  64. package/cjs/Options/Classes/Interactivity/Events/ClickEvent.js +2 -1
  65. package/cjs/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
  66. package/cjs/Options/Classes/Interactivity/Events/Events.js +2 -1
  67. package/cjs/Options/Classes/Interactivity/Events/HoverEvent.js +2 -1
  68. package/cjs/Options/Classes/Interactivity/Events/Parallax.js +2 -1
  69. package/cjs/Options/Classes/Interactivity/Events/ResizeEvent.js +2 -1
  70. package/cjs/Options/Classes/Interactivity/Interactivity.js +2 -1
  71. package/cjs/Options/Classes/Interactivity/Modes/Modes.js +2 -1
  72. package/cjs/Options/Classes/ManualParticle.js +2 -1
  73. package/cjs/Options/Classes/Options.js +2 -2
  74. package/cjs/Options/Classes/OptionsColor.js +4 -2
  75. package/cjs/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -1
  76. package/cjs/Options/Classes/Particles/Collisions/Collisions.js +2 -1
  77. package/cjs/Options/Classes/Particles/Collisions/CollisionsAbsorb.js +2 -1
  78. package/cjs/Options/Classes/Particles/Collisions/CollisionsOverlap.js +2 -1
  79. package/cjs/Options/Classes/Particles/Effect/Effect.js +2 -1
  80. package/cjs/Options/Classes/Particles/Move/Move.js +1 -1
  81. package/cjs/Options/Classes/Particles/Move/MoveAngle.js +2 -1
  82. package/cjs/Options/Classes/Particles/Move/MoveAttract.js +2 -1
  83. package/cjs/Options/Classes/Particles/Move/MoveCenter.js +2 -1
  84. package/cjs/Options/Classes/Particles/Move/MoveGravity.js +2 -1
  85. package/cjs/Options/Classes/Particles/Move/MoveTrail.js +2 -1
  86. package/cjs/Options/Classes/Particles/Move/MoveTrailFill.js +2 -1
  87. package/cjs/Options/Classes/Particles/Move/OutModes.js +2 -1
  88. package/cjs/Options/Classes/Particles/Move/Path/MovePath.js +2 -1
  89. package/cjs/Options/Classes/Particles/Move/Spin.js +2 -1
  90. package/cjs/Options/Classes/Particles/Number/ParticlesDensity.js +2 -1
  91. package/cjs/Options/Classes/Particles/Number/ParticlesNumber.js +2 -1
  92. package/cjs/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
  93. package/cjs/Options/Classes/Particles/Opacity/Opacity.js +2 -1
  94. package/cjs/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
  95. package/cjs/Options/Classes/Particles/ParticlesOptions.js +2 -1
  96. package/cjs/Options/Classes/Particles/Shadow.js +2 -1
  97. package/cjs/Options/Classes/Particles/Shape/Shape.js +2 -1
  98. package/cjs/Options/Classes/Particles/Size/Size.js +2 -1
  99. package/cjs/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
  100. package/cjs/Options/Classes/Particles/Stroke.js +2 -1
  101. package/cjs/Options/Classes/Particles/ZIndex/ZIndex.js +2 -1
  102. package/cjs/Options/Classes/Responsive.js +5 -4
  103. package/cjs/Options/Classes/Theme/Theme.js +2 -1
  104. package/cjs/Options/Classes/Theme/ThemeDefault.js +2 -1
  105. package/cjs/Options/Classes/ValueWithRandom.js +4 -3
  106. package/cjs/Utils/HslColorManager.js +1 -1
  107. package/cjs/Utils/RgbColorManager.js +1 -1
  108. package/cjs/Utils/TypeUtils.js +4 -0
  109. package/esm/Core/Engine.js +1 -1
  110. package/esm/Options/Classes/AnimatableColor.js +2 -2
  111. package/esm/Options/Classes/AnimationOptions.js +3 -2
  112. package/esm/Options/Classes/Background/Background.js +2 -1
  113. package/esm/Options/Classes/BackgroundMask/BackgroundMask.js +2 -2
  114. package/esm/Options/Classes/BackgroundMask/BackgroundMaskCover.js +2 -1
  115. package/esm/Options/Classes/ColorAnimation.js +2 -1
  116. package/esm/Options/Classes/FullScreen/FullScreen.js +2 -1
  117. package/esm/Options/Classes/HslAnimation.js +2 -1
  118. package/esm/Options/Classes/Interactivity/Events/ClickEvent.js +2 -1
  119. package/esm/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
  120. package/esm/Options/Classes/Interactivity/Events/Events.js +2 -1
  121. package/esm/Options/Classes/Interactivity/Events/HoverEvent.js +2 -1
  122. package/esm/Options/Classes/Interactivity/Events/Parallax.js +2 -1
  123. package/esm/Options/Classes/Interactivity/Events/ResizeEvent.js +2 -1
  124. package/esm/Options/Classes/Interactivity/Interactivity.js +2 -1
  125. package/esm/Options/Classes/Interactivity/Modes/Modes.js +2 -1
  126. package/esm/Options/Classes/ManualParticle.js +2 -1
  127. package/esm/Options/Classes/Options.js +2 -2
  128. package/esm/Options/Classes/OptionsColor.js +5 -3
  129. package/esm/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -1
  130. package/esm/Options/Classes/Particles/Collisions/Collisions.js +2 -1
  131. package/esm/Options/Classes/Particles/Collisions/CollisionsAbsorb.js +2 -1
  132. package/esm/Options/Classes/Particles/Collisions/CollisionsOverlap.js +2 -1
  133. package/esm/Options/Classes/Particles/Effect/Effect.js +2 -1
  134. package/esm/Options/Classes/Particles/Move/Move.js +2 -2
  135. package/esm/Options/Classes/Particles/Move/MoveAngle.js +2 -1
  136. package/esm/Options/Classes/Particles/Move/MoveAttract.js +2 -1
  137. package/esm/Options/Classes/Particles/Move/MoveCenter.js +2 -1
  138. package/esm/Options/Classes/Particles/Move/MoveGravity.js +2 -1
  139. package/esm/Options/Classes/Particles/Move/MoveTrail.js +2 -1
  140. package/esm/Options/Classes/Particles/Move/MoveTrailFill.js +2 -1
  141. package/esm/Options/Classes/Particles/Move/OutModes.js +2 -1
  142. package/esm/Options/Classes/Particles/Move/Path/MovePath.js +2 -1
  143. package/esm/Options/Classes/Particles/Move/Spin.js +2 -1
  144. package/esm/Options/Classes/Particles/Number/ParticlesDensity.js +2 -1
  145. package/esm/Options/Classes/Particles/Number/ParticlesNumber.js +2 -1
  146. package/esm/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
  147. package/esm/Options/Classes/Particles/Opacity/Opacity.js +2 -1
  148. package/esm/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
  149. package/esm/Options/Classes/Particles/ParticlesOptions.js +2 -1
  150. package/esm/Options/Classes/Particles/Shadow.js +2 -1
  151. package/esm/Options/Classes/Particles/Shape/Shape.js +2 -1
  152. package/esm/Options/Classes/Particles/Size/Size.js +2 -1
  153. package/esm/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
  154. package/esm/Options/Classes/Particles/Stroke.js +2 -1
  155. package/esm/Options/Classes/Particles/ZIndex/ZIndex.js +2 -1
  156. package/esm/Options/Classes/Responsive.js +5 -4
  157. package/esm/Options/Classes/Theme/Theme.js +2 -1
  158. package/esm/Options/Classes/Theme/ThemeDefault.js +2 -1
  159. package/esm/Options/Classes/ValueWithRandom.js +4 -3
  160. package/esm/Utils/HslColorManager.js +1 -1
  161. package/esm/Utils/RgbColorManager.js +1 -1
  162. package/esm/Utils/TypeUtils.js +3 -0
  163. package/package.json +1 -1
  164. package/report.html +1 -1
  165. package/tsparticles.engine.js +57 -57
  166. package/tsparticles.engine.min.js +1 -1
  167. package/tsparticles.engine.min.js.LICENSE.txt +1 -1
  168. package/types/Core/Interfaces/Colors.d.ts +28 -0
  169. package/types/Utils/TypeUtils.d.ts +1 -0
  170. package/umd/Core/Engine.js +1 -1
  171. package/umd/Options/Classes/AnimatableColor.js +1 -1
  172. package/umd/Options/Classes/AnimationOptions.js +4 -3
  173. package/umd/Options/Classes/Background/Background.js +3 -2
  174. package/umd/Options/Classes/BackgroundMask/BackgroundMask.js +3 -3
  175. package/umd/Options/Classes/BackgroundMask/BackgroundMaskCover.js +3 -2
  176. package/umd/Options/Classes/ColorAnimation.js +3 -2
  177. package/umd/Options/Classes/FullScreen/FullScreen.js +3 -2
  178. package/umd/Options/Classes/HslAnimation.js +3 -2
  179. package/umd/Options/Classes/Interactivity/Events/ClickEvent.js +3 -2
  180. package/umd/Options/Classes/Interactivity/Events/DivEvent.js +3 -2
  181. package/umd/Options/Classes/Interactivity/Events/Events.js +3 -2
  182. package/umd/Options/Classes/Interactivity/Events/HoverEvent.js +3 -2
  183. package/umd/Options/Classes/Interactivity/Events/Parallax.js +3 -2
  184. package/umd/Options/Classes/Interactivity/Events/ResizeEvent.js +3 -2
  185. package/umd/Options/Classes/Interactivity/Interactivity.js +3 -2
  186. package/umd/Options/Classes/Interactivity/Modes/Modes.js +3 -2
  187. package/umd/Options/Classes/ManualParticle.js +3 -2
  188. package/umd/Options/Classes/Options.js +3 -3
  189. package/umd/Options/Classes/OptionsColor.js +4 -2
  190. package/umd/Options/Classes/Particles/Bounce/ParticlesBounce.js +3 -2
  191. package/umd/Options/Classes/Particles/Collisions/Collisions.js +3 -2
  192. package/umd/Options/Classes/Particles/Collisions/CollisionsAbsorb.js +3 -2
  193. package/umd/Options/Classes/Particles/Collisions/CollisionsOverlap.js +3 -2
  194. package/umd/Options/Classes/Particles/Effect/Effect.js +3 -2
  195. package/umd/Options/Classes/Particles/Move/Move.js +1 -1
  196. package/umd/Options/Classes/Particles/Move/MoveAngle.js +3 -2
  197. package/umd/Options/Classes/Particles/Move/MoveAttract.js +3 -2
  198. package/umd/Options/Classes/Particles/Move/MoveCenter.js +3 -2
  199. package/umd/Options/Classes/Particles/Move/MoveGravity.js +3 -2
  200. package/umd/Options/Classes/Particles/Move/MoveTrail.js +3 -2
  201. package/umd/Options/Classes/Particles/Move/MoveTrailFill.js +3 -2
  202. package/umd/Options/Classes/Particles/Move/OutModes.js +3 -2
  203. package/umd/Options/Classes/Particles/Move/Path/MovePath.js +3 -2
  204. package/umd/Options/Classes/Particles/Move/Spin.js +3 -2
  205. package/umd/Options/Classes/Particles/Number/ParticlesDensity.js +3 -2
  206. package/umd/Options/Classes/Particles/Number/ParticlesNumber.js +3 -2
  207. package/umd/Options/Classes/Particles/Number/ParticlesNumberLimit.js +3 -2
  208. package/umd/Options/Classes/Particles/Opacity/Opacity.js +3 -2
  209. package/umd/Options/Classes/Particles/Opacity/OpacityAnimation.js +3 -2
  210. package/umd/Options/Classes/Particles/ParticlesOptions.js +3 -2
  211. package/umd/Options/Classes/Particles/Shadow.js +3 -2
  212. package/umd/Options/Classes/Particles/Shape/Shape.js +3 -2
  213. package/umd/Options/Classes/Particles/Size/Size.js +3 -2
  214. package/umd/Options/Classes/Particles/Size/SizeAnimation.js +3 -2
  215. package/umd/Options/Classes/Particles/Stroke.js +3 -2
  216. package/umd/Options/Classes/Particles/ZIndex/ZIndex.js +3 -2
  217. package/umd/Options/Classes/Responsive.js +6 -5
  218. package/umd/Options/Classes/Theme/Theme.js +3 -2
  219. package/umd/Options/Classes/Theme/ThemeDefault.js +3 -2
  220. package/umd/Options/Classes/ValueWithRandom.js +5 -4
  221. package/umd/Utils/HslColorManager.js +1 -1
  222. package/umd/Utils/RgbColorManager.js +1 -1
  223. package/umd/Utils/TypeUtils.js +4 -0
@@ -95,7 +95,7 @@ export class Engine {
95
95
  return this._domArray;
96
96
  }
97
97
  get version() {
98
- return "3.6.0-beta.0";
98
+ return "3.6.0";
99
99
  }
100
100
  addConfig(config) {
101
101
  const key = config.key ?? config.name ?? "default";
@@ -1,4 +1,4 @@
1
- import { isArray, isString } from "../../Utils/TypeUtils.js";
1
+ import { isArray, isNull, isString } from "../../Utils/TypeUtils.js";
2
2
  import { HslAnimation } from "./HslAnimation.js";
3
3
  import { OptionsColor } from "./OptionsColor.js";
4
4
  export class AnimatableColor extends OptionsColor {
@@ -21,7 +21,7 @@ export class AnimatableColor extends OptionsColor {
21
21
  }
22
22
  load(data) {
23
23
  super.load(data);
24
- if (!data) {
24
+ if (isNull(data)) {
25
25
  return;
26
26
  }
27
27
  const colorAnimation = data.animation;
@@ -1,5 +1,6 @@
1
1
  import { AnimationMode } from "../../Enums/Modes/AnimationMode.js";
2
2
  import { StartValueType } from "../../Enums/Types/StartValueType.js";
3
+ import { isNull } from "../../Utils/TypeUtils.js";
3
4
  import { setRangeValue } from "../../Utils/NumberUtils.js";
4
5
  export class AnimationOptions {
5
6
  constructor() {
@@ -11,7 +12,7 @@ export class AnimationOptions {
11
12
  this.sync = false;
12
13
  }
13
14
  load(data) {
14
- if (!data) {
15
+ if (isNull(data)) {
15
16
  return;
16
17
  }
17
18
  if (data.count !== undefined) {
@@ -42,7 +43,7 @@ export class RangedAnimationOptions extends AnimationOptions {
42
43
  }
43
44
  load(data) {
44
45
  super.load(data);
45
- if (!data) {
46
+ if (isNull(data)) {
46
47
  return;
47
48
  }
48
49
  if (data.mode !== undefined) {
@@ -1,4 +1,5 @@
1
1
  import { OptionsColor } from "../OptionsColor.js";
2
+ import { isNull } from "../../../Utils/TypeUtils.js";
2
3
  export class Background {
3
4
  constructor() {
4
5
  this.color = new OptionsColor();
@@ -10,7 +11,7 @@ export class Background {
10
11
  this.opacity = 1;
11
12
  }
12
13
  load(data) {
13
- if (!data) {
14
+ if (isNull(data)) {
14
15
  return;
15
16
  }
16
17
  if (data.color !== undefined) {
@@ -1,5 +1,5 @@
1
+ import { isNull, isString } from "../../../Utils/TypeUtils.js";
1
2
  import { BackgroundMaskCover } from "./BackgroundMaskCover.js";
2
- import { isString } from "../../../Utils/TypeUtils.js";
3
3
  export class BackgroundMask {
4
4
  constructor() {
5
5
  this.composite = "destination-out";
@@ -7,7 +7,7 @@ export class BackgroundMask {
7
7
  this.enable = false;
8
8
  }
9
9
  load(data) {
10
- if (!data) {
10
+ if (isNull(data)) {
11
11
  return;
12
12
  }
13
13
  if (data.composite !== undefined) {
@@ -1,10 +1,11 @@
1
1
  import { OptionsColor } from "../OptionsColor.js";
2
+ import { isNull } from "../../../Utils/TypeUtils.js";
2
3
  export class BackgroundMaskCover {
3
4
  constructor() {
4
5
  this.opacity = 1;
5
6
  }
6
7
  load(data) {
7
- if (!data) {
8
+ if (isNull(data)) {
8
9
  return;
9
10
  }
10
11
  if (data.color !== undefined) {
@@ -1,4 +1,5 @@
1
1
  import { AnimationOptions } from "./AnimationOptions.js";
2
+ import { isNull } from "../../Utils/TypeUtils.js";
2
3
  import { setRangeValue } from "../../Utils/NumberUtils.js";
3
4
  export class ColorAnimation extends AnimationOptions {
4
5
  constructor() {
@@ -8,7 +9,7 @@ export class ColorAnimation extends AnimationOptions {
8
9
  }
9
10
  load(data) {
10
11
  super.load(data);
11
- if (!data) {
12
+ if (isNull(data)) {
12
13
  return;
13
14
  }
14
15
  if (data.offset !== undefined) {
@@ -1,10 +1,11 @@
1
+ import { isNull } from "../../../Utils/TypeUtils.js";
1
2
  export class FullScreen {
2
3
  constructor() {
3
4
  this.enable = true;
4
5
  this.zIndex = 0;
5
6
  }
6
7
  load(data) {
7
- if (!data) {
8
+ if (isNull(data)) {
8
9
  return;
9
10
  }
10
11
  if (data.enable !== undefined) {
@@ -1,4 +1,5 @@
1
1
  import { ColorAnimation } from "./ColorAnimation.js";
2
+ import { isNull } from "../../Utils/TypeUtils.js";
2
3
  export class HslAnimation {
3
4
  constructor() {
4
5
  this.h = new ColorAnimation();
@@ -6,7 +7,7 @@ export class HslAnimation {
6
7
  this.l = new ColorAnimation();
7
8
  }
8
9
  load(data) {
9
- if (!data) {
10
+ if (isNull(data)) {
10
11
  return;
11
12
  }
12
13
  this.h.load(data.h);
@@ -1,10 +1,11 @@
1
+ import { isNull } from "../../../../Utils/TypeUtils.js";
1
2
  export class ClickEvent {
2
3
  constructor() {
3
4
  this.enable = false;
4
5
  this.mode = [];
5
6
  }
6
7
  load(data) {
7
- if (!data) {
8
+ if (isNull(data)) {
8
9
  return;
9
10
  }
10
11
  if (data.enable !== undefined) {
@@ -1,4 +1,5 @@
1
1
  import { DivType } from "../../../../Enums/Types/DivType.js";
2
+ import { isNull } from "../../../../Utils/TypeUtils.js";
2
3
  export class DivEvent {
3
4
  constructor() {
4
5
  this.selectors = [];
@@ -7,7 +8,7 @@ export class DivEvent {
7
8
  this.type = DivType.circle;
8
9
  }
9
10
  load(data) {
10
- if (!data) {
11
+ if (isNull(data)) {
11
12
  return;
12
13
  }
13
14
  if (data.selectors !== undefined) {
@@ -3,6 +3,7 @@ import { DivEvent } from "./DivEvent.js";
3
3
  import { HoverEvent } from "./HoverEvent.js";
4
4
  import { ResizeEvent } from "./ResizeEvent.js";
5
5
  import { executeOnSingleOrMultiple } from "../../../../Utils/Utils.js";
6
+ import { isNull } from "../../../../Utils/TypeUtils.js";
6
7
  export class Events {
7
8
  constructor() {
8
9
  this.onClick = new ClickEvent();
@@ -11,7 +12,7 @@ export class Events {
11
12
  this.resize = new ResizeEvent();
12
13
  }
13
14
  load(data) {
14
- if (!data) {
15
+ if (isNull(data)) {
15
16
  return;
16
17
  }
17
18
  this.onClick.load(data.onClick);
@@ -1,4 +1,5 @@
1
1
  import { Parallax } from "./Parallax.js";
2
+ import { isNull } from "../../../../Utils/TypeUtils.js";
2
3
  export class HoverEvent {
3
4
  constructor() {
4
5
  this.enable = false;
@@ -6,7 +7,7 @@ export class HoverEvent {
6
7
  this.parallax = new Parallax();
7
8
  }
8
9
  load(data) {
9
- if (!data) {
10
+ if (isNull(data)) {
10
11
  return;
11
12
  }
12
13
  if (data.enable !== undefined) {
@@ -1,3 +1,4 @@
1
+ import { isNull } from "../../../../Utils/TypeUtils.js";
1
2
  export class Parallax {
2
3
  constructor() {
3
4
  this.enable = false;
@@ -5,7 +6,7 @@ export class Parallax {
5
6
  this.smooth = 10;
6
7
  }
7
8
  load(data) {
8
- if (!data) {
9
+ if (isNull(data)) {
9
10
  return;
10
11
  }
11
12
  if (data.enable !== undefined) {
@@ -1,10 +1,11 @@
1
+ import { isNull } from "../../../../Utils/TypeUtils.js";
1
2
  export class ResizeEvent {
2
3
  constructor() {
3
4
  this.delay = 0.5;
4
5
  this.enable = true;
5
6
  }
6
7
  load(data) {
7
- if (data === undefined) {
8
+ if (isNull(data)) {
8
9
  return;
9
10
  }
10
11
  if (data.delay !== undefined) {
@@ -1,6 +1,7 @@
1
1
  import { Events } from "./Events/Events.js";
2
2
  import { InteractivityDetect } from "../../../Enums/InteractivityDetect.js";
3
3
  import { Modes } from "./Modes/Modes.js";
4
+ import { isNull } from "../../../Utils/TypeUtils.js";
4
5
  export class Interactivity {
5
6
  constructor(engine, container) {
6
7
  this.detectsOn = InteractivityDetect.window;
@@ -8,7 +9,7 @@ export class Interactivity {
8
9
  this.modes = new Modes(engine, container);
9
10
  }
10
11
  load(data) {
11
- if (!data) {
12
+ if (isNull(data)) {
12
13
  return;
13
14
  }
14
15
  const detectsOn = data.detectsOn;
@@ -1,10 +1,11 @@
1
+ import { isNull } from "../../../../Utils/TypeUtils.js";
1
2
  export class Modes {
2
3
  constructor(engine, container) {
3
4
  this._engine = engine;
4
5
  this._container = container;
5
6
  }
6
7
  load(data) {
7
- if (!data) {
8
+ if (isNull(data)) {
8
9
  return;
9
10
  }
10
11
  if (!this._container) {
@@ -1,9 +1,10 @@
1
1
  import { PixelMode } from "../../Enums/Modes/PixelMode.js";
2
2
  import { deepExtend } from "../../Utils/Utils.js";
3
+ import { isNull } from "../../Utils/TypeUtils.js";
3
4
  const defaultPosition = 50;
4
5
  export class ManualParticle {
5
6
  load(data) {
6
- if (!data) {
7
+ if (isNull(data)) {
7
8
  return;
8
9
  }
9
10
  if (data.position) {
@@ -1,4 +1,5 @@
1
1
  import { deepExtend, executeOnSingleOrMultiple, safeMatchMedia } from "../../Utils/Utils.js";
2
+ import { isBoolean, isNull } from "../../Utils/TypeUtils.js";
2
3
  import { Background } from "./Background/Background.js";
3
4
  import { BackgroundMask } from "./BackgroundMask/BackgroundMask.js";
4
5
  import { FullScreen } from "./FullScreen/FullScreen.js";
@@ -8,7 +9,6 @@ import { Responsive } from "./Responsive.js";
8
9
  import { ResponsiveMode } from "../../Enums/Modes/ResponsiveMode.js";
9
10
  import { Theme } from "./Theme/Theme.js";
10
11
  import { ThemeMode } from "../../Enums/Modes/ThemeMode.js";
11
- import { isBoolean } from "../../Utils/TypeUtils.js";
12
12
  import { loadParticlesOptions } from "../../Utils/OptionsUtils.js";
13
13
  import { setRangeValue } from "../../Utils/NumberUtils.js";
14
14
  export class Options {
@@ -44,7 +44,7 @@ export class Options {
44
44
  this.zLayers = 100;
45
45
  }
46
46
  load(data) {
47
- if (!data) {
47
+ if (isNull(data)) {
48
48
  return;
49
49
  }
50
50
  if (data.preset !== undefined) {
@@ -1,4 +1,4 @@
1
- import { isArray, isString } from "../../Utils/TypeUtils.js";
1
+ import { isArray, isNull, isString } from "../../Utils/TypeUtils.js";
2
2
  export class OptionsColor {
3
3
  constructor() {
4
4
  this.value = "";
@@ -17,9 +17,11 @@ export class OptionsColor {
17
17
  return color;
18
18
  }
19
19
  load(data) {
20
- if (data?.value === undefined) {
20
+ if (isNull(data)) {
21
21
  return;
22
22
  }
23
- this.value = data.value;
23
+ if (!isNull(data.value)) {
24
+ this.value = data.value;
25
+ }
24
26
  }
25
27
  }
@@ -1,11 +1,12 @@
1
1
  import { ParticlesBounceFactor } from "./ParticlesBounceFactor.js";
2
+ import { isNull } from "../../../../Utils/TypeUtils.js";
2
3
  export class ParticlesBounce {
3
4
  constructor() {
4
5
  this.horizontal = new ParticlesBounceFactor();
5
6
  this.vertical = new ParticlesBounceFactor();
6
7
  }
7
8
  load(data) {
8
- if (!data) {
9
+ if (isNull(data)) {
9
10
  return;
10
11
  }
11
12
  this.horizontal.load(data.horizontal);
@@ -2,6 +2,7 @@ import { CollisionMode } from "../../../../Enums/Modes/CollisionMode.js";
2
2
  import { CollisionsAbsorb } from "./CollisionsAbsorb.js";
3
3
  import { CollisionsOverlap } from "./CollisionsOverlap.js";
4
4
  import { ParticlesBounce } from "../Bounce/ParticlesBounce.js";
5
+ import { isNull } from "../../../../Utils/TypeUtils.js";
5
6
  import { setRangeValue } from "../../../../Utils/NumberUtils.js";
6
7
  export class Collisions {
7
8
  constructor() {
@@ -13,7 +14,7 @@ export class Collisions {
13
14
  this.overlap = new CollisionsOverlap();
14
15
  }
15
16
  load(data) {
16
- if (!data) {
17
+ if (isNull(data)) {
17
18
  return;
18
19
  }
19
20
  this.absorb.load(data.absorb);
@@ -1,9 +1,10 @@
1
+ import { isNull } from "../../../../Utils/TypeUtils.js";
1
2
  export class CollisionsAbsorb {
2
3
  constructor() {
3
4
  this.speed = 2;
4
5
  }
5
6
  load(data) {
6
- if (!data) {
7
+ if (isNull(data)) {
7
8
  return;
8
9
  }
9
10
  if (data.speed !== undefined) {
@@ -1,10 +1,11 @@
1
+ import { isNull } from "../../../../Utils/TypeUtils.js";
1
2
  export class CollisionsOverlap {
2
3
  constructor() {
3
4
  this.enable = true;
4
5
  this.retries = 0;
5
6
  }
6
7
  load(data) {
7
- if (!data) {
8
+ if (isNull(data)) {
8
9
  return;
9
10
  }
10
11
  if (data.enable !== undefined) {
@@ -1,4 +1,5 @@
1
1
  import { deepExtend } from "../../../../Utils/Utils.js";
2
+ import { isNull } from "../../../../Utils/TypeUtils.js";
2
3
  export class Effect {
3
4
  constructor() {
4
5
  this.close = true;
@@ -7,7 +8,7 @@ export class Effect {
7
8
  this.type = [];
8
9
  }
9
10
  load(data) {
10
- if (!data) {
11
+ if (isNull(data)) {
11
12
  return;
12
13
  }
13
14
  const options = data.options;
@@ -1,5 +1,5 @@
1
1
  import { MoveDirection } from "../../../../Enums/Directions/MoveDirection.js";
2
- import { isNumber, isObject } from "../../../../Utils/TypeUtils.js";
2
+ import { isNull, isNumber, isObject } from "../../../../Utils/TypeUtils.js";
3
3
  import { MoveAngle } from "./MoveAngle.js";
4
4
  import { MoveAttract } from "./MoveAttract.js";
5
5
  import { MoveCenter } from "./MoveCenter.js";
@@ -32,7 +32,7 @@ export class Move {
32
32
  this.warp = false;
33
33
  }
34
34
  load(data) {
35
- if (!data) {
35
+ if (isNull(data)) {
36
36
  return;
37
37
  }
38
38
  this.angle.load(isNumber(data.angle) ? { value: data.angle } : data.angle);
@@ -1,3 +1,4 @@
1
+ import { isNull } from "../../../../Utils/TypeUtils.js";
1
2
  import { setRangeValue } from "../../../../Utils/NumberUtils.js";
2
3
  export class MoveAngle {
3
4
  constructor() {
@@ -5,7 +6,7 @@ export class MoveAngle {
5
6
  this.value = 90;
6
7
  }
7
8
  load(data) {
8
- if (!data) {
9
+ if (isNull(data)) {
9
10
  return;
10
11
  }
11
12
  if (data.offset !== undefined) {
@@ -1,3 +1,4 @@
1
+ import { isNull } from "../../../../Utils/TypeUtils.js";
1
2
  import { setRangeValue } from "../../../../Utils/NumberUtils.js";
2
3
  export class MoveAttract {
3
4
  constructor() {
@@ -9,7 +10,7 @@ export class MoveAttract {
9
10
  };
10
11
  }
11
12
  load(data) {
12
- if (!data) {
13
+ if (isNull(data)) {
13
14
  return;
14
15
  }
15
16
  if (data.distance !== undefined) {
@@ -1,4 +1,5 @@
1
1
  import { PixelMode } from "../../../../Enums/Modes/PixelMode.js";
2
+ import { isNull } from "../../../../Utils/TypeUtils.js";
2
3
  export class MoveCenter {
3
4
  constructor() {
4
5
  this.x = 50;
@@ -7,7 +8,7 @@ export class MoveCenter {
7
8
  this.radius = 0;
8
9
  }
9
10
  load(data) {
10
- if (!data) {
11
+ if (isNull(data)) {
11
12
  return;
12
13
  }
13
14
  if (data.x !== undefined) {
@@ -1,3 +1,4 @@
1
+ import { isNull } from "../../../../Utils/TypeUtils.js";
1
2
  import { setRangeValue } from "../../../../Utils/NumberUtils.js";
2
3
  export class MoveGravity {
3
4
  constructor() {
@@ -7,7 +8,7 @@ export class MoveGravity {
7
8
  this.maxSpeed = 50;
8
9
  }
9
10
  load(data) {
10
- if (!data) {
11
+ if (isNull(data)) {
11
12
  return;
12
13
  }
13
14
  if (data.acceleration !== undefined) {
@@ -1,4 +1,5 @@
1
1
  import { MoveTrailFill } from "./MoveTrailFill.js";
2
+ import { isNull } from "../../../../Utils/TypeUtils.js";
2
3
  export class MoveTrail {
3
4
  constructor() {
4
5
  this.enable = false;
@@ -6,7 +7,7 @@ export class MoveTrail {
6
7
  this.fill = new MoveTrailFill();
7
8
  }
8
9
  load(data) {
9
- if (!data) {
10
+ if (isNull(data)) {
10
11
  return;
11
12
  }
12
13
  if (data.enable !== undefined) {
@@ -1,7 +1,8 @@
1
1
  import { OptionsColor } from "../../OptionsColor.js";
2
+ import { isNull } from "../../../../Utils/TypeUtils.js";
2
3
  export class MoveTrailFill {
3
4
  load(data) {
4
- if (!data) {
5
+ if (isNull(data)) {
5
6
  return;
6
7
  }
7
8
  if (data.color !== undefined) {
@@ -1,10 +1,11 @@
1
1
  import { OutMode } from "../../../../Enums/Modes/OutMode.js";
2
+ import { isNull } from "../../../../Utils/TypeUtils.js";
2
3
  export class OutModes {
3
4
  constructor() {
4
5
  this.default = OutMode.out;
5
6
  }
6
7
  load(data) {
7
- if (!data) {
8
+ if (isNull(data)) {
8
9
  return;
9
10
  }
10
11
  if (data.default !== undefined) {
@@ -1,5 +1,6 @@
1
1
  import { ValueWithRandom } from "../../../ValueWithRandom.js";
2
2
  import { deepExtend } from "../../../../../Utils/Utils.js";
3
+ import { isNull } from "../../../../../Utils/TypeUtils.js";
3
4
  export class MovePath {
4
5
  constructor() {
5
6
  this.clamp = true;
@@ -8,7 +9,7 @@ export class MovePath {
8
9
  this.options = {};
9
10
  }
10
11
  load(data) {
11
- if (!data) {
12
+ if (isNull(data)) {
12
13
  return;
13
14
  }
14
15
  if (data.clamp !== undefined) {
@@ -1,4 +1,5 @@
1
1
  import { deepExtend } from "../../../../Utils/Utils.js";
2
+ import { isNull } from "../../../../Utils/TypeUtils.js";
2
3
  import { setRangeValue } from "../../../../Utils/NumberUtils.js";
3
4
  export class Spin {
4
5
  constructor() {
@@ -6,7 +7,7 @@ export class Spin {
6
7
  this.enable = false;
7
8
  }
8
9
  load(data) {
9
- if (!data) {
10
+ if (isNull(data)) {
10
11
  return;
11
12
  }
12
13
  if (data.acceleration !== undefined) {
@@ -1,3 +1,4 @@
1
+ import { isNull } from "../../../../Utils/TypeUtils.js";
1
2
  export class ParticlesDensity {
2
3
  constructor() {
3
4
  this.enable = false;
@@ -5,7 +6,7 @@ export class ParticlesDensity {
5
6
  this.height = 1080;
6
7
  }
7
8
  load(data) {
8
- if (!data) {
9
+ if (isNull(data)) {
9
10
  return;
10
11
  }
11
12
  if (data.enable !== undefined) {
@@ -1,5 +1,6 @@
1
1
  import { ParticlesDensity } from "./ParticlesDensity.js";
2
2
  import { ParticlesNumberLimit } from "./ParticlesNumberLimit.js";
3
+ import { isNull } from "../../../../Utils/TypeUtils.js";
3
4
  export class ParticlesNumber {
4
5
  constructor() {
5
6
  this.density = new ParticlesDensity();
@@ -7,7 +8,7 @@ export class ParticlesNumber {
7
8
  this.value = 0;
8
9
  }
9
10
  load(data) {
10
- if (!data) {
11
+ if (isNull(data)) {
11
12
  return;
12
13
  }
13
14
  this.density.load(data.density);
@@ -1,11 +1,12 @@
1
1
  import { LimitMode } from "../../../../Enums/Modes/LimitMode.js";
2
+ import { isNull } from "../../../../Utils/TypeUtils.js";
2
3
  export class ParticlesNumberLimit {
3
4
  constructor() {
4
5
  this.mode = LimitMode.delete;
5
6
  this.value = 0;
6
7
  }
7
8
  load(data) {
8
- if (!data) {
9
+ if (isNull(data)) {
9
10
  return;
10
11
  }
11
12
  if (data.mode !== undefined) {
@@ -1,5 +1,6 @@
1
1
  import { OpacityAnimation } from "./OpacityAnimation.js";
2
2
  import { RangedAnimationValueWithRandom } from "../../ValueWithRandom.js";
3
+ import { isNull } from "../../../../Utils/TypeUtils.js";
3
4
  export class Opacity extends RangedAnimationValueWithRandom {
4
5
  constructor() {
5
6
  super();
@@ -7,7 +8,7 @@ export class Opacity extends RangedAnimationValueWithRandom {
7
8
  this.value = 1;
8
9
  }
9
10
  load(data) {
10
- if (!data) {
11
+ if (isNull(data)) {
11
12
  return;
12
13
  }
13
14
  super.load(data);
@@ -1,5 +1,6 @@
1
1
  import { DestroyType } from "../../../../Enums/Types/DestroyType.js";
2
2
  import { RangedAnimationOptions } from "../../AnimationOptions.js";
3
+ import { isNull } from "../../../../Utils/TypeUtils.js";
3
4
  export class OpacityAnimation extends RangedAnimationOptions {
4
5
  constructor() {
5
6
  super();
@@ -8,7 +9,7 @@ export class OpacityAnimation extends RangedAnimationOptions {
8
9
  }
9
10
  load(data) {
10
11
  super.load(data);
11
- if (!data) {
12
+ if (isNull(data)) {
12
13
  return;
13
14
  }
14
15
  if (data.destroy !== undefined) {
@@ -11,6 +11,7 @@ import { Shape } from "./Shape/Shape.js";
11
11
  import { Size } from "./Size/Size.js";
12
12
  import { Stroke } from "./Stroke.js";
13
13
  import { ZIndex } from "./ZIndex/ZIndex.js";
14
+ import { isNull } from "../../../Utils/TypeUtils.js";
14
15
  export class ParticlesOptions {
15
16
  constructor(engine, container) {
16
17
  this._engine = engine;
@@ -32,7 +33,7 @@ export class ParticlesOptions {
32
33
  this.zIndex = new ZIndex();
33
34
  }
34
35
  load(data) {
35
- if (!data) {
36
+ if (isNull(data)) {
36
37
  return;
37
38
  }
38
39
  if (data.groups !== undefined) {