@tsparticles/engine 3.4.0 → 3.6.0-beta.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 (51) hide show
  1. package/README.md +0 -2
  2. package/browser/Core/Canvas.js +4 -6
  3. package/browser/Core/Container.js +15 -15
  4. package/browser/Core/Engine.js +1 -1
  5. package/browser/Core/Particle.js +4 -4
  6. package/browser/Core/Particles.js +9 -8
  7. package/browser/Core/Utils/EventListeners.js +1 -1
  8. package/browser/Utils/CanvasUtils.js +2 -2
  9. package/browser/Utils/ColorUtils.js +3 -3
  10. package/browser/Utils/NumberUtils.js +17 -4
  11. package/cjs/Core/Canvas.js +4 -6
  12. package/cjs/Core/Container.js +15 -15
  13. package/cjs/Core/Engine.js +1 -1
  14. package/cjs/Core/Particle.js +4 -4
  15. package/cjs/Core/Particles.js +9 -8
  16. package/cjs/Core/Utils/EventListeners.js +1 -1
  17. package/cjs/Utils/CanvasUtils.js +13 -14
  18. package/cjs/Utils/ColorUtils.js +23 -24
  19. package/cjs/Utils/NumberUtils.js +43 -28
  20. package/cjs/Utils/OptionsUtils.js +2 -3
  21. package/cjs/Utils/TypeUtils.js +6 -7
  22. package/cjs/Utils/Utils.js +29 -30
  23. package/cjs/init.js +1 -2
  24. package/esm/Core/Canvas.js +4 -6
  25. package/esm/Core/Container.js +15 -15
  26. package/esm/Core/Engine.js +1 -1
  27. package/esm/Core/Particle.js +4 -4
  28. package/esm/Core/Particles.js +9 -8
  29. package/esm/Core/Utils/EventListeners.js +1 -1
  30. package/esm/Utils/CanvasUtils.js +2 -2
  31. package/esm/Utils/ColorUtils.js +3 -3
  32. package/esm/Utils/NumberUtils.js +17 -4
  33. package/package.json +1 -1
  34. package/report.html +1 -1
  35. package/tsparticles.engine.js +12 -12
  36. package/tsparticles.engine.min.js +1 -1
  37. package/tsparticles.engine.min.js.LICENSE.txt +1 -1
  38. package/types/Utils/NumberUtils.d.ts +3 -0
  39. package/umd/Core/Canvas.js +4 -6
  40. package/umd/Core/Container.js +16 -16
  41. package/umd/Core/Engine.js +1 -1
  42. package/umd/Core/Particle.js +4 -4
  43. package/umd/Core/Particles.js +9 -8
  44. package/umd/Core/Utils/EventListeners.js +1 -1
  45. package/umd/Utils/CanvasUtils.js +13 -14
  46. package/umd/Utils/ColorUtils.js +23 -24
  47. package/umd/Utils/NumberUtils.js +43 -28
  48. package/umd/Utils/OptionsUtils.js +2 -3
  49. package/umd/Utils/TypeUtils.js +6 -7
  50. package/umd/Utils/Utils.js +29 -30
  51. package/umd/init.js +1 -2
@@ -1,6 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.alterHsl = exports.drawParticlePlugin = exports.drawPlugin = exports.drawShapeAfterDraw = exports.drawShape = exports.drawEffect = exports.drawParticle = exports.clear = exports.paintImage = exports.paintBase = exports.drawLine = void 0;
3
+ exports.drawLine = drawLine;
4
+ exports.paintBase = paintBase;
5
+ exports.paintImage = paintImage;
6
+ exports.clear = clear;
7
+ exports.drawParticle = drawParticle;
8
+ exports.drawEffect = drawEffect;
9
+ exports.drawShape = drawShape;
10
+ exports.drawShapeAfterDraw = drawShapeAfterDraw;
11
+ exports.drawPlugin = drawPlugin;
12
+ exports.drawParticlePlugin = drawParticlePlugin;
13
+ exports.alterHsl = alterHsl;
4
14
  const AlterType_js_1 = require("../Enums/Types/AlterType.js");
5
15
  const ColorUtils_js_1 = require("./ColorUtils.js");
6
16
  const origin = { x: 0, y: 0 }, defaultTransform = {
@@ -15,12 +25,10 @@ function drawLine(context, begin, end) {
15
25
  context.lineTo(end.x, end.y);
16
26
  context.closePath();
17
27
  }
18
- exports.drawLine = drawLine;
19
28
  function paintBase(context, dimension, baseColor) {
20
29
  context.fillStyle = baseColor ?? "rgba(0,0,0,0)";
21
30
  context.fillRect(origin.x, origin.y, dimension.width, dimension.height);
22
31
  }
23
- exports.paintBase = paintBase;
24
32
  function paintImage(context, dimension, image, opacity) {
25
33
  if (!image) {
26
34
  return;
@@ -29,19 +37,17 @@ function paintImage(context, dimension, image, opacity) {
29
37
  context.drawImage(image, origin.x, origin.y, dimension.width, dimension.height);
30
38
  context.globalAlpha = 1;
31
39
  }
32
- exports.paintImage = paintImage;
33
40
  function clear(context, dimension) {
34
41
  context.clearRect(origin.x, origin.y, dimension.width, dimension.height);
35
42
  }
36
- exports.clear = clear;
37
43
  function drawParticle(data) {
38
44
  const { container, context, particle, delta, colorStyles, backgroundMask, composite, radius, opacity, shadow, transform, } = data, pos = particle.getPosition(), defaultAngle = 0, angle = particle.rotation + (particle.pathRotation ? particle.velocity.angle : defaultAngle), rotateData = {
39
45
  sin: Math.sin(angle),
40
46
  cos: Math.cos(angle),
41
47
  }, rotating = !!angle, identity = 1, transformData = {
42
48
  a: rotateData.cos * (transform.a ?? defaultTransform.a),
43
- b: rotating ? rotateData.sin * (transform.b ?? identity) : transform.b ?? defaultTransform.b,
44
- c: rotating ? -rotateData.sin * (transform.c ?? identity) : transform.c ?? defaultTransform.c,
49
+ b: rotating ? rotateData.sin * (transform.b ?? identity) : (transform.b ?? defaultTransform.b),
50
+ c: rotating ? -rotateData.sin * (transform.c ?? identity) : (transform.c ?? defaultTransform.c),
45
51
  d: rotateData.cos * (transform.d ?? defaultTransform.d),
46
52
  };
47
53
  context.setTransform(transformData.a, transformData.b, transformData.c, transformData.d, pos.x, pos.y);
@@ -79,7 +85,6 @@ function drawParticle(data) {
79
85
  context.globalCompositeOperation = "source-over";
80
86
  context.resetTransform();
81
87
  }
82
- exports.drawParticle = drawParticle;
83
88
  function drawEffect(data) {
84
89
  const { container, context, particle, radius, opacity, delta, transformData } = data;
85
90
  if (!particle.effect) {
@@ -99,7 +104,6 @@ function drawEffect(data) {
99
104
  transformData: { ...transformData },
100
105
  });
101
106
  }
102
- exports.drawEffect = drawEffect;
103
107
  function drawShape(data) {
104
108
  const { container, context, particle, radius, opacity, delta, strokeWidth, transformData } = data, minStrokeWidth = 0;
105
109
  if (!particle.shape) {
@@ -129,7 +133,6 @@ function drawShape(data) {
129
133
  context.fill();
130
134
  }
131
135
  }
132
- exports.drawShape = drawShape;
133
136
  function drawShapeAfterDraw(data) {
134
137
  const { container, context, particle, radius, opacity, delta, transformData } = data;
135
138
  if (!particle.shape) {
@@ -149,21 +152,18 @@ function drawShapeAfterDraw(data) {
149
152
  transformData: { ...transformData },
150
153
  });
151
154
  }
152
- exports.drawShapeAfterDraw = drawShapeAfterDraw;
153
155
  function drawPlugin(context, plugin, delta) {
154
156
  if (!plugin.draw) {
155
157
  return;
156
158
  }
157
159
  plugin.draw(context, delta);
158
160
  }
159
- exports.drawPlugin = drawPlugin;
160
161
  function drawParticlePlugin(context, plugin, particle, delta) {
161
162
  if (!plugin.drawParticle) {
162
163
  return;
163
164
  }
164
165
  plugin.drawParticle(context, particle, delta);
165
166
  }
166
- exports.drawParticlePlugin = drawParticlePlugin;
167
167
  function alterHsl(color, type, value) {
168
168
  const lFactor = 1;
169
169
  return {
@@ -172,4 +172,3 @@ function alterHsl(color, type, value) {
172
172
  l: color.l + (type === AlterType_js_1.AlterType.darken ? -lFactor : lFactor) * value,
173
173
  };
174
174
  }
175
- exports.alterHsl = alterHsl;
@@ -1,6 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateColor = exports.updateColorValue = exports.getHslAnimationFromHsl = exports.getHslFromAnimation = exports.getLinkRandomColor = exports.getLinkColor = exports.colorMix = exports.getStyleFromHsl = exports.getStyleFromRgb = exports.getRandomRgbColor = exports.hslaToRgba = exports.hslToRgb = exports.stringToRgb = exports.stringToAlpha = exports.rgbToHsl = exports.rangeColorToHsl = exports.colorToHsl = exports.colorToRgb = exports.rangeColorToRgb = exports.addColorManager = void 0;
3
+ exports.addColorManager = addColorManager;
4
+ exports.rangeColorToRgb = rangeColorToRgb;
5
+ exports.colorToRgb = colorToRgb;
6
+ exports.colorToHsl = colorToHsl;
7
+ exports.rangeColorToHsl = rangeColorToHsl;
8
+ exports.rgbToHsl = rgbToHsl;
9
+ exports.stringToAlpha = stringToAlpha;
10
+ exports.stringToRgb = stringToRgb;
11
+ exports.hslToRgb = hslToRgb;
12
+ exports.hslaToRgba = hslaToRgba;
13
+ exports.getRandomRgbColor = getRandomRgbColor;
14
+ exports.getStyleFromRgb = getStyleFromRgb;
15
+ exports.getStyleFromHsl = getStyleFromHsl;
16
+ exports.colorMix = colorMix;
17
+ exports.getLinkColor = getLinkColor;
18
+ exports.getLinkRandomColor = getLinkRandomColor;
19
+ exports.getHslFromAnimation = getHslFromAnimation;
20
+ exports.getHslAnimationFromHsl = getHslAnimationFromHsl;
21
+ exports.updateColorValue = updateColorValue;
22
+ exports.updateColor = updateColor;
4
23
  const NumberUtils_js_1 = require("./NumberUtils.js");
5
24
  const TypeUtils_js_1 = require("./TypeUtils.js");
6
25
  const Constants_js_1 = require("../Core/Utils/Constants.js");
@@ -17,9 +36,8 @@ const randomColorValue = "random", midColorValue = "mid", colorManagers = new Ma
17
36
  function addColorManager(manager) {
18
37
  colorManagers.set(manager.key, manager);
19
38
  }
20
- exports.addColorManager = addColorManager;
21
39
  function stringToRgba(input) {
22
- for (const [, manager] of colorManagers) {
40
+ for (const manager of colorManagers.values()) {
23
41
  if (input.startsWith(manager.stringPrefix)) {
24
42
  return manager.parseString(input);
25
43
  }
@@ -51,14 +69,13 @@ function rangeColorToRgb(input, index, useIndex = true) {
51
69
  value: (0, Utils_js_1.itemFromArray)(color.value, index, useIndex),
52
70
  });
53
71
  }
54
- for (const [, manager] of colorManagers) {
72
+ for (const manager of colorManagers.values()) {
55
73
  const res = manager.handleRangeColor(color);
56
74
  if (res) {
57
75
  return res;
58
76
  }
59
77
  }
60
78
  }
61
- exports.rangeColorToRgb = rangeColorToRgb;
62
79
  function colorToRgb(input, index, useIndex = true) {
63
80
  if (!input) {
64
81
  return;
@@ -72,24 +89,21 @@ function colorToRgb(input, index, useIndex = true) {
72
89
  value: (0, Utils_js_1.itemFromArray)(color.value, index, useIndex),
73
90
  });
74
91
  }
75
- for (const [, manager] of colorManagers) {
92
+ for (const manager of colorManagers.values()) {
76
93
  const res = manager.handleColor(color);
77
94
  if (res) {
78
95
  return res;
79
96
  }
80
97
  }
81
98
  }
82
- exports.colorToRgb = colorToRgb;
83
99
  function colorToHsl(color, index, useIndex = true) {
84
100
  const rgb = colorToRgb(color, index, useIndex);
85
101
  return rgb ? rgbToHsl(rgb) : undefined;
86
102
  }
87
- exports.colorToHsl = colorToHsl;
88
103
  function rangeColorToHsl(color, index, useIndex = true) {
89
104
  const rgb = rangeColorToRgb(color, index, useIndex);
90
105
  return rgb ? rgbToHsl(rgb) : undefined;
91
106
  }
92
- exports.rangeColorToHsl = rangeColorToHsl;
93
107
  function rgbToHsl(color) {
94
108
  const rgbMax = 255, hMax = 360, sMax = 100, lMax = 100, hMin = 0, sMin = 0, hPhase = 60, half = 0.5, double = 2, r1 = color.r / rgbMax, g1 = color.g / rgbMax, b1 = color.b / rgbMax, max = Math.max(r1, g1, b1), min = Math.min(r1, g1, b1), res = {
95
109
  h: hMin,
@@ -114,15 +128,12 @@ function rgbToHsl(color) {
114
128
  }
115
129
  return res;
116
130
  }
117
- exports.rgbToHsl = rgbToHsl;
118
131
  function stringToAlpha(input) {
119
132
  return stringToRgba(input)?.a;
120
133
  }
121
- exports.stringToAlpha = stringToAlpha;
122
134
  function stringToRgb(input) {
123
135
  return stringToRgba(input);
124
136
  }
125
- exports.stringToRgb = stringToRgb;
126
137
  function hslToRgb(hsl) {
127
138
  const hMax = 360, sMax = 100, lMax = 100, sMin = 0, lMin = 0, h = ((hsl.h % hMax) + hMax) % hMax, s = Math.max(sMin, Math.min(sMax, hsl.s)), l = Math.max(lMin, Math.min(lMax, hsl.l)), hNormalized = h / hMax, sNormalized = s / sMax, lNormalized = l / lMax, rgbFactor = 255, triple = 3;
128
139
  if (s === sMin) {
@@ -153,7 +164,6 @@ function hslToRgb(hsl) {
153
164
  : lNormalized + sNormalized - lNormalized * sNormalized, temp2 = double * lNormalized - temp1, phaseNumerator = 1, phaseThird = phaseNumerator / triple, red = Math.min(rgbFactor, rgbFactor * channel(temp2, temp1, hNormalized + phaseThird)), green = Math.min(rgbFactor, rgbFactor * channel(temp2, temp1, hNormalized)), blue = Math.min(rgbFactor, rgbFactor * channel(temp2, temp1, hNormalized - phaseThird));
154
165
  return { r: Math.round(red), g: Math.round(green), b: Math.round(blue) };
155
166
  }
156
- exports.hslToRgb = hslToRgb;
157
167
  function hslaToRgba(hsla) {
158
168
  const rgbResult = hslToRgb(hsla);
159
169
  return {
@@ -163,7 +173,6 @@ function hslaToRgba(hsla) {
163
173
  r: rgbResult.r,
164
174
  };
165
175
  }
166
- exports.hslaToRgba = hslaToRgba;
167
176
  function getRandomRgbColor(min) {
168
177
  const defaultMin = 0, fixedMin = min ?? defaultMin, rgbMax = 256;
169
178
  return {
@@ -172,17 +181,14 @@ function getRandomRgbColor(min) {
172
181
  r: Math.floor((0, NumberUtils_js_1.randomInRange)((0, NumberUtils_js_1.setRangeValue)(fixedMin, rgbMax))),
173
182
  };
174
183
  }
175
- exports.getRandomRgbColor = getRandomRgbColor;
176
184
  function getStyleFromRgb(color, opacity) {
177
185
  const defaultOpacity = 1;
178
186
  return `rgba(${color.r}, ${color.g}, ${color.b}, ${opacity ?? defaultOpacity})`;
179
187
  }
180
- exports.getStyleFromRgb = getStyleFromRgb;
181
188
  function getStyleFromHsl(color, opacity) {
182
189
  const defaultOpacity = 1;
183
190
  return `hsla(${color.h}, ${color.s}%, ${color.l}%, ${opacity ?? defaultOpacity})`;
184
191
  }
185
- exports.getStyleFromHsl = getStyleFromHsl;
186
192
  function colorMix(color1, color2, size1, size2) {
187
193
  let rgb1 = color1, rgb2 = color2;
188
194
  if (rgb1.r === undefined) {
@@ -197,7 +203,6 @@ function colorMix(color1, color2, size1, size2) {
197
203
  r: (0, NumberUtils_js_1.mix)(rgb1.r, rgb2.r, size1, size2),
198
204
  };
199
205
  }
200
- exports.colorMix = colorMix;
201
206
  function getLinkColor(p1, p2, linkColor) {
202
207
  if (linkColor === randomColorValue) {
203
208
  return getRandomRgbColor();
@@ -218,7 +223,6 @@ function getLinkColor(p1, p2, linkColor) {
218
223
  return linkColor;
219
224
  }
220
225
  }
221
- exports.getLinkColor = getLinkColor;
222
226
  function getLinkRandomColor(optColor, blink, consent) {
223
227
  const color = (0, TypeUtils_js_1.isString)(optColor) ? optColor : optColor.value;
224
228
  if (color === randomColorValue) {
@@ -241,7 +245,6 @@ function getLinkRandomColor(optColor, blink, consent) {
241
245
  });
242
246
  }
243
247
  }
244
- exports.getLinkRandomColor = getLinkRandomColor;
245
248
  function getHslFromAnimation(animation) {
246
249
  return animation !== undefined
247
250
  ? {
@@ -251,7 +254,6 @@ function getHslFromAnimation(animation) {
251
254
  }
252
255
  : undefined;
253
256
  }
254
- exports.getHslFromAnimation = getHslFromAnimation;
255
257
  function getHslAnimationFromHsl(hsl, animationOptions, reduceFactor) {
256
258
  const resColor = {
257
259
  h: {
@@ -274,7 +276,6 @@ function getHslAnimationFromHsl(hsl, animationOptions, reduceFactor) {
274
276
  }
275
277
  return resColor;
276
278
  }
277
- exports.getHslAnimationFromHsl = getHslAnimationFromHsl;
278
279
  function setColorAnimation(colorValue, colorAnimation, reduceFactor) {
279
280
  colorValue.enable = colorAnimation.enable;
280
281
  const defaultVelocity = 0, decayOffset = 1, defaultLoops = 0, defaultTime = 0;
@@ -345,7 +346,6 @@ function updateColorValue(data, range, decrease, delta) {
345
346
  }
346
347
  data.value = (0, NumberUtils_js_1.clamp)(data.value, min, max);
347
348
  }
348
- exports.updateColorValue = updateColorValue;
349
349
  function updateColor(color, delta) {
350
350
  if (!color) {
351
351
  return;
@@ -366,4 +366,3 @@ function updateColor(color, delta) {
366
366
  updateColorValue(l, ranges.l, true, delta);
367
367
  }
368
368
  }
369
- exports.updateColor = updateColor;
@@ -1,40 +1,72 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseAlpha = exports.calcExactPositionOrRandomFromSizeRanged = exports.calcExactPositionOrRandomFromSize = exports.calcPositionOrRandomFromSizeRanged = exports.calcPositionOrRandomFromSize = exports.calcPositionFromSize = exports.collisionVelocity = exports.getParticleBaseVelocity = exports.getParticleDirectionAngle = exports.degToRad = exports.getDistance = exports.getDistances = exports.setRangeValue = exports.getRangeMax = exports.getRangeMin = exports.getRangeValue = exports.randomInRange = exports.mix = exports.clamp = exports.getRandom = exports.setRandom = exports.getEasing = exports.addEasing = void 0;
3
+ exports.addEasing = addEasing;
4
+ exports.getEasing = getEasing;
5
+ exports.setRandom = setRandom;
6
+ exports.getRandom = getRandom;
7
+ exports.setAnimationFunctions = setAnimationFunctions;
8
+ exports.animate = animate;
9
+ exports.cancelAnimation = cancelAnimation;
10
+ exports.clamp = clamp;
11
+ exports.mix = mix;
12
+ exports.randomInRange = randomInRange;
13
+ exports.getRangeValue = getRangeValue;
14
+ exports.getRangeMin = getRangeMin;
15
+ exports.getRangeMax = getRangeMax;
16
+ exports.setRangeValue = setRangeValue;
17
+ exports.getDistances = getDistances;
18
+ exports.getDistance = getDistance;
19
+ exports.degToRad = degToRad;
20
+ exports.getParticleDirectionAngle = getParticleDirectionAngle;
21
+ exports.getParticleBaseVelocity = getParticleBaseVelocity;
22
+ exports.collisionVelocity = collisionVelocity;
23
+ exports.calcPositionFromSize = calcPositionFromSize;
24
+ exports.calcPositionOrRandomFromSize = calcPositionOrRandomFromSize;
25
+ exports.calcPositionOrRandomFromSizeRanged = calcPositionOrRandomFromSizeRanged;
26
+ exports.calcExactPositionOrRandomFromSize = calcExactPositionOrRandomFromSize;
27
+ exports.calcExactPositionOrRandomFromSizeRanged = calcExactPositionOrRandomFromSizeRanged;
28
+ exports.parseAlpha = parseAlpha;
4
29
  const MoveDirection_js_1 = require("../Enums/Directions/MoveDirection.js");
5
30
  const Vectors_js_1 = require("../Core/Utils/Vectors.js");
6
31
  const TypeUtils_js_1 = require("./TypeUtils.js");
7
32
  const Constants_js_1 = require("../Core/Utils/Constants.js");
8
33
  let _random = Math.random;
9
- const easings = new Map(), double = 2, doublePI = Math.PI * double;
34
+ const _animationLoop = {
35
+ nextFrame: (cb) => requestAnimationFrame(cb),
36
+ cancel: (idx) => cancelAnimationFrame(idx),
37
+ }, easingFunctions = new Map(), double = 2, doublePI = Math.PI * double;
10
38
  function addEasing(name, easing) {
11
- if (easings.get(name)) {
39
+ if (easingFunctions.get(name)) {
12
40
  return;
13
41
  }
14
- easings.set(name, easing);
42
+ easingFunctions.set(name, easing);
15
43
  }
16
- exports.addEasing = addEasing;
17
44
  function getEasing(name) {
18
- return easings.get(name) ?? ((value) => value);
45
+ return easingFunctions.get(name) ?? ((value) => value);
19
46
  }
20
- exports.getEasing = getEasing;
21
47
  function setRandom(rnd = Math.random) {
22
48
  _random = rnd;
23
49
  }
24
- exports.setRandom = setRandom;
25
50
  function getRandom() {
26
51
  const min = 0, max = 1;
27
52
  return clamp(_random(), min, max - Number.EPSILON);
28
53
  }
29
- exports.getRandom = getRandom;
54
+ function setAnimationFunctions(nextFrame, cancel) {
55
+ _animationLoop.nextFrame = (callback) => nextFrame(callback);
56
+ _animationLoop.cancel = (handle) => cancel(handle);
57
+ }
58
+ function animate(fn) {
59
+ return _animationLoop.nextFrame(fn);
60
+ }
61
+ function cancelAnimation(handle) {
62
+ _animationLoop.cancel(handle);
63
+ }
30
64
  function clamp(num, min, max) {
31
65
  return Math.min(Math.max(num, min), max);
32
66
  }
33
- exports.clamp = clamp;
34
67
  function mix(comp1, comp2, weight1, weight2) {
35
68
  return Math.floor((comp1 * weight1 + comp2 * weight2) / (weight1 + weight2));
36
69
  }
37
- exports.mix = mix;
38
70
  function randomInRange(r) {
39
71
  const max = getRangeMax(r), minOffset = 0;
40
72
  let min = getRangeMin(r);
@@ -43,19 +75,15 @@ function randomInRange(r) {
43
75
  }
44
76
  return getRandom() * (max - min) + min;
45
77
  }
46
- exports.randomInRange = randomInRange;
47
78
  function getRangeValue(value) {
48
79
  return (0, TypeUtils_js_1.isNumber)(value) ? value : randomInRange(value);
49
80
  }
50
- exports.getRangeValue = getRangeValue;
51
81
  function getRangeMin(value) {
52
82
  return (0, TypeUtils_js_1.isNumber)(value) ? value : value.min;
53
83
  }
54
- exports.getRangeMin = getRangeMin;
55
84
  function getRangeMax(value) {
56
85
  return (0, TypeUtils_js_1.isNumber)(value) ? value : value.max;
57
86
  }
58
- exports.getRangeMax = getRangeMax;
59
87
  function setRangeValue(source, value) {
60
88
  if (source === value || (value === undefined && (0, TypeUtils_js_1.isNumber)(source))) {
61
89
  return source;
@@ -68,21 +96,17 @@ function setRangeValue(source, value) {
68
96
  }
69
97
  : setRangeValue(min, max);
70
98
  }
71
- exports.setRangeValue = setRangeValue;
72
99
  function getDistances(pointA, pointB) {
73
100
  const dx = pointA.x - pointB.x, dy = pointA.y - pointB.y, squareExp = 2;
74
101
  return { dx: dx, dy: dy, distance: Math.sqrt(dx ** squareExp + dy ** squareExp) };
75
102
  }
76
- exports.getDistances = getDistances;
77
103
  function getDistance(pointA, pointB) {
78
104
  return getDistances(pointA, pointB).distance;
79
105
  }
80
- exports.getDistance = getDistance;
81
106
  function degToRad(degrees) {
82
107
  const PIDeg = 180;
83
108
  return (degrees * Math.PI) / PIDeg;
84
109
  }
85
- exports.degToRad = degToRad;
86
110
  function getParticleDirectionAngle(direction, position, center) {
87
111
  if ((0, TypeUtils_js_1.isNumber)(direction)) {
88
112
  return degToRad(direction);
@@ -113,19 +137,16 @@ function getParticleDirectionAngle(direction, position, center) {
113
137
  return getRandom() * doublePI;
114
138
  }
115
139
  }
116
- exports.getParticleDirectionAngle = getParticleDirectionAngle;
117
140
  function getParticleBaseVelocity(direction) {
118
141
  const baseVelocity = Vectors_js_1.Vector.origin;
119
142
  baseVelocity.length = 1;
120
143
  baseVelocity.angle = direction;
121
144
  return baseVelocity;
122
145
  }
123
- exports.getParticleBaseVelocity = getParticleBaseVelocity;
124
146
  function collisionVelocity(v1, v2, m1, m2) {
125
147
  const double = 2;
126
148
  return Vectors_js_1.Vector.create((v1.x * (m1 - m2)) / (m1 + m2) + (v2.x * double * m2) / (m1 + m2), v1.y);
127
149
  }
128
- exports.collisionVelocity = collisionVelocity;
129
150
  function calcPositionFromSize(data) {
130
151
  return data.position?.x !== undefined && data.position.y !== undefined
131
152
  ? {
@@ -134,14 +155,12 @@ function calcPositionFromSize(data) {
134
155
  }
135
156
  : undefined;
136
157
  }
137
- exports.calcPositionFromSize = calcPositionFromSize;
138
158
  function calcPositionOrRandomFromSize(data) {
139
159
  return {
140
160
  x: ((data.position?.x ?? getRandom() * Constants_js_1.percentDenominator) * data.size.width) / Constants_js_1.percentDenominator,
141
161
  y: ((data.position?.y ?? getRandom() * Constants_js_1.percentDenominator) * data.size.height) / Constants_js_1.percentDenominator,
142
162
  };
143
163
  }
144
- exports.calcPositionOrRandomFromSize = calcPositionOrRandomFromSize;
145
164
  function calcPositionOrRandomFromSizeRanged(data) {
146
165
  const position = {
147
166
  x: data.position?.x !== undefined ? getRangeValue(data.position.x) : undefined,
@@ -149,14 +168,12 @@ function calcPositionOrRandomFromSizeRanged(data) {
149
168
  };
150
169
  return calcPositionOrRandomFromSize({ size: data.size, position });
151
170
  }
152
- exports.calcPositionOrRandomFromSizeRanged = calcPositionOrRandomFromSizeRanged;
153
171
  function calcExactPositionOrRandomFromSize(data) {
154
172
  return {
155
173
  x: data.position?.x ?? getRandom() * data.size.width,
156
174
  y: data.position?.y ?? getRandom() * data.size.height,
157
175
  };
158
176
  }
159
- exports.calcExactPositionOrRandomFromSize = calcExactPositionOrRandomFromSize;
160
177
  function calcExactPositionOrRandomFromSizeRanged(data) {
161
178
  const position = {
162
179
  x: data.position?.x !== undefined ? getRangeValue(data.position.x) : undefined,
@@ -164,7 +181,6 @@ function calcExactPositionOrRandomFromSizeRanged(data) {
164
181
  };
165
182
  return calcExactPositionOrRandomFromSize({ size: data.size, position });
166
183
  }
167
- exports.calcExactPositionOrRandomFromSizeRanged = calcExactPositionOrRandomFromSizeRanged;
168
184
  function parseAlpha(input) {
169
185
  const defaultAlpha = 1;
170
186
  if (!input) {
@@ -172,4 +188,3 @@ function parseAlpha(input) {
172
188
  }
173
189
  return input.endsWith("%") ? parseFloat(input) / Constants_js_1.percentDenominator : parseFloat(input);
174
190
  }
175
- exports.parseAlpha = parseAlpha;
@@ -1,16 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadParticlesOptions = exports.loadOptions = void 0;
3
+ exports.loadOptions = loadOptions;
4
+ exports.loadParticlesOptions = loadParticlesOptions;
4
5
  const ParticlesOptions_js_1 = require("../Options/Classes/Particles/ParticlesOptions.js");
5
6
  function loadOptions(options, ...sourceOptionsArr) {
6
7
  for (const sourceOptions of sourceOptionsArr) {
7
8
  options.load(sourceOptions);
8
9
  }
9
10
  }
10
- exports.loadOptions = loadOptions;
11
11
  function loadParticlesOptions(engine, container, ...sourceOptionsArr) {
12
12
  const options = new ParticlesOptions_js_1.ParticlesOptions(engine, container);
13
13
  loadOptions(options, ...sourceOptionsArr);
14
14
  return options;
15
15
  }
16
- exports.loadParticlesOptions = loadParticlesOptions;
@@ -1,27 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isArray = exports.isObject = exports.isFunction = exports.isNumber = exports.isString = exports.isBoolean = void 0;
3
+ exports.isBoolean = isBoolean;
4
+ exports.isString = isString;
5
+ exports.isNumber = isNumber;
6
+ exports.isFunction = isFunction;
7
+ exports.isObject = isObject;
8
+ exports.isArray = isArray;
4
9
  function isBoolean(arg) {
5
10
  return typeof arg === "boolean";
6
11
  }
7
- exports.isBoolean = isBoolean;
8
12
  function isString(arg) {
9
13
  return typeof arg === "string";
10
14
  }
11
- exports.isString = isString;
12
15
  function isNumber(arg) {
13
16
  return typeof arg === "number";
14
17
  }
15
- exports.isNumber = isNumber;
16
18
  function isFunction(arg) {
17
19
  return typeof arg === "function";
18
20
  }
19
- exports.isFunction = isFunction;
20
21
  function isObject(arg) {
21
22
  return typeof arg === "object" && arg !== null;
22
23
  }
23
- exports.isObject = isObject;
24
24
  function isArray(arg) {
25
25
  return Array.isArray(arg);
26
26
  }
27
- exports.isArray = isArray;