@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
@@ -1,4 +1,5 @@
1
1
  import { OptionsColor } from "../OptionsColor.js";
2
+ import { isNull } from "../../../Utils/TypeUtils.js";
2
3
  export class Shadow {
3
4
  constructor() {
4
5
  this.blur = 0;
@@ -11,7 +12,7 @@ export class Shadow {
11
12
  this.color.value = "#000";
12
13
  }
13
14
  load(data) {
14
- if (!data) {
15
+ if (isNull(data)) {
15
16
  return;
16
17
  }
17
18
  if (data.blur !== undefined) {
@@ -1,4 +1,5 @@
1
1
  import { deepExtend } from "../../../../Utils/Utils.js";
2
+ import { isNull } from "../../../../Utils/TypeUtils.js";
2
3
  export class Shape {
3
4
  constructor() {
4
5
  this.close = true;
@@ -7,7 +8,7 @@ export class Shape {
7
8
  this.type = "circle";
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,6 @@
1
1
  import { RangedAnimationValueWithRandom } from "../../ValueWithRandom.js";
2
2
  import { SizeAnimation } from "./SizeAnimation.js";
3
+ import { isNull } from "../../../../Utils/TypeUtils.js";
3
4
  export class Size extends RangedAnimationValueWithRandom {
4
5
  constructor() {
5
6
  super();
@@ -8,7 +9,7 @@ export class Size extends RangedAnimationValueWithRandom {
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
  const animation = data.animation;
@@ -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 SizeAnimation extends RangedAnimationOptions {
4
5
  constructor() {
5
6
  super();
@@ -8,7 +9,7 @@ export class SizeAnimation 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) {
@@ -1,11 +1,12 @@
1
1
  import { AnimatableColor } from "../AnimatableColor.js";
2
+ import { isNull } from "../../../Utils/TypeUtils.js";
2
3
  import { setRangeValue } from "../../../Utils/NumberUtils.js";
3
4
  export class Stroke {
4
5
  constructor() {
5
6
  this.width = 0;
6
7
  }
7
8
  load(data) {
8
- if (!data) {
9
+ if (isNull(data)) {
9
10
  return;
10
11
  }
11
12
  if (data.color !== undefined) {
@@ -1,4 +1,5 @@
1
1
  import { ValueWithRandom } from "../../ValueWithRandom.js";
2
+ import { isNull } from "../../../../Utils/TypeUtils.js";
2
3
  export class ZIndex extends ValueWithRandom {
3
4
  constructor() {
4
5
  super();
@@ -8,7 +9,7 @@ export class ZIndex extends ValueWithRandom {
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.opacityRate !== undefined) {
@@ -1,5 +1,6 @@
1
1
  import { ResponsiveMode } from "../../Enums/Modes/ResponsiveMode.js";
2
2
  import { deepExtend } from "../../Utils/Utils.js";
3
+ import { isNull } from "../../Utils/TypeUtils.js";
3
4
  export class Responsive {
4
5
  constructor() {
5
6
  this.maxWidth = Infinity;
@@ -7,13 +8,13 @@ export class Responsive {
7
8
  this.mode = ResponsiveMode.canvas;
8
9
  }
9
10
  load(data) {
10
- if (!data) {
11
+ if (isNull(data)) {
11
12
  return;
12
13
  }
13
- if (data.maxWidth !== undefined) {
14
+ if (!isNull(data.maxWidth)) {
14
15
  this.maxWidth = data.maxWidth;
15
16
  }
16
- if (data.mode !== undefined) {
17
+ if (!isNull(data.mode)) {
17
18
  if (data.mode === ResponsiveMode.screen) {
18
19
  this.mode = ResponsiveMode.screen;
19
20
  }
@@ -21,7 +22,7 @@ export class Responsive {
21
22
  this.mode = ResponsiveMode.canvas;
22
23
  }
23
24
  }
24
- if (data.options !== undefined) {
25
+ if (!isNull(data.options)) {
25
26
  this.options = deepExtend({}, data.options);
26
27
  }
27
28
  }
@@ -1,12 +1,13 @@
1
1
  import { ThemeDefault } from "./ThemeDefault.js";
2
2
  import { deepExtend } from "../../../Utils/Utils.js";
3
+ import { isNull } from "../../../Utils/TypeUtils.js";
3
4
  export class Theme {
4
5
  constructor() {
5
6
  this.name = "";
6
7
  this.default = new ThemeDefault();
7
8
  }
8
9
  load(data) {
9
- if (!data) {
10
+ if (isNull(data)) {
10
11
  return;
11
12
  }
12
13
  if (data.name !== undefined) {
@@ -1,4 +1,5 @@
1
1
  import { ThemeMode } from "../../../Enums/Modes/ThemeMode.js";
2
+ import { isNull } from "../../../Utils/TypeUtils.js";
2
3
  export class ThemeDefault {
3
4
  constructor() {
4
5
  this.auto = false;
@@ -6,7 +7,7 @@ export class ThemeDefault {
6
7
  this.value = false;
7
8
  }
8
9
  load(data) {
9
- if (!data) {
10
+ if (isNull(data)) {
10
11
  return;
11
12
  }
12
13
  if (data.auto !== undefined) {
@@ -1,14 +1,15 @@
1
1
  import { AnimationOptions, RangedAnimationOptions } from "./AnimationOptions.js";
2
+ import { isNull } from "../../Utils/TypeUtils.js";
2
3
  import { setRangeValue } from "../../Utils/NumberUtils.js";
3
4
  export class ValueWithRandom {
4
5
  constructor() {
5
6
  this.value = 0;
6
7
  }
7
8
  load(data) {
8
- if (!data) {
9
+ if (isNull(data)) {
9
10
  return;
10
11
  }
11
- if (data.value !== undefined) {
12
+ if (!isNull(data.value)) {
12
13
  this.value = setRangeValue(data.value);
13
14
  }
14
15
  }
@@ -20,7 +21,7 @@ export class AnimationValueWithRandom extends ValueWithRandom {
20
21
  }
21
22
  load(data) {
22
23
  super.load(data);
23
- if (!data) {
24
+ if (isNull(data)) {
24
25
  return;
25
26
  }
26
27
  const animation = data.animation;
@@ -32,7 +32,7 @@ export class HslColorManager {
32
32
  if (!input.startsWith("hsl")) {
33
33
  return;
34
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;
35
+ const regex = /hsla?\(\s*(\d+)\s*[\s,]\s*(\d+)%\s*[\s,]\s*(\d+)%\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i, result = regex.exec(input), minLength = 4, defaultAlpha = 1, radix = 10;
36
36
  return result
37
37
  ? hslaToRgba({
38
38
  a: result.length > minLength ? parseAlpha(result[HslIndexes.a]) : defaultAlpha,
@@ -31,7 +31,7 @@ export class RgbColorManager {
31
31
  if (!input.startsWith(this.stringPrefix)) {
32
32
  return;
33
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;
34
+ const regex = /rgba?\(\s*(\d{1,3})\s*[\s,]\s*(\d{1,3})\s*[\s,]\s*(\d{1,3})\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i, result = regex.exec(input), radix = 10, minLength = 4, defaultAlpha = 1;
35
35
  return result
36
36
  ? {
37
37
  a: result.length > minLength ? parseAlpha(result[RgbIndexes.a]) : defaultAlpha,
@@ -16,3 +16,6 @@ export function isObject(arg) {
16
16
  export function isArray(arg) {
17
17
  return Array.isArray(arg);
18
18
  }
19
+ export function isNull(arg) {
20
+ return arg === null || arg === undefined;
21
+ }
@@ -98,7 +98,7 @@ class Engine {
98
98
  return this._domArray;
99
99
  }
100
100
  get version() {
101
- return "3.6.0-beta.0";
101
+ return "3.6.0";
102
102
  }
103
103
  addConfig(config) {
104
104
  const key = config.key ?? config.name ?? "default";
@@ -24,7 +24,7 @@ class AnimatableColor extends OptionsColor_js_1.OptionsColor {
24
24
  }
25
25
  load(data) {
26
26
  super.load(data);
27
- if (!data) {
27
+ if ((0, TypeUtils_js_1.isNull)(data)) {
28
28
  return;
29
29
  }
30
30
  const colorAnimation = data.animation;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RangedAnimationOptions = exports.AnimationOptions = void 0;
4
4
  const AnimationMode_js_1 = require("../../Enums/Modes/AnimationMode.js");
5
5
  const StartValueType_js_1 = require("../../Enums/Types/StartValueType.js");
6
+ const TypeUtils_js_1 = require("../../Utils/TypeUtils.js");
6
7
  const NumberUtils_js_1 = require("../../Utils/NumberUtils.js");
7
8
  class AnimationOptions {
8
9
  constructor() {
@@ -14,7 +15,7 @@ class AnimationOptions {
14
15
  this.sync = false;
15
16
  }
16
17
  load(data) {
17
- if (!data) {
18
+ if ((0, TypeUtils_js_1.isNull)(data)) {
18
19
  return;
19
20
  }
20
21
  if (data.count !== undefined) {
@@ -46,7 +47,7 @@ class RangedAnimationOptions extends AnimationOptions {
46
47
  }
47
48
  load(data) {
48
49
  super.load(data);
49
- if (!data) {
50
+ if ((0, TypeUtils_js_1.isNull)(data)) {
50
51
  return;
51
52
  }
52
53
  if (data.mode !== undefined) {
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Background = void 0;
4
4
  const OptionsColor_js_1 = require("../OptionsColor.js");
5
+ const TypeUtils_js_1 = require("../../../Utils/TypeUtils.js");
5
6
  class Background {
6
7
  constructor() {
7
8
  this.color = new OptionsColor_js_1.OptionsColor();
@@ -13,7 +14,7 @@ class Background {
13
14
  this.opacity = 1;
14
15
  }
15
16
  load(data) {
16
- if (!data) {
17
+ if ((0, TypeUtils_js_1.isNull)(data)) {
17
18
  return;
18
19
  }
19
20
  if (data.color !== undefined) {
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BackgroundMask = void 0;
4
- const BackgroundMaskCover_js_1 = require("./BackgroundMaskCover.js");
5
4
  const TypeUtils_js_1 = require("../../../Utils/TypeUtils.js");
5
+ const BackgroundMaskCover_js_1 = require("./BackgroundMaskCover.js");
6
6
  class BackgroundMask {
7
7
  constructor() {
8
8
  this.composite = "destination-out";
@@ -10,7 +10,7 @@ class BackgroundMask {
10
10
  this.enable = false;
11
11
  }
12
12
  load(data) {
13
- if (!data) {
13
+ if ((0, TypeUtils_js_1.isNull)(data)) {
14
14
  return;
15
15
  }
16
16
  if (data.composite !== undefined) {
@@ -2,12 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BackgroundMaskCover = void 0;
4
4
  const OptionsColor_js_1 = require("../OptionsColor.js");
5
+ const TypeUtils_js_1 = require("../../../Utils/TypeUtils.js");
5
6
  class BackgroundMaskCover {
6
7
  constructor() {
7
8
  this.opacity = 1;
8
9
  }
9
10
  load(data) {
10
- if (!data) {
11
+ if ((0, TypeUtils_js_1.isNull)(data)) {
11
12
  return;
12
13
  }
13
14
  if (data.color !== undefined) {
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ColorAnimation = void 0;
4
4
  const AnimationOptions_js_1 = require("./AnimationOptions.js");
5
+ const TypeUtils_js_1 = require("../../Utils/TypeUtils.js");
5
6
  const NumberUtils_js_1 = require("../../Utils/NumberUtils.js");
6
7
  class ColorAnimation extends AnimationOptions_js_1.AnimationOptions {
7
8
  constructor() {
@@ -11,7 +12,7 @@ class ColorAnimation extends AnimationOptions_js_1.AnimationOptions {
11
12
  }
12
13
  load(data) {
13
14
  super.load(data);
14
- if (!data) {
15
+ if ((0, TypeUtils_js_1.isNull)(data)) {
15
16
  return;
16
17
  }
17
18
  if (data.offset !== undefined) {
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FullScreen = void 0;
4
+ const TypeUtils_js_1 = require("../../../Utils/TypeUtils.js");
4
5
  class FullScreen {
5
6
  constructor() {
6
7
  this.enable = true;
7
8
  this.zIndex = 0;
8
9
  }
9
10
  load(data) {
10
- if (!data) {
11
+ if ((0, TypeUtils_js_1.isNull)(data)) {
11
12
  return;
12
13
  }
13
14
  if (data.enable !== undefined) {
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HslAnimation = void 0;
4
4
  const ColorAnimation_js_1 = require("./ColorAnimation.js");
5
+ const TypeUtils_js_1 = require("../../Utils/TypeUtils.js");
5
6
  class HslAnimation {
6
7
  constructor() {
7
8
  this.h = new ColorAnimation_js_1.ColorAnimation();
@@ -9,7 +10,7 @@ class HslAnimation {
9
10
  this.l = new ColorAnimation_js_1.ColorAnimation();
10
11
  }
11
12
  load(data) {
12
- if (!data) {
13
+ if ((0, TypeUtils_js_1.isNull)(data)) {
13
14
  return;
14
15
  }
15
16
  this.h.load(data.h);
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ClickEvent = void 0;
4
+ const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
4
5
  class ClickEvent {
5
6
  constructor() {
6
7
  this.enable = false;
7
8
  this.mode = [];
8
9
  }
9
10
  load(data) {
10
- if (!data) {
11
+ if ((0, TypeUtils_js_1.isNull)(data)) {
11
12
  return;
12
13
  }
13
14
  if (data.enable !== undefined) {
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DivEvent = void 0;
4
4
  const DivType_js_1 = require("../../../../Enums/Types/DivType.js");
5
+ const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
5
6
  class DivEvent {
6
7
  constructor() {
7
8
  this.selectors = [];
@@ -10,7 +11,7 @@ class DivEvent {
10
11
  this.type = DivType_js_1.DivType.circle;
11
12
  }
12
13
  load(data) {
13
- if (!data) {
14
+ if ((0, TypeUtils_js_1.isNull)(data)) {
14
15
  return;
15
16
  }
16
17
  if (data.selectors !== undefined) {
@@ -6,6 +6,7 @@ const DivEvent_js_1 = require("./DivEvent.js");
6
6
  const HoverEvent_js_1 = require("./HoverEvent.js");
7
7
  const ResizeEvent_js_1 = require("./ResizeEvent.js");
8
8
  const Utils_js_1 = require("../../../../Utils/Utils.js");
9
+ const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
9
10
  class Events {
10
11
  constructor() {
11
12
  this.onClick = new ClickEvent_js_1.ClickEvent();
@@ -14,7 +15,7 @@ class Events {
14
15
  this.resize = new ResizeEvent_js_1.ResizeEvent();
15
16
  }
16
17
  load(data) {
17
- if (!data) {
18
+ if ((0, TypeUtils_js_1.isNull)(data)) {
18
19
  return;
19
20
  }
20
21
  this.onClick.load(data.onClick);
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HoverEvent = void 0;
4
4
  const Parallax_js_1 = require("./Parallax.js");
5
+ const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
5
6
  class HoverEvent {
6
7
  constructor() {
7
8
  this.enable = false;
@@ -9,7 +10,7 @@ class HoverEvent {
9
10
  this.parallax = new Parallax_js_1.Parallax();
10
11
  }
11
12
  load(data) {
12
- if (!data) {
13
+ if ((0, TypeUtils_js_1.isNull)(data)) {
13
14
  return;
14
15
  }
15
16
  if (data.enable !== undefined) {
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Parallax = void 0;
4
+ const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
4
5
  class Parallax {
5
6
  constructor() {
6
7
  this.enable = false;
@@ -8,7 +9,7 @@ class Parallax {
8
9
  this.smooth = 10;
9
10
  }
10
11
  load(data) {
11
- if (!data) {
12
+ if ((0, TypeUtils_js_1.isNull)(data)) {
12
13
  return;
13
14
  }
14
15
  if (data.enable !== undefined) {
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ResizeEvent = void 0;
4
+ const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
4
5
  class ResizeEvent {
5
6
  constructor() {
6
7
  this.delay = 0.5;
7
8
  this.enable = true;
8
9
  }
9
10
  load(data) {
10
- if (data === undefined) {
11
+ if ((0, TypeUtils_js_1.isNull)(data)) {
11
12
  return;
12
13
  }
13
14
  if (data.delay !== undefined) {
@@ -4,6 +4,7 @@ exports.Interactivity = void 0;
4
4
  const Events_js_1 = require("./Events/Events.js");
5
5
  const InteractivityDetect_js_1 = require("../../../Enums/InteractivityDetect.js");
6
6
  const Modes_js_1 = require("./Modes/Modes.js");
7
+ const TypeUtils_js_1 = require("../../../Utils/TypeUtils.js");
7
8
  class Interactivity {
8
9
  constructor(engine, container) {
9
10
  this.detectsOn = InteractivityDetect_js_1.InteractivityDetect.window;
@@ -11,7 +12,7 @@ class Interactivity {
11
12
  this.modes = new Modes_js_1.Modes(engine, container);
12
13
  }
13
14
  load(data) {
14
- if (!data) {
15
+ if ((0, TypeUtils_js_1.isNull)(data)) {
15
16
  return;
16
17
  }
17
18
  const detectsOn = data.detectsOn;
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Modes = void 0;
4
+ const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
4
5
  class Modes {
5
6
  constructor(engine, container) {
6
7
  this._engine = engine;
7
8
  this._container = container;
8
9
  }
9
10
  load(data) {
10
- if (!data) {
11
+ if ((0, TypeUtils_js_1.isNull)(data)) {
11
12
  return;
12
13
  }
13
14
  if (!this._container) {
@@ -3,10 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ManualParticle = void 0;
4
4
  const PixelMode_js_1 = require("../../Enums/Modes/PixelMode.js");
5
5
  const Utils_js_1 = require("../../Utils/Utils.js");
6
+ const TypeUtils_js_1 = require("../../Utils/TypeUtils.js");
6
7
  const defaultPosition = 50;
7
8
  class ManualParticle {
8
9
  load(data) {
9
- if (!data) {
10
+ if ((0, TypeUtils_js_1.isNull)(data)) {
10
11
  return;
11
12
  }
12
13
  if (data.position) {
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Options = void 0;
4
4
  const Utils_js_1 = require("../../Utils/Utils.js");
5
+ const TypeUtils_js_1 = require("../../Utils/TypeUtils.js");
5
6
  const Background_js_1 = require("./Background/Background.js");
6
7
  const BackgroundMask_js_1 = require("./BackgroundMask/BackgroundMask.js");
7
8
  const FullScreen_js_1 = require("./FullScreen/FullScreen.js");
@@ -11,7 +12,6 @@ const Responsive_js_1 = require("./Responsive.js");
11
12
  const ResponsiveMode_js_1 = require("../../Enums/Modes/ResponsiveMode.js");
12
13
  const Theme_js_1 = require("./Theme/Theme.js");
13
14
  const ThemeMode_js_1 = require("../../Enums/Modes/ThemeMode.js");
14
- const TypeUtils_js_1 = require("../../Utils/TypeUtils.js");
15
15
  const OptionsUtils_js_1 = require("../../Utils/OptionsUtils.js");
16
16
  const NumberUtils_js_1 = require("../../Utils/NumberUtils.js");
17
17
  class Options {
@@ -47,7 +47,7 @@ class Options {
47
47
  this.zLayers = 100;
48
48
  }
49
49
  load(data) {
50
- if (!data) {
50
+ if ((0, TypeUtils_js_1.isNull)(data)) {
51
51
  return;
52
52
  }
53
53
  if (data.preset !== undefined) {
@@ -20,10 +20,12 @@ class OptionsColor {
20
20
  return color;
21
21
  }
22
22
  load(data) {
23
- if (data?.value === undefined) {
23
+ if ((0, TypeUtils_js_1.isNull)(data)) {
24
24
  return;
25
25
  }
26
- this.value = data.value;
26
+ if (!(0, TypeUtils_js_1.isNull)(data.value)) {
27
+ this.value = data.value;
28
+ }
27
29
  }
28
30
  }
29
31
  exports.OptionsColor = OptionsColor;
@@ -2,13 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ParticlesBounce = void 0;
4
4
  const ParticlesBounceFactor_js_1 = require("./ParticlesBounceFactor.js");
5
+ const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
5
6
  class ParticlesBounce {
6
7
  constructor() {
7
8
  this.horizontal = new ParticlesBounceFactor_js_1.ParticlesBounceFactor();
8
9
  this.vertical = new ParticlesBounceFactor_js_1.ParticlesBounceFactor();
9
10
  }
10
11
  load(data) {
11
- if (!data) {
12
+ if ((0, TypeUtils_js_1.isNull)(data)) {
12
13
  return;
13
14
  }
14
15
  this.horizontal.load(data.horizontal);
@@ -5,6 +5,7 @@ const CollisionMode_js_1 = require("../../../../Enums/Modes/CollisionMode.js");
5
5
  const CollisionsAbsorb_js_1 = require("./CollisionsAbsorb.js");
6
6
  const CollisionsOverlap_js_1 = require("./CollisionsOverlap.js");
7
7
  const ParticlesBounce_js_1 = require("../Bounce/ParticlesBounce.js");
8
+ const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
8
9
  const NumberUtils_js_1 = require("../../../../Utils/NumberUtils.js");
9
10
  class Collisions {
10
11
  constructor() {
@@ -16,7 +17,7 @@ class Collisions {
16
17
  this.overlap = new CollisionsOverlap_js_1.CollisionsOverlap();
17
18
  }
18
19
  load(data) {
19
- if (!data) {
20
+ if ((0, TypeUtils_js_1.isNull)(data)) {
20
21
  return;
21
22
  }
22
23
  this.absorb.load(data.absorb);
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CollisionsAbsorb = void 0;
4
+ const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
4
5
  class CollisionsAbsorb {
5
6
  constructor() {
6
7
  this.speed = 2;
7
8
  }
8
9
  load(data) {
9
- if (!data) {
10
+ if ((0, TypeUtils_js_1.isNull)(data)) {
10
11
  return;
11
12
  }
12
13
  if (data.speed !== undefined) {
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CollisionsOverlap = void 0;
4
+ const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
4
5
  class CollisionsOverlap {
5
6
  constructor() {
6
7
  this.enable = true;
7
8
  this.retries = 0;
8
9
  }
9
10
  load(data) {
10
- if (!data) {
11
+ if ((0, TypeUtils_js_1.isNull)(data)) {
11
12
  return;
12
13
  }
13
14
  if (data.enable !== undefined) {
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Effect = void 0;
4
4
  const Utils_js_1 = require("../../../../Utils/Utils.js");
5
+ const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
5
6
  class Effect {
6
7
  constructor() {
7
8
  this.close = true;
@@ -10,7 +11,7 @@ class Effect {
10
11
  this.type = [];
11
12
  }
12
13
  load(data) {
13
- if (!data) {
14
+ if ((0, TypeUtils_js_1.isNull)(data)) {
14
15
  return;
15
16
  }
16
17
  const options = data.options;