@tsparticles/engine 3.3.0 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -4
- package/browser/Core/Canvas.js +27 -22
- package/browser/Core/Container.js +57 -44
- package/browser/Core/Engine.js +82 -74
- package/browser/Core/Particle.js +29 -15
- package/browser/Core/Particles.js +23 -24
- package/browser/Core/Utils/EventListeners.js +18 -17
- package/browser/Core/Utils/ExternalInteractorBase.js +2 -1
- package/browser/Core/Utils/InteractionManager.js +3 -2
- package/browser/Core/Utils/ParticlesInteractorBase.js +2 -1
- package/browser/Core/Utils/QuadTree.js +1 -1
- package/browser/Core/Utils/Ranges.js +5 -4
- package/browser/Enums/AnimationStatus.js +5 -1
- package/browser/Enums/Directions/MoveDirection.js +14 -1
- package/browser/Enums/Directions/OutModeDirection.js +7 -1
- package/browser/Enums/Directions/RotateDirection.js +6 -1
- package/browser/Enums/InteractivityDetect.js +6 -1
- package/browser/Enums/Modes/AnimationMode.js +7 -1
- package/browser/Enums/Modes/CollisionMode.js +6 -1
- package/browser/Enums/Modes/LimitMode.js +5 -1
- package/browser/Enums/Modes/OutMode.js +8 -1
- package/browser/Enums/Modes/PixelMode.js +5 -1
- package/browser/Enums/Modes/ResponsiveMode.js +5 -1
- package/browser/Enums/Modes/ThemeMode.js +6 -1
- package/browser/Enums/Types/AlterType.js +5 -1
- package/browser/Enums/Types/DestroyType.js +6 -1
- package/browser/Enums/Types/DivType.js +5 -1
- package/browser/Enums/Types/EasingType.js +30 -1
- package/browser/Enums/Types/EventType.js +15 -1
- package/browser/Enums/Types/GradientType.js +6 -1
- package/browser/Enums/Types/InteractorType.js +5 -1
- package/browser/Enums/Types/ParticleOutType.js +6 -1
- package/browser/Enums/Types/StartValueType.js +6 -1
- package/browser/Options/Classes/AnimationOptions.js +4 -2
- package/browser/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
- package/browser/Options/Classes/Interactivity/Events/Events.js +1 -1
- package/browser/Options/Classes/Interactivity/Interactivity.js +2 -1
- package/browser/Options/Classes/ManualParticle.js +2 -1
- package/browser/Options/Classes/Options.js +14 -12
- package/browser/Options/Classes/Particles/Collisions/Collisions.js +2 -1
- package/browser/Options/Classes/Particles/Move/Move.js +2 -1
- package/browser/Options/Classes/Particles/Move/MoveCenter.js +2 -1
- package/browser/Options/Classes/Particles/Move/OutModes.js +2 -1
- package/browser/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
- package/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
- package/browser/Options/Classes/Particles/ParticlesOptions.js +1 -1
- package/browser/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
- package/browser/Options/Classes/Responsive.js +5 -4
- package/browser/Options/Classes/Theme/ThemeDefault.js +2 -1
- package/browser/Types/RangeType.js +5 -1
- package/browser/Utils/CanvasUtils.js +13 -7
- package/browser/Utils/ColorUtils.js +17 -9
- package/browser/Utils/EventDispatcher.js +1 -1
- package/browser/Utils/HslColorManager.js +11 -4
- package/browser/Utils/NumberUtils.js +28 -14
- package/browser/Utils/RgbColorManager.js +11 -4
- package/browser/Utils/Utils.js +37 -31
- package/cjs/Core/Canvas.js +27 -22
- package/cjs/Core/Container.js +57 -44
- package/cjs/Core/Engine.js +82 -74
- package/cjs/Core/Particle.js +29 -15
- package/cjs/Core/Particles.js +23 -24
- package/cjs/Core/Utils/EventListeners.js +18 -17
- package/cjs/Core/Utils/ExternalInteractorBase.js +2 -1
- package/cjs/Core/Utils/InteractionManager.js +3 -2
- package/cjs/Core/Utils/ParticlesInteractorBase.js +2 -1
- package/cjs/Core/Utils/QuadTree.js +1 -1
- package/cjs/Core/Utils/Ranges.js +5 -4
- package/cjs/Enums/AnimationStatus.js +6 -0
- package/cjs/Enums/Directions/MoveDirection.js +15 -0
- package/cjs/Enums/Directions/OutModeDirection.js +8 -0
- package/cjs/Enums/Directions/RotateDirection.js +7 -0
- package/cjs/Enums/InteractivityDetect.js +7 -0
- package/cjs/Enums/Modes/AnimationMode.js +8 -0
- package/cjs/Enums/Modes/CollisionMode.js +7 -0
- package/cjs/Enums/Modes/LimitMode.js +6 -0
- package/cjs/Enums/Modes/OutMode.js +9 -0
- package/cjs/Enums/Modes/PixelMode.js +6 -0
- package/cjs/Enums/Modes/ResponsiveMode.js +6 -0
- package/cjs/Enums/Modes/ThemeMode.js +7 -0
- package/cjs/Enums/Types/AlterType.js +6 -0
- package/cjs/Enums/Types/DestroyType.js +7 -0
- package/cjs/Enums/Types/DivType.js +6 -0
- package/cjs/Enums/Types/EasingType.js +31 -0
- package/cjs/Enums/Types/EventType.js +16 -0
- package/cjs/Enums/Types/GradientType.js +7 -0
- package/cjs/Enums/Types/InteractorType.js +6 -0
- package/cjs/Enums/Types/ParticleOutType.js +7 -0
- package/cjs/Enums/Types/StartValueType.js +7 -0
- package/cjs/Options/Classes/AnimationOptions.js +4 -2
- package/cjs/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
- package/cjs/Options/Classes/Interactivity/Events/Events.js +1 -1
- package/cjs/Options/Classes/Interactivity/Interactivity.js +2 -1
- package/cjs/Options/Classes/ManualParticle.js +2 -1
- package/cjs/Options/Classes/Options.js +14 -12
- package/cjs/Options/Classes/Particles/Collisions/Collisions.js +2 -1
- package/cjs/Options/Classes/Particles/Move/Move.js +2 -1
- package/cjs/Options/Classes/Particles/Move/MoveCenter.js +2 -1
- package/cjs/Options/Classes/Particles/Move/OutModes.js +2 -1
- package/cjs/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
- package/cjs/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
- package/cjs/Options/Classes/Particles/ParticlesOptions.js +1 -1
- package/cjs/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
- package/cjs/Options/Classes/Responsive.js +5 -4
- package/cjs/Options/Classes/Theme/ThemeDefault.js +2 -1
- package/cjs/Types/RangeType.js +6 -0
- package/cjs/Utils/CanvasUtils.js +24 -19
- package/cjs/Utils/ColorUtils.js +37 -30
- package/cjs/Utils/EventDispatcher.js +1 -1
- package/cjs/Utils/HslColorManager.js +11 -4
- package/cjs/Utils/NumberUtils.js +54 -38
- package/cjs/Utils/OptionsUtils.js +2 -3
- package/cjs/Utils/RgbColorManager.js +11 -4
- package/cjs/Utils/TypeUtils.js +6 -7
- package/cjs/Utils/Utils.js +66 -61
- package/cjs/init.js +1 -2
- package/esm/Core/Canvas.js +27 -22
- package/esm/Core/Container.js +57 -44
- package/esm/Core/Engine.js +82 -74
- package/esm/Core/Particle.js +29 -15
- package/esm/Core/Particles.js +23 -24
- package/esm/Core/Utils/EventListeners.js +18 -17
- package/esm/Core/Utils/ExternalInteractorBase.js +2 -1
- package/esm/Core/Utils/InteractionManager.js +3 -2
- package/esm/Core/Utils/ParticlesInteractorBase.js +2 -1
- package/esm/Core/Utils/QuadTree.js +1 -1
- package/esm/Core/Utils/Ranges.js +5 -4
- package/esm/Enums/AnimationStatus.js +5 -1
- package/esm/Enums/Directions/MoveDirection.js +14 -1
- package/esm/Enums/Directions/OutModeDirection.js +7 -1
- package/esm/Enums/Directions/RotateDirection.js +6 -1
- package/esm/Enums/InteractivityDetect.js +6 -1
- package/esm/Enums/Modes/AnimationMode.js +7 -1
- package/esm/Enums/Modes/CollisionMode.js +6 -1
- package/esm/Enums/Modes/LimitMode.js +5 -1
- package/esm/Enums/Modes/OutMode.js +8 -1
- package/esm/Enums/Modes/PixelMode.js +5 -1
- package/esm/Enums/Modes/ResponsiveMode.js +5 -1
- package/esm/Enums/Modes/ThemeMode.js +6 -1
- package/esm/Enums/Types/AlterType.js +5 -1
- package/esm/Enums/Types/DestroyType.js +6 -1
- package/esm/Enums/Types/DivType.js +5 -1
- package/esm/Enums/Types/EasingType.js +30 -1
- package/esm/Enums/Types/EventType.js +15 -1
- package/esm/Enums/Types/GradientType.js +6 -1
- package/esm/Enums/Types/InteractorType.js +5 -1
- package/esm/Enums/Types/ParticleOutType.js +6 -1
- package/esm/Enums/Types/StartValueType.js +6 -1
- package/esm/Options/Classes/AnimationOptions.js +4 -2
- package/esm/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
- package/esm/Options/Classes/Interactivity/Events/Events.js +1 -1
- package/esm/Options/Classes/Interactivity/Interactivity.js +2 -1
- package/esm/Options/Classes/ManualParticle.js +2 -1
- package/esm/Options/Classes/Options.js +14 -12
- package/esm/Options/Classes/Particles/Collisions/Collisions.js +2 -1
- package/esm/Options/Classes/Particles/Move/Move.js +2 -1
- package/esm/Options/Classes/Particles/Move/MoveCenter.js +2 -1
- package/esm/Options/Classes/Particles/Move/OutModes.js +2 -1
- package/esm/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
- package/esm/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
- package/esm/Options/Classes/Particles/ParticlesOptions.js +1 -1
- package/esm/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
- package/esm/Options/Classes/Responsive.js +5 -4
- package/esm/Options/Classes/Theme/ThemeDefault.js +2 -1
- package/esm/Types/RangeType.js +5 -1
- package/esm/Utils/CanvasUtils.js +13 -7
- package/esm/Utils/ColorUtils.js +17 -9
- package/esm/Utils/EventDispatcher.js +1 -1
- package/esm/Utils/HslColorManager.js +11 -4
- package/esm/Utils/NumberUtils.js +28 -14
- package/esm/Utils/RgbColorManager.js +11 -4
- package/esm/Utils/Utils.js +37 -31
- package/package.json +1 -1
- package/report.html +1 -1
- package/tsparticles.engine.js +327 -225
- package/tsparticles.engine.min.js +1 -1
- package/tsparticles.engine.min.js.LICENSE.txt +1 -1
- package/types/Core/Container.d.ts +4 -2
- package/types/Core/Engine.d.ts +6 -5
- package/types/Core/Interfaces/IPlugin.d.ts +3 -4
- package/types/Core/Interfaces/IShapeDrawer.d.ts +1 -0
- package/types/Core/Particle.d.ts +1 -0
- package/types/Enums/AnimationStatus.d.ts +1 -1
- package/types/Enums/Directions/MoveDirection.d.ts +1 -1
- package/types/Enums/Directions/OutModeDirection.d.ts +1 -1
- package/types/Enums/Directions/RotateDirection.d.ts +1 -1
- package/types/Enums/InteractivityDetect.d.ts +1 -1
- package/types/Enums/Modes/AnimationMode.d.ts +1 -1
- package/types/Enums/Modes/CollisionMode.d.ts +1 -1
- package/types/Enums/Modes/LimitMode.d.ts +1 -1
- package/types/Enums/Modes/OutMode.d.ts +1 -1
- package/types/Enums/Modes/PixelMode.d.ts +1 -1
- package/types/Enums/Modes/ResponsiveMode.d.ts +1 -1
- package/types/Enums/Modes/ThemeMode.d.ts +1 -1
- package/types/Enums/Types/AlterType.d.ts +1 -1
- package/types/Enums/Types/DestroyType.d.ts +1 -1
- package/types/Enums/Types/DivType.d.ts +1 -1
- package/types/Enums/Types/EasingType.d.ts +1 -1
- package/types/Enums/Types/EventType.d.ts +1 -1
- package/types/Enums/Types/GradientType.d.ts +1 -1
- package/types/Enums/Types/InteractorType.d.ts +1 -1
- package/types/Enums/Types/ParticleOutType.d.ts +1 -1
- package/types/Enums/Types/StartValueType.d.ts +1 -1
- package/types/Options/Classes/Options.d.ts +2 -1
- package/types/Options/Classes/Responsive.d.ts +2 -2
- package/types/Options/Classes/Theme/Theme.d.ts +2 -2
- package/types/Options/Interfaces/IResponsive.d.ts +2 -3
- package/types/Options/Interfaces/Theme/ITheme.d.ts +2 -3
- package/types/Types/RangeType.d.ts +1 -1
- package/types/Utils/NumberUtils.d.ts +3 -0
- package/umd/Core/Canvas.js +27 -22
- package/umd/Core/Container.js +58 -45
- package/umd/Core/Engine.js +83 -99
- package/umd/Core/Particle.js +30 -16
- package/umd/Core/Particles.js +24 -25
- package/umd/Core/Utils/EventListeners.js +19 -18
- package/umd/Core/Utils/ExternalInteractorBase.js +3 -2
- package/umd/Core/Utils/InteractionManager.js +4 -3
- package/umd/Core/Utils/ParticlesInteractorBase.js +3 -2
- package/umd/Core/Utils/QuadTree.js +1 -1
- package/umd/Core/Utils/Ranges.js +6 -5
- package/umd/Enums/AnimationStatus.js +6 -0
- package/umd/Enums/Directions/MoveDirection.js +15 -0
- package/umd/Enums/Directions/OutModeDirection.js +8 -0
- package/umd/Enums/Directions/RotateDirection.js +7 -0
- package/umd/Enums/InteractivityDetect.js +7 -0
- package/umd/Enums/Modes/AnimationMode.js +8 -0
- package/umd/Enums/Modes/CollisionMode.js +7 -0
- package/umd/Enums/Modes/LimitMode.js +6 -0
- package/umd/Enums/Modes/OutMode.js +9 -0
- package/umd/Enums/Modes/PixelMode.js +6 -0
- package/umd/Enums/Modes/ResponsiveMode.js +6 -0
- package/umd/Enums/Modes/ThemeMode.js +7 -0
- package/umd/Enums/Types/AlterType.js +6 -0
- package/umd/Enums/Types/DestroyType.js +7 -0
- package/umd/Enums/Types/DivType.js +6 -0
- package/umd/Enums/Types/EasingType.js +31 -0
- package/umd/Enums/Types/EventType.js +16 -0
- package/umd/Enums/Types/GradientType.js +7 -0
- package/umd/Enums/Types/InteractorType.js +6 -0
- package/umd/Enums/Types/ParticleOutType.js +7 -0
- package/umd/Enums/Types/StartValueType.js +7 -0
- package/umd/Options/Classes/AnimationOptions.js +5 -3
- package/umd/Options/Classes/Interactivity/Events/DivEvent.js +3 -2
- package/umd/Options/Classes/Interactivity/Events/Events.js +1 -1
- package/umd/Options/Classes/Interactivity/Interactivity.js +3 -2
- package/umd/Options/Classes/ManualParticle.js +3 -2
- package/umd/Options/Classes/Options.js +15 -13
- package/umd/Options/Classes/Particles/Collisions/Collisions.js +3 -2
- package/umd/Options/Classes/Particles/Move/Move.js +3 -2
- package/umd/Options/Classes/Particles/Move/MoveCenter.js +3 -2
- package/umd/Options/Classes/Particles/Move/OutModes.js +3 -2
- package/umd/Options/Classes/Particles/Number/ParticlesNumberLimit.js +3 -2
- package/umd/Options/Classes/Particles/Opacity/OpacityAnimation.js +3 -2
- package/umd/Options/Classes/Particles/ParticlesOptions.js +1 -1
- package/umd/Options/Classes/Particles/Size/SizeAnimation.js +3 -2
- package/umd/Options/Classes/Responsive.js +6 -5
- package/umd/Options/Classes/Theme/ThemeDefault.js +3 -2
- package/umd/Types/RangeType.js +6 -0
- package/umd/Utils/CanvasUtils.js +25 -20
- package/umd/Utils/ColorUtils.js +38 -31
- package/umd/Utils/EventDispatcher.js +1 -1
- package/umd/Utils/HslColorManager.js +11 -4
- package/umd/Utils/NumberUtils.js +55 -39
- package/umd/Utils/OptionsUtils.js +2 -3
- package/umd/Utils/RgbColorManager.js +11 -4
- package/umd/Utils/TypeUtils.js +6 -7
- package/umd/Utils/Utils.js +67 -62
- package/umd/init.js +1 -2
- package/174.min.js +0 -2
- package/174.min.js.LICENSE.txt +0 -1
- package/dist_browser_Core_Container_js.js +0 -102
package/umd/Utils/ColorUtils.js
CHANGED
|
@@ -4,21 +4,47 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "./NumberUtils.js", "./TypeUtils.js", "../Core/Utils/Constants.js", "./Utils.js"], factory);
|
|
7
|
+
define(["require", "exports", "./NumberUtils.js", "./TypeUtils.js", "../Core/Utils/Constants.js", "../Enums/AnimationStatus.js", "./Utils.js"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.addColorManager = addColorManager;
|
|
13
|
+
exports.rangeColorToRgb = rangeColorToRgb;
|
|
14
|
+
exports.colorToRgb = colorToRgb;
|
|
15
|
+
exports.colorToHsl = colorToHsl;
|
|
16
|
+
exports.rangeColorToHsl = rangeColorToHsl;
|
|
17
|
+
exports.rgbToHsl = rgbToHsl;
|
|
18
|
+
exports.stringToAlpha = stringToAlpha;
|
|
19
|
+
exports.stringToRgb = stringToRgb;
|
|
20
|
+
exports.hslToRgb = hslToRgb;
|
|
21
|
+
exports.hslaToRgba = hslaToRgba;
|
|
22
|
+
exports.getRandomRgbColor = getRandomRgbColor;
|
|
23
|
+
exports.getStyleFromRgb = getStyleFromRgb;
|
|
24
|
+
exports.getStyleFromHsl = getStyleFromHsl;
|
|
25
|
+
exports.colorMix = colorMix;
|
|
26
|
+
exports.getLinkColor = getLinkColor;
|
|
27
|
+
exports.getLinkRandomColor = getLinkRandomColor;
|
|
28
|
+
exports.getHslFromAnimation = getHslFromAnimation;
|
|
29
|
+
exports.getHslAnimationFromHsl = getHslAnimationFromHsl;
|
|
30
|
+
exports.updateColorValue = updateColorValue;
|
|
31
|
+
exports.updateColor = updateColor;
|
|
13
32
|
const NumberUtils_js_1 = require("./NumberUtils.js");
|
|
14
33
|
const TypeUtils_js_1 = require("./TypeUtils.js");
|
|
15
34
|
const Constants_js_1 = require("../Core/Utils/Constants.js");
|
|
35
|
+
const AnimationStatus_js_1 = require("../Enums/AnimationStatus.js");
|
|
16
36
|
const Utils_js_1 = require("./Utils.js");
|
|
37
|
+
var RgbIndexes;
|
|
38
|
+
(function (RgbIndexes) {
|
|
39
|
+
RgbIndexes[RgbIndexes["r"] = 1] = "r";
|
|
40
|
+
RgbIndexes[RgbIndexes["g"] = 2] = "g";
|
|
41
|
+
RgbIndexes[RgbIndexes["b"] = 3] = "b";
|
|
42
|
+
RgbIndexes[RgbIndexes["a"] = 4] = "a";
|
|
43
|
+
})(RgbIndexes || (RgbIndexes = {}));
|
|
17
44
|
const randomColorValue = "random", midColorValue = "mid", colorManagers = new Map();
|
|
18
45
|
function addColorManager(manager) {
|
|
19
46
|
colorManagers.set(manager.key, manager);
|
|
20
47
|
}
|
|
21
|
-
exports.addColorManager = addColorManager;
|
|
22
48
|
function stringToRgba(input) {
|
|
23
49
|
for (const [, manager] of colorManagers) {
|
|
24
50
|
if (input.startsWith(manager.stringPrefix)) {
|
|
@@ -30,12 +56,12 @@
|
|
|
30
56
|
}), regex = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i, result = regex.exec(hexFixed), radix = 16, defaultAlpha = 1, alphaFactor = 0xff;
|
|
31
57
|
return result
|
|
32
58
|
? {
|
|
33
|
-
a: result[
|
|
34
|
-
? parseInt(result[
|
|
59
|
+
a: result[RgbIndexes.a] !== undefined
|
|
60
|
+
? parseInt(result[RgbIndexes.a], radix) / alphaFactor
|
|
35
61
|
: defaultAlpha,
|
|
36
|
-
b: parseInt(result[
|
|
37
|
-
g: parseInt(result[
|
|
38
|
-
r: parseInt(result[
|
|
62
|
+
b: parseInt(result[RgbIndexes.b], radix),
|
|
63
|
+
g: parseInt(result[RgbIndexes.g], radix),
|
|
64
|
+
r: parseInt(result[RgbIndexes.r], radix),
|
|
39
65
|
}
|
|
40
66
|
: undefined;
|
|
41
67
|
}
|
|
@@ -59,7 +85,6 @@
|
|
|
59
85
|
}
|
|
60
86
|
}
|
|
61
87
|
}
|
|
62
|
-
exports.rangeColorToRgb = rangeColorToRgb;
|
|
63
88
|
function colorToRgb(input, index, useIndex = true) {
|
|
64
89
|
if (!input) {
|
|
65
90
|
return;
|
|
@@ -80,17 +105,14 @@
|
|
|
80
105
|
}
|
|
81
106
|
}
|
|
82
107
|
}
|
|
83
|
-
exports.colorToRgb = colorToRgb;
|
|
84
108
|
function colorToHsl(color, index, useIndex = true) {
|
|
85
109
|
const rgb = colorToRgb(color, index, useIndex);
|
|
86
110
|
return rgb ? rgbToHsl(rgb) : undefined;
|
|
87
111
|
}
|
|
88
|
-
exports.colorToHsl = colorToHsl;
|
|
89
112
|
function rangeColorToHsl(color, index, useIndex = true) {
|
|
90
113
|
const rgb = rangeColorToRgb(color, index, useIndex);
|
|
91
114
|
return rgb ? rgbToHsl(rgb) : undefined;
|
|
92
115
|
}
|
|
93
|
-
exports.rangeColorToHsl = rangeColorToHsl;
|
|
94
116
|
function rgbToHsl(color) {
|
|
95
117
|
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 = {
|
|
96
118
|
h: hMin,
|
|
@@ -115,15 +137,12 @@
|
|
|
115
137
|
}
|
|
116
138
|
return res;
|
|
117
139
|
}
|
|
118
|
-
exports.rgbToHsl = rgbToHsl;
|
|
119
140
|
function stringToAlpha(input) {
|
|
120
141
|
return stringToRgba(input)?.a;
|
|
121
142
|
}
|
|
122
|
-
exports.stringToAlpha = stringToAlpha;
|
|
123
143
|
function stringToRgb(input) {
|
|
124
144
|
return stringToRgba(input);
|
|
125
145
|
}
|
|
126
|
-
exports.stringToRgb = stringToRgb;
|
|
127
146
|
function hslToRgb(hsl) {
|
|
128
147
|
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;
|
|
129
148
|
if (s === sMin) {
|
|
@@ -154,7 +173,6 @@
|
|
|
154
173
|
: 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));
|
|
155
174
|
return { r: Math.round(red), g: Math.round(green), b: Math.round(blue) };
|
|
156
175
|
}
|
|
157
|
-
exports.hslToRgb = hslToRgb;
|
|
158
176
|
function hslaToRgba(hsla) {
|
|
159
177
|
const rgbResult = hslToRgb(hsla);
|
|
160
178
|
return {
|
|
@@ -164,7 +182,6 @@
|
|
|
164
182
|
r: rgbResult.r,
|
|
165
183
|
};
|
|
166
184
|
}
|
|
167
|
-
exports.hslaToRgba = hslaToRgba;
|
|
168
185
|
function getRandomRgbColor(min) {
|
|
169
186
|
const defaultMin = 0, fixedMin = min ?? defaultMin, rgbMax = 256;
|
|
170
187
|
return {
|
|
@@ -173,17 +190,14 @@
|
|
|
173
190
|
r: Math.floor((0, NumberUtils_js_1.randomInRange)((0, NumberUtils_js_1.setRangeValue)(fixedMin, rgbMax))),
|
|
174
191
|
};
|
|
175
192
|
}
|
|
176
|
-
exports.getRandomRgbColor = getRandomRgbColor;
|
|
177
193
|
function getStyleFromRgb(color, opacity) {
|
|
178
194
|
const defaultOpacity = 1;
|
|
179
195
|
return `rgba(${color.r}, ${color.g}, ${color.b}, ${opacity ?? defaultOpacity})`;
|
|
180
196
|
}
|
|
181
|
-
exports.getStyleFromRgb = getStyleFromRgb;
|
|
182
197
|
function getStyleFromHsl(color, opacity) {
|
|
183
198
|
const defaultOpacity = 1;
|
|
184
199
|
return `hsla(${color.h}, ${color.s}%, ${color.l}%, ${opacity ?? defaultOpacity})`;
|
|
185
200
|
}
|
|
186
|
-
exports.getStyleFromHsl = getStyleFromHsl;
|
|
187
201
|
function colorMix(color1, color2, size1, size2) {
|
|
188
202
|
let rgb1 = color1, rgb2 = color2;
|
|
189
203
|
if (rgb1.r === undefined) {
|
|
@@ -198,7 +212,6 @@
|
|
|
198
212
|
r: (0, NumberUtils_js_1.mix)(rgb1.r, rgb2.r, size1, size2),
|
|
199
213
|
};
|
|
200
214
|
}
|
|
201
|
-
exports.colorMix = colorMix;
|
|
202
215
|
function getLinkColor(p1, p2, linkColor) {
|
|
203
216
|
if (linkColor === randomColorValue) {
|
|
204
217
|
return getRandomRgbColor();
|
|
@@ -219,7 +232,6 @@
|
|
|
219
232
|
return linkColor;
|
|
220
233
|
}
|
|
221
234
|
}
|
|
222
|
-
exports.getLinkColor = getLinkColor;
|
|
223
235
|
function getLinkRandomColor(optColor, blink, consent) {
|
|
224
236
|
const color = (0, TypeUtils_js_1.isString)(optColor) ? optColor : optColor.value;
|
|
225
237
|
if (color === randomColorValue) {
|
|
@@ -242,7 +254,6 @@
|
|
|
242
254
|
});
|
|
243
255
|
}
|
|
244
256
|
}
|
|
245
|
-
exports.getLinkRandomColor = getLinkRandomColor;
|
|
246
257
|
function getHslFromAnimation(animation) {
|
|
247
258
|
return animation !== undefined
|
|
248
259
|
? {
|
|
@@ -252,7 +263,6 @@
|
|
|
252
263
|
}
|
|
253
264
|
: undefined;
|
|
254
265
|
}
|
|
255
|
-
exports.getHslFromAnimation = getHslFromAnimation;
|
|
256
266
|
function getHslAnimationFromHsl(hsl, animationOptions, reduceFactor) {
|
|
257
267
|
const resColor = {
|
|
258
268
|
h: {
|
|
@@ -275,14 +285,13 @@
|
|
|
275
285
|
}
|
|
276
286
|
return resColor;
|
|
277
287
|
}
|
|
278
|
-
exports.getHslAnimationFromHsl = getHslAnimationFromHsl;
|
|
279
288
|
function setColorAnimation(colorValue, colorAnimation, reduceFactor) {
|
|
280
289
|
colorValue.enable = colorAnimation.enable;
|
|
281
290
|
const defaultVelocity = 0, decayOffset = 1, defaultLoops = 0, defaultTime = 0;
|
|
282
291
|
if (colorValue.enable) {
|
|
283
292
|
colorValue.velocity = ((0, NumberUtils_js_1.getRangeValue)(colorAnimation.speed) / Constants_js_1.percentDenominator) * reduceFactor;
|
|
284
293
|
colorValue.decay = decayOffset - (0, NumberUtils_js_1.getRangeValue)(colorAnimation.decay);
|
|
285
|
-
colorValue.status =
|
|
294
|
+
colorValue.status = AnimationStatus_js_1.AnimationStatus.increasing;
|
|
286
295
|
colorValue.loops = defaultLoops;
|
|
287
296
|
colorValue.maxLoops = (0, NumberUtils_js_1.getRangeValue)(colorAnimation.count);
|
|
288
297
|
colorValue.time = defaultTime;
|
|
@@ -315,7 +324,7 @@
|
|
|
315
324
|
return;
|
|
316
325
|
}
|
|
317
326
|
const offset = data.offset ? (0, NumberUtils_js_1.randomInRange)(data.offset) : minOffset, velocity = (data.velocity ?? minVelocity) * delta.factor + offset * velocityFactor, decay = data.decay ?? identity, max = (0, NumberUtils_js_1.getRangeMax)(range), min = (0, NumberUtils_js_1.getRangeMin)(range);
|
|
318
|
-
if (!decrease || data.status ===
|
|
327
|
+
if (!decrease || data.status === AnimationStatus_js_1.AnimationStatus.increasing) {
|
|
319
328
|
data.value += velocity;
|
|
320
329
|
if (data.value > max) {
|
|
321
330
|
if (!data.loops) {
|
|
@@ -323,7 +332,7 @@
|
|
|
323
332
|
}
|
|
324
333
|
data.loops++;
|
|
325
334
|
if (decrease) {
|
|
326
|
-
data.status =
|
|
335
|
+
data.status = AnimationStatus_js_1.AnimationStatus.decreasing;
|
|
327
336
|
}
|
|
328
337
|
else {
|
|
329
338
|
data.value -= max;
|
|
@@ -338,7 +347,7 @@
|
|
|
338
347
|
data.loops = 0;
|
|
339
348
|
}
|
|
340
349
|
data.loops++;
|
|
341
|
-
data.status =
|
|
350
|
+
data.status = AnimationStatus_js_1.AnimationStatus.increasing;
|
|
342
351
|
}
|
|
343
352
|
}
|
|
344
353
|
if (data.velocity && decay !== identity) {
|
|
@@ -346,7 +355,6 @@
|
|
|
346
355
|
}
|
|
347
356
|
data.value = (0, NumberUtils_js_1.clamp)(data.value, min, max);
|
|
348
357
|
}
|
|
349
|
-
exports.updateColorValue = updateColorValue;
|
|
350
358
|
function updateColor(color, delta) {
|
|
351
359
|
if (!color) {
|
|
352
360
|
return;
|
|
@@ -367,5 +375,4 @@
|
|
|
367
375
|
updateColorValue(l, ranges.l, true, delta);
|
|
368
376
|
}
|
|
369
377
|
}
|
|
370
|
-
exports.updateColor = updateColor;
|
|
371
378
|
});
|
|
@@ -12,6 +12,13 @@
|
|
|
12
12
|
exports.HslColorManager = void 0;
|
|
13
13
|
const NumberUtils_js_1 = require("./NumberUtils.js");
|
|
14
14
|
const ColorUtils_js_1 = require("./ColorUtils.js");
|
|
15
|
+
var HslIndexes;
|
|
16
|
+
(function (HslIndexes) {
|
|
17
|
+
HslIndexes[HslIndexes["h"] = 1] = "h";
|
|
18
|
+
HslIndexes[HslIndexes["s"] = 2] = "s";
|
|
19
|
+
HslIndexes[HslIndexes["l"] = 3] = "l";
|
|
20
|
+
HslIndexes[HslIndexes["a"] = 5] = "a";
|
|
21
|
+
})(HslIndexes || (HslIndexes = {}));
|
|
15
22
|
class HslColorManager {
|
|
16
23
|
constructor() {
|
|
17
24
|
this.key = "hsl";
|
|
@@ -40,10 +47,10 @@
|
|
|
40
47
|
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;
|
|
41
48
|
return result
|
|
42
49
|
? (0, ColorUtils_js_1.hslaToRgba)({
|
|
43
|
-
a: result.length > minLength ? (0, NumberUtils_js_1.parseAlpha)(result[
|
|
44
|
-
h: parseInt(result[
|
|
45
|
-
l: parseInt(result[
|
|
46
|
-
s: parseInt(result[
|
|
50
|
+
a: result.length > minLength ? (0, NumberUtils_js_1.parseAlpha)(result[HslIndexes.a]) : defaultAlpha,
|
|
51
|
+
h: parseInt(result[HslIndexes.h], radix),
|
|
52
|
+
l: parseInt(result[HslIndexes.l], radix),
|
|
53
|
+
s: parseInt(result[HslIndexes.s], radix),
|
|
47
54
|
})
|
|
48
55
|
: undefined;
|
|
49
56
|
}
|
package/umd/Utils/NumberUtils.js
CHANGED
|
@@ -4,45 +4,78 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "../Core/Utils/Vectors.js", "./TypeUtils.js", "../Core/Utils/Constants.js"], factory);
|
|
7
|
+
define(["require", "exports", "../Enums/Directions/MoveDirection.js", "../Core/Utils/Vectors.js", "./TypeUtils.js", "../Core/Utils/Constants.js"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.addEasing = addEasing;
|
|
13
|
+
exports.getEasing = getEasing;
|
|
14
|
+
exports.setRandom = setRandom;
|
|
15
|
+
exports.getRandom = getRandom;
|
|
16
|
+
exports.setAnimationFunctions = setAnimationFunctions;
|
|
17
|
+
exports.animate = animate;
|
|
18
|
+
exports.cancelAnimation = cancelAnimation;
|
|
19
|
+
exports.clamp = clamp;
|
|
20
|
+
exports.mix = mix;
|
|
21
|
+
exports.randomInRange = randomInRange;
|
|
22
|
+
exports.getRangeValue = getRangeValue;
|
|
23
|
+
exports.getRangeMin = getRangeMin;
|
|
24
|
+
exports.getRangeMax = getRangeMax;
|
|
25
|
+
exports.setRangeValue = setRangeValue;
|
|
26
|
+
exports.getDistances = getDistances;
|
|
27
|
+
exports.getDistance = getDistance;
|
|
28
|
+
exports.degToRad = degToRad;
|
|
29
|
+
exports.getParticleDirectionAngle = getParticleDirectionAngle;
|
|
30
|
+
exports.getParticleBaseVelocity = getParticleBaseVelocity;
|
|
31
|
+
exports.collisionVelocity = collisionVelocity;
|
|
32
|
+
exports.calcPositionFromSize = calcPositionFromSize;
|
|
33
|
+
exports.calcPositionOrRandomFromSize = calcPositionOrRandomFromSize;
|
|
34
|
+
exports.calcPositionOrRandomFromSizeRanged = calcPositionOrRandomFromSizeRanged;
|
|
35
|
+
exports.calcExactPositionOrRandomFromSize = calcExactPositionOrRandomFromSize;
|
|
36
|
+
exports.calcExactPositionOrRandomFromSizeRanged = calcExactPositionOrRandomFromSizeRanged;
|
|
37
|
+
exports.parseAlpha = parseAlpha;
|
|
38
|
+
const MoveDirection_js_1 = require("../Enums/Directions/MoveDirection.js");
|
|
13
39
|
const Vectors_js_1 = require("../Core/Utils/Vectors.js");
|
|
14
40
|
const TypeUtils_js_1 = require("./TypeUtils.js");
|
|
15
41
|
const Constants_js_1 = require("../Core/Utils/Constants.js");
|
|
16
42
|
let _random = Math.random;
|
|
17
|
-
const
|
|
43
|
+
const _animationLoop = {
|
|
44
|
+
nextFrame: (cb) => requestAnimationFrame(cb),
|
|
45
|
+
cancel: (idx) => cancelAnimationFrame(idx),
|
|
46
|
+
}, easingFunctions = new Map(), double = 2, doublePI = Math.PI * double;
|
|
18
47
|
function addEasing(name, easing) {
|
|
19
|
-
if (
|
|
48
|
+
if (easingFunctions.get(name)) {
|
|
20
49
|
return;
|
|
21
50
|
}
|
|
22
|
-
|
|
51
|
+
easingFunctions.set(name, easing);
|
|
23
52
|
}
|
|
24
|
-
exports.addEasing = addEasing;
|
|
25
53
|
function getEasing(name) {
|
|
26
|
-
return
|
|
54
|
+
return easingFunctions.get(name) ?? ((value) => value);
|
|
27
55
|
}
|
|
28
|
-
exports.getEasing = getEasing;
|
|
29
56
|
function setRandom(rnd = Math.random) {
|
|
30
57
|
_random = rnd;
|
|
31
58
|
}
|
|
32
|
-
exports.setRandom = setRandom;
|
|
33
59
|
function getRandom() {
|
|
34
60
|
const min = 0, max = 1;
|
|
35
61
|
return clamp(_random(), min, max - Number.EPSILON);
|
|
36
62
|
}
|
|
37
|
-
|
|
63
|
+
function setAnimationFunctions(nextFrame, cancel) {
|
|
64
|
+
_animationLoop.nextFrame = (callback) => nextFrame(callback);
|
|
65
|
+
_animationLoop.cancel = (handle) => cancel(handle);
|
|
66
|
+
}
|
|
67
|
+
function animate(fn) {
|
|
68
|
+
return _animationLoop.nextFrame(fn);
|
|
69
|
+
}
|
|
70
|
+
function cancelAnimation(handle) {
|
|
71
|
+
_animationLoop.cancel(handle);
|
|
72
|
+
}
|
|
38
73
|
function clamp(num, min, max) {
|
|
39
74
|
return Math.min(Math.max(num, min), max);
|
|
40
75
|
}
|
|
41
|
-
exports.clamp = clamp;
|
|
42
76
|
function mix(comp1, comp2, weight1, weight2) {
|
|
43
77
|
return Math.floor((comp1 * weight1 + comp2 * weight2) / (weight1 + weight2));
|
|
44
78
|
}
|
|
45
|
-
exports.mix = mix;
|
|
46
79
|
function randomInRange(r) {
|
|
47
80
|
const max = getRangeMax(r), minOffset = 0;
|
|
48
81
|
let min = getRangeMin(r);
|
|
@@ -51,19 +84,15 @@
|
|
|
51
84
|
}
|
|
52
85
|
return getRandom() * (max - min) + min;
|
|
53
86
|
}
|
|
54
|
-
exports.randomInRange = randomInRange;
|
|
55
87
|
function getRangeValue(value) {
|
|
56
88
|
return (0, TypeUtils_js_1.isNumber)(value) ? value : randomInRange(value);
|
|
57
89
|
}
|
|
58
|
-
exports.getRangeValue = getRangeValue;
|
|
59
90
|
function getRangeMin(value) {
|
|
60
91
|
return (0, TypeUtils_js_1.isNumber)(value) ? value : value.min;
|
|
61
92
|
}
|
|
62
|
-
exports.getRangeMin = getRangeMin;
|
|
63
93
|
function getRangeMax(value) {
|
|
64
94
|
return (0, TypeUtils_js_1.isNumber)(value) ? value : value.max;
|
|
65
95
|
}
|
|
66
|
-
exports.getRangeMax = getRangeMax;
|
|
67
96
|
function setRangeValue(source, value) {
|
|
68
97
|
if (source === value || (value === undefined && (0, TypeUtils_js_1.isNumber)(source))) {
|
|
69
98
|
return source;
|
|
@@ -76,64 +105,57 @@
|
|
|
76
105
|
}
|
|
77
106
|
: setRangeValue(min, max);
|
|
78
107
|
}
|
|
79
|
-
exports.setRangeValue = setRangeValue;
|
|
80
108
|
function getDistances(pointA, pointB) {
|
|
81
109
|
const dx = pointA.x - pointB.x, dy = pointA.y - pointB.y, squareExp = 2;
|
|
82
110
|
return { dx: dx, dy: dy, distance: Math.sqrt(dx ** squareExp + dy ** squareExp) };
|
|
83
111
|
}
|
|
84
|
-
exports.getDistances = getDistances;
|
|
85
112
|
function getDistance(pointA, pointB) {
|
|
86
113
|
return getDistances(pointA, pointB).distance;
|
|
87
114
|
}
|
|
88
|
-
exports.getDistance = getDistance;
|
|
89
115
|
function degToRad(degrees) {
|
|
90
116
|
const PIDeg = 180;
|
|
91
117
|
return (degrees * Math.PI) / PIDeg;
|
|
92
118
|
}
|
|
93
|
-
exports.degToRad = degToRad;
|
|
94
119
|
function getParticleDirectionAngle(direction, position, center) {
|
|
95
120
|
if ((0, TypeUtils_js_1.isNumber)(direction)) {
|
|
96
121
|
return degToRad(direction);
|
|
97
122
|
}
|
|
98
123
|
const empty = 0, half = 0.5, quarter = 0.25, threeQuarter = half + quarter;
|
|
99
124
|
switch (direction) {
|
|
100
|
-
case
|
|
125
|
+
case MoveDirection_js_1.MoveDirection.top:
|
|
101
126
|
return -Math.PI * half;
|
|
102
|
-
case
|
|
127
|
+
case MoveDirection_js_1.MoveDirection.topRight:
|
|
103
128
|
return -Math.PI * quarter;
|
|
104
|
-
case
|
|
129
|
+
case MoveDirection_js_1.MoveDirection.right:
|
|
105
130
|
return empty;
|
|
106
|
-
case
|
|
131
|
+
case MoveDirection_js_1.MoveDirection.bottomRight:
|
|
107
132
|
return Math.PI * quarter;
|
|
108
|
-
case
|
|
133
|
+
case MoveDirection_js_1.MoveDirection.bottom:
|
|
109
134
|
return Math.PI * half;
|
|
110
|
-
case
|
|
135
|
+
case MoveDirection_js_1.MoveDirection.bottomLeft:
|
|
111
136
|
return Math.PI * threeQuarter;
|
|
112
|
-
case
|
|
137
|
+
case MoveDirection_js_1.MoveDirection.left:
|
|
113
138
|
return Math.PI;
|
|
114
|
-
case
|
|
139
|
+
case MoveDirection_js_1.MoveDirection.topLeft:
|
|
115
140
|
return -Math.PI * threeQuarter;
|
|
116
|
-
case
|
|
141
|
+
case MoveDirection_js_1.MoveDirection.inside:
|
|
117
142
|
return Math.atan2(center.y - position.y, center.x - position.x);
|
|
118
|
-
case
|
|
143
|
+
case MoveDirection_js_1.MoveDirection.outside:
|
|
119
144
|
return Math.atan2(position.y - center.y, position.x - center.x);
|
|
120
145
|
default:
|
|
121
146
|
return getRandom() * doublePI;
|
|
122
147
|
}
|
|
123
148
|
}
|
|
124
|
-
exports.getParticleDirectionAngle = getParticleDirectionAngle;
|
|
125
149
|
function getParticleBaseVelocity(direction) {
|
|
126
150
|
const baseVelocity = Vectors_js_1.Vector.origin;
|
|
127
151
|
baseVelocity.length = 1;
|
|
128
152
|
baseVelocity.angle = direction;
|
|
129
153
|
return baseVelocity;
|
|
130
154
|
}
|
|
131
|
-
exports.getParticleBaseVelocity = getParticleBaseVelocity;
|
|
132
155
|
function collisionVelocity(v1, v2, m1, m2) {
|
|
133
156
|
const double = 2;
|
|
134
157
|
return Vectors_js_1.Vector.create((v1.x * (m1 - m2)) / (m1 + m2) + (v2.x * double * m2) / (m1 + m2), v1.y);
|
|
135
158
|
}
|
|
136
|
-
exports.collisionVelocity = collisionVelocity;
|
|
137
159
|
function calcPositionFromSize(data) {
|
|
138
160
|
return data.position?.x !== undefined && data.position.y !== undefined
|
|
139
161
|
? {
|
|
@@ -142,14 +164,12 @@
|
|
|
142
164
|
}
|
|
143
165
|
: undefined;
|
|
144
166
|
}
|
|
145
|
-
exports.calcPositionFromSize = calcPositionFromSize;
|
|
146
167
|
function calcPositionOrRandomFromSize(data) {
|
|
147
168
|
return {
|
|
148
169
|
x: ((data.position?.x ?? getRandom() * Constants_js_1.percentDenominator) * data.size.width) / Constants_js_1.percentDenominator,
|
|
149
170
|
y: ((data.position?.y ?? getRandom() * Constants_js_1.percentDenominator) * data.size.height) / Constants_js_1.percentDenominator,
|
|
150
171
|
};
|
|
151
172
|
}
|
|
152
|
-
exports.calcPositionOrRandomFromSize = calcPositionOrRandomFromSize;
|
|
153
173
|
function calcPositionOrRandomFromSizeRanged(data) {
|
|
154
174
|
const position = {
|
|
155
175
|
x: data.position?.x !== undefined ? getRangeValue(data.position.x) : undefined,
|
|
@@ -157,14 +177,12 @@
|
|
|
157
177
|
};
|
|
158
178
|
return calcPositionOrRandomFromSize({ size: data.size, position });
|
|
159
179
|
}
|
|
160
|
-
exports.calcPositionOrRandomFromSizeRanged = calcPositionOrRandomFromSizeRanged;
|
|
161
180
|
function calcExactPositionOrRandomFromSize(data) {
|
|
162
181
|
return {
|
|
163
182
|
x: data.position?.x ?? getRandom() * data.size.width,
|
|
164
183
|
y: data.position?.y ?? getRandom() * data.size.height,
|
|
165
184
|
};
|
|
166
185
|
}
|
|
167
|
-
exports.calcExactPositionOrRandomFromSize = calcExactPositionOrRandomFromSize;
|
|
168
186
|
function calcExactPositionOrRandomFromSizeRanged(data) {
|
|
169
187
|
const position = {
|
|
170
188
|
x: data.position?.x !== undefined ? getRangeValue(data.position.x) : undefined,
|
|
@@ -172,7 +190,6 @@
|
|
|
172
190
|
};
|
|
173
191
|
return calcExactPositionOrRandomFromSize({ size: data.size, position });
|
|
174
192
|
}
|
|
175
|
-
exports.calcExactPositionOrRandomFromSizeRanged = calcExactPositionOrRandomFromSizeRanged;
|
|
176
193
|
function parseAlpha(input) {
|
|
177
194
|
const defaultAlpha = 1;
|
|
178
195
|
if (!input) {
|
|
@@ -180,5 +197,4 @@
|
|
|
180
197
|
}
|
|
181
198
|
return input.endsWith("%") ? parseFloat(input) / Constants_js_1.percentDenominator : parseFloat(input);
|
|
182
199
|
}
|
|
183
|
-
exports.parseAlpha = parseAlpha;
|
|
184
200
|
});
|
|
@@ -9,18 +9,17 @@
|
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.loadOptions = loadOptions;
|
|
13
|
+
exports.loadParticlesOptions = loadParticlesOptions;
|
|
13
14
|
const ParticlesOptions_js_1 = require("../Options/Classes/Particles/ParticlesOptions.js");
|
|
14
15
|
function loadOptions(options, ...sourceOptionsArr) {
|
|
15
16
|
for (const sourceOptions of sourceOptionsArr) {
|
|
16
17
|
options.load(sourceOptions);
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
|
-
exports.loadOptions = loadOptions;
|
|
20
20
|
function loadParticlesOptions(engine, container, ...sourceOptionsArr) {
|
|
21
21
|
const options = new ParticlesOptions_js_1.ParticlesOptions(engine, container);
|
|
22
22
|
loadOptions(options, ...sourceOptionsArr);
|
|
23
23
|
return options;
|
|
24
24
|
}
|
|
25
|
-
exports.loadParticlesOptions = loadParticlesOptions;
|
|
26
25
|
});
|
|
@@ -11,6 +11,13 @@
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.RgbColorManager = void 0;
|
|
13
13
|
const NumberUtils_js_1 = require("./NumberUtils.js");
|
|
14
|
+
var RgbIndexes;
|
|
15
|
+
(function (RgbIndexes) {
|
|
16
|
+
RgbIndexes[RgbIndexes["r"] = 1] = "r";
|
|
17
|
+
RgbIndexes[RgbIndexes["g"] = 2] = "g";
|
|
18
|
+
RgbIndexes[RgbIndexes["b"] = 3] = "b";
|
|
19
|
+
RgbIndexes[RgbIndexes["a"] = 5] = "a";
|
|
20
|
+
})(RgbIndexes || (RgbIndexes = {}));
|
|
14
21
|
class RgbColorManager {
|
|
15
22
|
constructor() {
|
|
16
23
|
this.key = "rgb";
|
|
@@ -39,10 +46,10 @@
|
|
|
39
46
|
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;
|
|
40
47
|
return result
|
|
41
48
|
? {
|
|
42
|
-
a: result.length > minLength ? (0, NumberUtils_js_1.parseAlpha)(result[
|
|
43
|
-
b: parseInt(result[
|
|
44
|
-
g: parseInt(result[
|
|
45
|
-
r: parseInt(result[
|
|
49
|
+
a: result.length > minLength ? (0, NumberUtils_js_1.parseAlpha)(result[RgbIndexes.a]) : defaultAlpha,
|
|
50
|
+
b: parseInt(result[RgbIndexes.b], radix),
|
|
51
|
+
g: parseInt(result[RgbIndexes.g], radix),
|
|
52
|
+
r: parseInt(result[RgbIndexes.r], radix),
|
|
46
53
|
}
|
|
47
54
|
: undefined;
|
|
48
55
|
}
|
package/umd/Utils/TypeUtils.js
CHANGED
|
@@ -9,29 +9,28 @@
|
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.isBoolean = isBoolean;
|
|
13
|
+
exports.isString = isString;
|
|
14
|
+
exports.isNumber = isNumber;
|
|
15
|
+
exports.isFunction = isFunction;
|
|
16
|
+
exports.isObject = isObject;
|
|
17
|
+
exports.isArray = isArray;
|
|
13
18
|
function isBoolean(arg) {
|
|
14
19
|
return typeof arg === "boolean";
|
|
15
20
|
}
|
|
16
|
-
exports.isBoolean = isBoolean;
|
|
17
21
|
function isString(arg) {
|
|
18
22
|
return typeof arg === "string";
|
|
19
23
|
}
|
|
20
|
-
exports.isString = isString;
|
|
21
24
|
function isNumber(arg) {
|
|
22
25
|
return typeof arg === "number";
|
|
23
26
|
}
|
|
24
|
-
exports.isNumber = isNumber;
|
|
25
27
|
function isFunction(arg) {
|
|
26
28
|
return typeof arg === "function";
|
|
27
29
|
}
|
|
28
|
-
exports.isFunction = isFunction;
|
|
29
30
|
function isObject(arg) {
|
|
30
31
|
return typeof arg === "object" && arg !== null;
|
|
31
32
|
}
|
|
32
|
-
exports.isObject = isObject;
|
|
33
33
|
function isArray(arg) {
|
|
34
34
|
return Array.isArray(arg);
|
|
35
35
|
}
|
|
36
|
-
exports.isArray = isArray;
|
|
37
36
|
});
|