@tsparticles/engine 4.0.0-alpha.8 → 4.0.0-beta.1
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/155.min.js +1 -0
- package/README.md +41 -28
- package/browser/Core/CanvasManager.js +303 -0
- package/browser/Core/Container.js +134 -101
- package/browser/Core/Engine.js +29 -162
- package/browser/Core/Particle.js +197 -183
- package/browser/Core/ParticlesManager.js +363 -0
- package/browser/Core/RenderManager.js +303 -0
- package/browser/Core/Retina.js +6 -6
- package/browser/Core/Utils/Constants.js +2 -2
- package/browser/Core/Utils/EventListeners.js +67 -63
- package/browser/Core/Utils/PluginManager.js +145 -0
- package/browser/Core/Utils/Ranges.js +29 -10
- package/browser/Core/Utils/SpatialHashGrid.js +102 -0
- package/browser/Core/Utils/Vectors.js +17 -18
- package/browser/Options/Classes/AnimatableColor.js +1 -0
- package/browser/Options/Classes/AnimationOptions.js +8 -0
- package/browser/Options/Classes/Background/Background.js +6 -0
- package/browser/Options/Classes/ColorAnimation.js +12 -1
- package/browser/Options/Classes/FullScreen/FullScreen.js +2 -0
- package/browser/Options/Classes/HslAnimation.js +4 -5
- package/browser/Options/Classes/Options.js +67 -8
- package/browser/Options/Classes/OptionsColor.js +1 -0
- package/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -0
- package/browser/Options/Classes/Particles/Effect/Effect.js +3 -4
- package/browser/Options/Classes/Particles/Fill.js +28 -0
- package/browser/Options/Classes/Particles/Move/Move.js +17 -3
- package/browser/Options/Classes/Particles/Move/MoveAngle.js +2 -0
- package/browser/Options/Classes/Particles/Move/MoveCenter.js +4 -0
- package/browser/Options/Classes/Particles/Move/MoveGravity.js +4 -0
- package/browser/Options/Classes/Particles/Move/OutModes.js +5 -0
- package/browser/Options/Classes/Particles/Move/Path/MovePath.js +5 -0
- package/browser/Options/Classes/Particles/Move/Spin.js +3 -0
- package/browser/Options/Classes/Particles/Number/ParticlesDensity.js +3 -0
- package/browser/Options/Classes/Particles/Number/ParticlesNumber.js +3 -0
- package/browser/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -0
- package/browser/Options/Classes/Particles/Opacity/Opacity.js +1 -0
- package/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js +1 -0
- package/browser/Options/Classes/Particles/ParticlesOptions.js +29 -9
- package/browser/Options/Classes/Particles/Shape/Shape.js +3 -4
- package/browser/Options/Classes/Particles/Size/Size.js +1 -0
- package/browser/Options/Classes/Particles/Size/SizeAnimation.js +1 -0
- package/browser/Options/Classes/Particles/Stroke.js +3 -0
- package/browser/Options/Classes/Particles/ZIndex/ZIndex.js +3 -0
- package/browser/Options/Classes/ResizeEvent.js +2 -0
- package/browser/Options/Classes/ValueWithRandom.js +3 -4
- package/browser/Utils/CanvasUtils.js +44 -51
- package/browser/Utils/ColorUtils.js +51 -40
- package/browser/Utils/EventDispatcher.js +1 -0
- package/browser/Utils/LogUtils.js +1 -0
- package/browser/Utils/MathUtils.js +12 -7
- package/browser/Utils/OptionsUtils.js +2 -2
- package/browser/Utils/Utils.js +109 -31
- package/browser/exports.js +1 -2
- package/cjs/Core/CanvasManager.js +303 -0
- package/cjs/Core/Container.js +134 -101
- package/cjs/Core/Engine.js +29 -162
- package/cjs/Core/Particle.js +197 -183
- package/cjs/Core/ParticlesManager.js +363 -0
- package/cjs/Core/RenderManager.js +303 -0
- package/cjs/Core/Retina.js +6 -6
- package/cjs/Core/Utils/Constants.js +2 -2
- package/cjs/Core/Utils/EventListeners.js +67 -63
- package/cjs/Core/Utils/PluginManager.js +145 -0
- package/cjs/Core/Utils/Ranges.js +29 -10
- package/cjs/Core/Utils/SpatialHashGrid.js +102 -0
- package/cjs/Core/Utils/Vectors.js +17 -18
- package/cjs/Options/Classes/AnimatableColor.js +1 -0
- package/cjs/Options/Classes/AnimationOptions.js +8 -0
- package/cjs/Options/Classes/Background/Background.js +6 -0
- package/cjs/Options/Classes/ColorAnimation.js +12 -1
- package/cjs/Options/Classes/FullScreen/FullScreen.js +2 -0
- package/cjs/Options/Classes/HslAnimation.js +4 -5
- package/cjs/Options/Classes/Options.js +67 -8
- package/cjs/Options/Classes/OptionsColor.js +1 -0
- package/cjs/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -0
- package/cjs/Options/Classes/Particles/Effect/Effect.js +3 -4
- package/cjs/Options/Classes/Particles/Fill.js +28 -0
- package/cjs/Options/Classes/Particles/Move/Move.js +17 -3
- package/cjs/Options/Classes/Particles/Move/MoveAngle.js +2 -0
- package/cjs/Options/Classes/Particles/Move/MoveCenter.js +4 -0
- package/cjs/Options/Classes/Particles/Move/MoveGravity.js +4 -0
- package/cjs/Options/Classes/Particles/Move/OutModes.js +5 -0
- package/cjs/Options/Classes/Particles/Move/Path/MovePath.js +5 -0
- package/cjs/Options/Classes/Particles/Move/Spin.js +3 -0
- package/cjs/Options/Classes/Particles/Number/ParticlesDensity.js +3 -0
- package/cjs/Options/Classes/Particles/Number/ParticlesNumber.js +3 -0
- package/cjs/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -0
- package/cjs/Options/Classes/Particles/Opacity/Opacity.js +1 -0
- package/cjs/Options/Classes/Particles/Opacity/OpacityAnimation.js +1 -0
- package/cjs/Options/Classes/Particles/ParticlesOptions.js +29 -9
- package/cjs/Options/Classes/Particles/Shape/Shape.js +3 -4
- package/cjs/Options/Classes/Particles/Size/Size.js +1 -0
- package/cjs/Options/Classes/Particles/Size/SizeAnimation.js +1 -0
- package/cjs/Options/Classes/Particles/Stroke.js +3 -0
- package/cjs/Options/Classes/Particles/ZIndex/ZIndex.js +3 -0
- package/cjs/Options/Classes/ResizeEvent.js +2 -0
- package/cjs/Options/Classes/ValueWithRandom.js +3 -4
- package/cjs/Utils/CanvasUtils.js +44 -51
- package/cjs/Utils/ColorUtils.js +51 -40
- package/cjs/Utils/EventDispatcher.js +1 -0
- package/cjs/Utils/LogUtils.js +1 -0
- package/cjs/Utils/MathUtils.js +12 -7
- package/cjs/Utils/OptionsUtils.js +2 -2
- package/cjs/Utils/Utils.js +109 -31
- package/cjs/exports.js +1 -2
- package/dist_browser_Core_Container_js.js +30 -20
- package/esm/Core/CanvasManager.js +303 -0
- package/esm/Core/Container.js +134 -101
- package/esm/Core/Engine.js +29 -162
- package/esm/Core/Particle.js +197 -183
- package/esm/Core/ParticlesManager.js +363 -0
- package/esm/Core/RenderManager.js +303 -0
- package/esm/Core/Retina.js +6 -6
- package/esm/Core/Utils/Constants.js +2 -2
- package/esm/Core/Utils/EventListeners.js +67 -63
- package/esm/Core/Utils/PluginManager.js +145 -0
- package/esm/Core/Utils/Ranges.js +29 -10
- package/esm/Core/Utils/SpatialHashGrid.js +102 -0
- package/esm/Core/Utils/Vectors.js +17 -18
- package/esm/Options/Classes/AnimatableColor.js +1 -0
- package/esm/Options/Classes/AnimationOptions.js +8 -0
- package/esm/Options/Classes/Background/Background.js +6 -0
- package/esm/Options/Classes/ColorAnimation.js +12 -1
- package/esm/Options/Classes/FullScreen/FullScreen.js +2 -0
- package/esm/Options/Classes/HslAnimation.js +4 -5
- package/esm/Options/Classes/Options.js +67 -8
- package/esm/Options/Classes/OptionsColor.js +1 -0
- package/esm/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -0
- package/esm/Options/Classes/Particles/Effect/Effect.js +3 -4
- package/esm/Options/Classes/Particles/Fill.js +28 -0
- package/esm/Options/Classes/Particles/Move/Move.js +17 -3
- package/esm/Options/Classes/Particles/Move/MoveAngle.js +2 -0
- package/esm/Options/Classes/Particles/Move/MoveCenter.js +4 -0
- package/esm/Options/Classes/Particles/Move/MoveGravity.js +4 -0
- package/esm/Options/Classes/Particles/Move/OutModes.js +5 -0
- package/esm/Options/Classes/Particles/Move/Path/MovePath.js +5 -0
- package/esm/Options/Classes/Particles/Move/Spin.js +3 -0
- package/esm/Options/Classes/Particles/Number/ParticlesDensity.js +3 -0
- package/esm/Options/Classes/Particles/Number/ParticlesNumber.js +3 -0
- package/esm/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -0
- package/esm/Options/Classes/Particles/Opacity/Opacity.js +1 -0
- package/esm/Options/Classes/Particles/Opacity/OpacityAnimation.js +1 -0
- package/esm/Options/Classes/Particles/ParticlesOptions.js +29 -9
- package/esm/Options/Classes/Particles/Shape/Shape.js +3 -4
- package/esm/Options/Classes/Particles/Size/Size.js +1 -0
- package/esm/Options/Classes/Particles/Size/SizeAnimation.js +1 -0
- package/esm/Options/Classes/Particles/Stroke.js +3 -0
- package/esm/Options/Classes/Particles/ZIndex/ZIndex.js +3 -0
- package/esm/Options/Classes/ResizeEvent.js +2 -0
- package/esm/Options/Classes/ValueWithRandom.js +3 -4
- package/esm/Utils/CanvasUtils.js +44 -51
- package/esm/Utils/ColorUtils.js +51 -40
- package/esm/Utils/EventDispatcher.js +1 -0
- package/esm/Utils/LogUtils.js +1 -0
- package/esm/Utils/MathUtils.js +12 -7
- package/esm/Utils/OptionsUtils.js +2 -2
- package/esm/Utils/Utils.js +109 -31
- package/esm/exports.js +1 -2
- package/package.json +1 -1
- package/report.html +84 -29
- package/scripts/install.js +4 -20
- package/tsparticles.engine.js +98 -86
- package/tsparticles.engine.min.js +2 -2
- package/types/Core/CanvasManager.d.ts +39 -0
- package/types/Core/Container.d.ts +29 -14
- package/types/Core/Engine.d.ts +2 -61
- package/types/Core/Interfaces/IColorManager.d.ts +0 -1
- package/types/Core/Interfaces/IContainerPlugin.d.ts +10 -8
- package/types/Core/Interfaces/IDrawParticleParams.d.ts +2 -1
- package/types/Core/Interfaces/IPalette.d.ts +7 -0
- package/types/Core/Interfaces/IParticleOpacityData.d.ts +1 -0
- package/types/Core/Interfaces/IParticleRetinaProps.d.ts +4 -4
- package/types/Core/Interfaces/IParticleUpdater.d.ts +2 -1
- package/types/Core/Interfaces/IParticleValueAnimation.d.ts +3 -3
- package/types/Core/Interfaces/IShapeDrawData.d.ts +10 -1
- package/types/Core/Interfaces/IShapeDrawer.d.ts +0 -1
- package/types/Core/Interfaces/IShapeValues.d.ts +0 -1
- package/types/Core/Particle.d.ts +7 -11
- package/types/Core/{Particles.d.ts → ParticlesManager.d.ts} +15 -14
- package/types/Core/RenderManager.d.ts +49 -0
- package/types/Core/Retina.d.ts +0 -2
- package/types/Core/Utils/Constants.d.ts +2 -2
- package/types/Core/Utils/PluginManager.d.ts +62 -0
- package/types/Core/Utils/Ranges.d.ts +4 -1
- package/types/Core/Utils/SpatialHashGrid.d.ts +25 -0
- package/types/Core/Utils/Vectors.d.ts +8 -10
- package/types/Options/Classes/ColorAnimation.d.ts +3 -1
- package/types/Options/Classes/HslAnimation.d.ts +3 -4
- package/types/Options/Classes/Options.d.ts +5 -3
- package/types/Options/Classes/Particles/Effect/Effect.d.ts +0 -1
- package/types/Options/Classes/Particles/Fill.d.ts +12 -0
- package/types/Options/Classes/Particles/Move/Move.d.ts +0 -2
- package/types/Options/Classes/Particles/ParticlesOptions.d.ts +5 -5
- package/types/Options/Classes/Particles/Shape/Shape.d.ts +0 -1
- package/types/Options/Classes/ValueWithRandom.d.ts +0 -1
- package/types/Options/Interfaces/IColorAnimation.d.ts +2 -0
- package/types/Options/Interfaces/IOptions.d.ts +1 -0
- package/types/Options/Interfaces/Particles/Effect/IEffect.d.ts +0 -1
- package/types/Options/Interfaces/Particles/IFill.d.ts +9 -0
- package/types/Options/Interfaces/Particles/IParticlesOptions.d.ts +2 -2
- package/types/Options/Interfaces/Particles/IStroke.d.ts +2 -2
- package/types/Options/Interfaces/Particles/Move/IMove.d.ts +0 -2
- package/types/Options/Interfaces/Particles/Shape/IShape.d.ts +0 -1
- package/types/Types/CanvasContextType.d.ts +1 -0
- package/types/Types/EngineInitializers.d.ts +6 -3
- package/types/Utils/CanvasUtils.d.ts +13 -16
- package/types/Utils/ColorUtils.d.ts +11 -10
- package/types/Utils/LogUtils.d.ts +1 -0
- package/types/Utils/MathUtils.d.ts +2 -0
- package/types/Utils/OptionsUtils.d.ts +2 -2
- package/types/Utils/Utils.d.ts +8 -1
- package/types/export-types.d.ts +7 -7
- package/types/exports.d.ts +1 -2
- package/umd/Core/CanvasManager.js +317 -0
- package/umd/Core/Container.js +134 -101
- package/umd/Core/Engine.js +28 -161
- package/umd/Core/Particle.js +198 -184
- package/umd/Core/{Particles.js → ParticlesManager.js} +186 -167
- package/umd/Core/RenderManager.js +317 -0
- package/umd/Core/Retina.js +6 -6
- package/umd/Core/Utils/Constants.js +3 -3
- package/umd/Core/Utils/EventListeners.js +67 -63
- package/umd/Core/Utils/PluginManager.js +159 -0
- package/umd/Core/Utils/Ranges.js +28 -9
- package/umd/Core/Utils/SpatialHashGrid.js +116 -0
- package/umd/Core/Utils/Vectors.js +17 -18
- package/umd/Options/Classes/AnimatableColor.js +1 -0
- package/umd/Options/Classes/AnimationOptions.js +8 -0
- package/umd/Options/Classes/Background/Background.js +6 -0
- package/umd/Options/Classes/ColorAnimation.js +12 -1
- package/umd/Options/Classes/FullScreen/FullScreen.js +2 -0
- package/umd/Options/Classes/HslAnimation.js +5 -6
- package/umd/Options/Classes/Options.js +67 -8
- package/umd/Options/Classes/OptionsColor.js +1 -0
- package/umd/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -0
- package/umd/Options/Classes/Particles/Effect/Effect.js +3 -4
- package/umd/Options/Classes/Particles/Fill.js +42 -0
- package/umd/Options/Classes/Particles/Move/Move.js +18 -4
- package/umd/Options/Classes/Particles/Move/MoveAngle.js +2 -0
- package/umd/Options/Classes/Particles/Move/MoveCenter.js +4 -0
- package/umd/Options/Classes/Particles/Move/MoveGravity.js +4 -0
- package/umd/Options/Classes/Particles/Move/OutModes.js +5 -0
- package/umd/Options/Classes/Particles/Move/Path/MovePath.js +5 -0
- package/umd/Options/Classes/Particles/Move/Spin.js +3 -0
- package/umd/Options/Classes/Particles/Number/ParticlesDensity.js +3 -0
- package/umd/Options/Classes/Particles/Number/ParticlesNumber.js +3 -0
- package/umd/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -0
- package/umd/Options/Classes/Particles/Opacity/Opacity.js +1 -0
- package/umd/Options/Classes/Particles/Opacity/OpacityAnimation.js +1 -0
- package/umd/Options/Classes/Particles/ParticlesOptions.js +30 -10
- package/umd/Options/Classes/Particles/Shape/Shape.js +3 -4
- package/umd/Options/Classes/Particles/Size/Size.js +1 -0
- package/umd/Options/Classes/Particles/Size/SizeAnimation.js +1 -0
- package/umd/Options/Classes/Particles/Stroke.js +3 -0
- package/umd/Options/Classes/Particles/ZIndex/ZIndex.js +3 -0
- package/umd/Options/Classes/ResizeEvent.js +2 -0
- package/umd/Options/Classes/ValueWithRandom.js +3 -4
- package/umd/Utils/CanvasUtils.js +44 -53
- package/umd/Utils/ColorUtils.js +51 -39
- package/umd/Utils/EventDispatcher.js +1 -0
- package/umd/Utils/LogUtils.js +1 -0
- package/umd/Utils/MathUtils.js +14 -7
- package/umd/Utils/OptionsUtils.js +2 -2
- package/umd/Utils/Utils.js +111 -32
- package/umd/exports.js +2 -3
- package/794.min.js +0 -2
- package/794.min.js.LICENSE.txt +0 -1
- package/browser/Core/Canvas.js +0 -469
- package/browser/Core/Particles.js +0 -344
- package/browser/Core/Utils/Point.js +0 -6
- package/browser/Core/Utils/QuadTree.js +0 -59
- package/browser/Options/Classes/Particles/Move/MoveAttract.js +0 -33
- package/cjs/Core/Canvas.js +0 -469
- package/cjs/Core/Particles.js +0 -344
- package/cjs/Core/Utils/Point.js +0 -6
- package/cjs/Core/Utils/QuadTree.js +0 -59
- package/cjs/Options/Classes/Particles/Move/MoveAttract.js +0 -33
- package/esm/Core/Canvas.js +0 -469
- package/esm/Core/Particles.js +0 -344
- package/esm/Core/Utils/Point.js +0 -6
- package/esm/Core/Utils/QuadTree.js +0 -59
- package/esm/Options/Classes/Particles/Move/MoveAttract.js +0 -33
- package/tsparticles.engine.min.js.LICENSE.txt +0 -1
- package/types/Core/Canvas.d.ts +0 -55
- package/types/Core/Interfaces/IMovePathGenerator.d.ts +0 -10
- package/types/Core/Interfaces/IParticleMover.d.ts +0 -7
- package/types/Core/Utils/Point.d.ts +0 -7
- package/types/Core/Utils/QuadTree.d.ts +0 -18
- package/types/Options/Classes/Particles/Move/MoveAttract.d.ts +0 -12
- package/types/Options/Interfaces/Particles/Move/IMoveAttract.d.ts +0 -7
- package/umd/Core/Canvas.js +0 -483
- package/umd/Core/Utils/Point.js +0 -20
- package/umd/Core/Utils/QuadTree.js +0 -73
- package/umd/Options/Classes/Particles/Move/MoveAttract.js +0 -47
- /package/browser/Core/Interfaces/{IMovePathGenerator.js → IPalette.js} +0 -0
- /package/browser/{Core/Interfaces/IParticleMover.js → Options/Interfaces/Particles/IFill.js} +0 -0
- /package/browser/{Options/Interfaces/Particles/Move/IMoveAttract.js → Types/CanvasContextType.js} +0 -0
- /package/cjs/Core/Interfaces/{IMovePathGenerator.js → IPalette.js} +0 -0
- /package/cjs/{Core/Interfaces/IParticleMover.js → Options/Interfaces/Particles/IFill.js} +0 -0
- /package/cjs/{Options/Interfaces/Particles/Move/IMoveAttract.js → Types/CanvasContextType.js} +0 -0
- /package/esm/Core/Interfaces/{IMovePathGenerator.js → IPalette.js} +0 -0
- /package/esm/{Core/Interfaces/IParticleMover.js → Options/Interfaces/Particles/IFill.js} +0 -0
- /package/esm/{Options/Interfaces/Particles/Move/IMoveAttract.js → Types/CanvasContextType.js} +0 -0
- /package/umd/Core/Interfaces/{IMovePathGenerator.js → IPalette.js} +0 -0
- /package/umd/{Core/Interfaces/IParticleMover.js → Options/Interfaces/Particles/IFill.js} +0 -0
- /package/umd/{Options/Interfaces/Particles/Move/IMoveAttract.js → Types/CanvasContextType.js} +0 -0
package/umd/Utils/ColorUtils.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "./MathUtils.js", "../Core/Utils/Constants.js", "./TypeUtils.js", "../Enums/AnimationStatus.js", "./Utils.js"], factory);
|
|
7
|
+
define(["require", "exports", "./MathUtils.js", "../Core/Utils/Constants.js", "./TypeUtils.js", "../Enums/Types/AlterType.js", "../Enums/AnimationStatus.js", "./Utils.js"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
@@ -28,9 +28,11 @@
|
|
|
28
28
|
exports.getHslAnimationFromHsl = getHslAnimationFromHsl;
|
|
29
29
|
exports.updateColorValue = updateColorValue;
|
|
30
30
|
exports.updateColor = updateColor;
|
|
31
|
+
exports.alterHsl = alterHsl;
|
|
31
32
|
const MathUtils_js_1 = require("./MathUtils.js");
|
|
32
33
|
const Constants_js_1 = require("../Core/Utils/Constants.js");
|
|
33
34
|
const TypeUtils_js_1 = require("./TypeUtils.js");
|
|
35
|
+
const AlterType_js_1 = require("../Enums/Types/AlterType.js");
|
|
34
36
|
const AnimationStatus_js_1 = require("../Enums/AnimationStatus.js");
|
|
35
37
|
const Utils_js_1 = require("./Utils.js");
|
|
36
38
|
const styleCache = new Map(), maxCacheSize = 1000, firstIndex = 0, rgbFixedPrecision = 2, hslFixedPrecision = 2;
|
|
@@ -46,35 +48,35 @@
|
|
|
46
48
|
}
|
|
47
49
|
return cached;
|
|
48
50
|
}
|
|
49
|
-
function stringToRgba(
|
|
51
|
+
function stringToRgba(pluginManager, input) {
|
|
50
52
|
if (!input) {
|
|
51
53
|
return;
|
|
52
54
|
}
|
|
53
|
-
for (const manager of
|
|
55
|
+
for (const manager of pluginManager.colorManagers.values()) {
|
|
54
56
|
if (manager.accepts(input)) {
|
|
55
57
|
return manager.parseString(input);
|
|
56
58
|
}
|
|
57
59
|
}
|
|
58
60
|
return undefined;
|
|
59
61
|
}
|
|
60
|
-
function rangeColorToRgb(
|
|
62
|
+
function rangeColorToRgb(pluginManager, input, index, useIndex = true) {
|
|
61
63
|
if (!input) {
|
|
62
64
|
return;
|
|
63
65
|
}
|
|
64
66
|
const color = (0, TypeUtils_js_1.isString)(input) ? { value: input } : input;
|
|
65
67
|
if ((0, TypeUtils_js_1.isString)(color.value)) {
|
|
66
|
-
return colorToRgb(
|
|
68
|
+
return colorToRgb(pluginManager, color.value, index, useIndex);
|
|
67
69
|
}
|
|
68
70
|
if ((0, TypeUtils_js_1.isArray)(color.value)) {
|
|
69
71
|
const value = (0, Utils_js_1.itemFromArray)(color.value, index, useIndex);
|
|
70
72
|
if (!value) {
|
|
71
73
|
return;
|
|
72
74
|
}
|
|
73
|
-
return rangeColorToRgb(
|
|
75
|
+
return rangeColorToRgb(pluginManager, {
|
|
74
76
|
value,
|
|
75
77
|
});
|
|
76
78
|
}
|
|
77
|
-
for (const manager of
|
|
79
|
+
for (const manager of pluginManager.colorManagers.values()) {
|
|
78
80
|
const res = manager.handleRangeColor(color);
|
|
79
81
|
if (res) {
|
|
80
82
|
return res;
|
|
@@ -82,24 +84,24 @@
|
|
|
82
84
|
}
|
|
83
85
|
return undefined;
|
|
84
86
|
}
|
|
85
|
-
function colorToRgb(
|
|
87
|
+
function colorToRgb(pluginManager, input, index, useIndex = true) {
|
|
86
88
|
if (!input) {
|
|
87
89
|
return;
|
|
88
90
|
}
|
|
89
91
|
const color = (0, TypeUtils_js_1.isString)(input) ? { value: input } : input;
|
|
90
92
|
if ((0, TypeUtils_js_1.isString)(color.value)) {
|
|
91
|
-
return color.value === Constants_js_1.randomColorValue ? getRandomRgbColor() : stringToRgb(
|
|
93
|
+
return color.value === Constants_js_1.randomColorValue ? getRandomRgbColor() : stringToRgb(pluginManager, color.value);
|
|
92
94
|
}
|
|
93
95
|
if ((0, TypeUtils_js_1.isArray)(color.value)) {
|
|
94
96
|
const value = (0, Utils_js_1.itemFromArray)(color.value, index, useIndex);
|
|
95
97
|
if (!value) {
|
|
96
98
|
return;
|
|
97
99
|
}
|
|
98
|
-
return colorToRgb(
|
|
100
|
+
return colorToRgb(pluginManager, {
|
|
99
101
|
value,
|
|
100
102
|
});
|
|
101
103
|
}
|
|
102
|
-
for (const manager of
|
|
104
|
+
for (const manager of pluginManager.colorManagers.values()) {
|
|
103
105
|
const res = manager.handleColor(color);
|
|
104
106
|
if (res) {
|
|
105
107
|
return res;
|
|
@@ -107,12 +109,12 @@
|
|
|
107
109
|
}
|
|
108
110
|
return undefined;
|
|
109
111
|
}
|
|
110
|
-
function colorToHsl(
|
|
111
|
-
const rgb = colorToRgb(
|
|
112
|
+
function colorToHsl(pluginManager, color, index, useIndex = true) {
|
|
113
|
+
const rgb = colorToRgb(pluginManager, color, index, useIndex);
|
|
112
114
|
return rgb ? rgbToHsl(rgb) : undefined;
|
|
113
115
|
}
|
|
114
|
-
function rangeColorToHsl(
|
|
115
|
-
const rgb = rangeColorToRgb(
|
|
116
|
+
function rangeColorToHsl(pluginManager, color, index, useIndex = true) {
|
|
117
|
+
const rgb = rangeColorToRgb(pluginManager, color, index, useIndex);
|
|
116
118
|
return rgb ? rgbToHsl(rgb) : undefined;
|
|
117
119
|
}
|
|
118
120
|
function rgbToHsl(color) {
|
|
@@ -144,11 +146,11 @@
|
|
|
144
146
|
}
|
|
145
147
|
return res;
|
|
146
148
|
}
|
|
147
|
-
function stringToAlpha(
|
|
148
|
-
return stringToRgba(
|
|
149
|
+
function stringToAlpha(pluginManager, input) {
|
|
150
|
+
return stringToRgba(pluginManager, input)?.a;
|
|
149
151
|
}
|
|
150
|
-
function stringToRgb(
|
|
151
|
-
return stringToRgba(
|
|
152
|
+
function stringToRgb(pluginManager, input) {
|
|
153
|
+
return stringToRgba(pluginManager, input);
|
|
152
154
|
}
|
|
153
155
|
function hslToRgb(hsl) {
|
|
154
156
|
const h = ((hsl.h % Constants_js_1.hMax) + Constants_js_1.hMax) % Constants_js_1.hMax, s = Math.max(Constants_js_1.sMin, Math.min(Constants_js_1.sMax, hsl.s)), l = Math.max(Constants_js_1.lMin, Math.min(Constants_js_1.lMax, hsl.l)), hNormalized = h / Constants_js_1.hMax, sNormalized = s / Constants_js_1.sMax, lNormalized = l / Constants_js_1.lMax;
|
|
@@ -219,10 +221,10 @@
|
|
|
219
221
|
}
|
|
220
222
|
function colorMix(color1, color2, size1, size2) {
|
|
221
223
|
let rgb1 = color1, rgb2 = color2;
|
|
222
|
-
if (!
|
|
224
|
+
if (!("r" in rgb1)) {
|
|
223
225
|
rgb1 = hslToRgb(color1);
|
|
224
226
|
}
|
|
225
|
-
if (!
|
|
227
|
+
if (!("r" in rgb2)) {
|
|
226
228
|
rgb2 = hslToRgb(color2);
|
|
227
229
|
}
|
|
228
230
|
return {
|
|
@@ -252,11 +254,11 @@
|
|
|
252
254
|
}
|
|
253
255
|
return undefined;
|
|
254
256
|
}
|
|
255
|
-
function getLinkRandomColor(
|
|
257
|
+
function getLinkRandomColor(pluginManager, optColor, blink, consent) {
|
|
256
258
|
const color = (0, TypeUtils_js_1.isString)(optColor) ? optColor : optColor.value;
|
|
257
259
|
if (color === Constants_js_1.randomColorValue) {
|
|
258
260
|
if (consent) {
|
|
259
|
-
return rangeColorToRgb(
|
|
261
|
+
return rangeColorToRgb(pluginManager, {
|
|
260
262
|
value: color,
|
|
261
263
|
});
|
|
262
264
|
}
|
|
@@ -269,33 +271,39 @@
|
|
|
269
271
|
return Constants_js_1.midColorValue;
|
|
270
272
|
}
|
|
271
273
|
else {
|
|
272
|
-
return rangeColorToRgb(
|
|
274
|
+
return rangeColorToRgb(pluginManager, {
|
|
273
275
|
value: color,
|
|
274
276
|
});
|
|
275
277
|
}
|
|
276
278
|
}
|
|
277
279
|
function getHslFromAnimation(animation) {
|
|
278
|
-
return animation
|
|
279
|
-
?
|
|
280
|
+
return animation === undefined
|
|
281
|
+
? undefined
|
|
282
|
+
: {
|
|
280
283
|
h: animation.h.value,
|
|
281
284
|
s: animation.s.value,
|
|
282
285
|
l: animation.l.value,
|
|
283
|
-
}
|
|
284
|
-
: undefined;
|
|
286
|
+
};
|
|
285
287
|
}
|
|
286
288
|
function getHslAnimationFromHsl(hsl, animationOptions, reduceFactor) {
|
|
287
289
|
const resColor = {
|
|
288
290
|
h: {
|
|
289
291
|
enable: false,
|
|
290
292
|
value: hsl.h,
|
|
293
|
+
min: Constants_js_1.hMin,
|
|
294
|
+
max: Constants_js_1.hMax,
|
|
291
295
|
},
|
|
292
296
|
s: {
|
|
293
297
|
enable: false,
|
|
294
298
|
value: hsl.s,
|
|
299
|
+
min: Constants_js_1.sMin,
|
|
300
|
+
max: Constants_js_1.sMax,
|
|
295
301
|
},
|
|
296
302
|
l: {
|
|
297
303
|
enable: false,
|
|
298
304
|
value: hsl.l,
|
|
305
|
+
min: Constants_js_1.lMin,
|
|
306
|
+
max: Constants_js_1.lMax,
|
|
299
307
|
},
|
|
300
308
|
};
|
|
301
309
|
if (animationOptions) {
|
|
@@ -307,6 +315,8 @@
|
|
|
307
315
|
}
|
|
308
316
|
function setColorAnimation(colorValue, colorAnimation, reduceFactor) {
|
|
309
317
|
colorValue.enable = colorAnimation.enable;
|
|
318
|
+
colorValue.min = colorAnimation.min;
|
|
319
|
+
colorValue.max = colorAnimation.max;
|
|
310
320
|
if (colorValue.enable) {
|
|
311
321
|
colorValue.velocity = ((0, MathUtils_js_1.getRangeValue)(colorAnimation.speed) / Constants_js_1.percentDenominator) * reduceFactor;
|
|
312
322
|
colorValue.decay = Constants_js_1.decayOffset - (0, MathUtils_js_1.getRangeValue)(colorAnimation.decay);
|
|
@@ -326,7 +336,7 @@
|
|
|
326
336
|
colorValue.velocity = Constants_js_1.defaultVelocity;
|
|
327
337
|
}
|
|
328
338
|
}
|
|
329
|
-
function updateColorValue(data,
|
|
339
|
+
function updateColorValue(data, decrease, delta) {
|
|
330
340
|
const minLoops = 0, minDelay = 0, identity = 1, minVelocity = 0, minOffset = 0, velocityFactor = 3.6;
|
|
331
341
|
if (!data.enable ||
|
|
332
342
|
((data.maxLoops ?? minLoops) > minLoops && (data.loops ?? minLoops) > (data.maxLoops ?? minLoops))) {
|
|
@@ -339,7 +349,7 @@
|
|
|
339
349
|
if ((data.delayTime ?? minDelay) > minDelay && data.time < (data.delayTime ?? minDelay)) {
|
|
340
350
|
return;
|
|
341
351
|
}
|
|
342
|
-
const offset = data.offset ? (0, MathUtils_js_1.randomInRangeValue)(data.offset) : minOffset, velocity = (data.velocity ?? minVelocity) * delta.factor + offset * velocityFactor, decay = data.decay ?? identity, max =
|
|
352
|
+
const offset = data.offset ? (0, MathUtils_js_1.randomInRangeValue)(data.offset) : minOffset, velocity = (data.velocity ?? minVelocity) * delta.factor + offset * velocityFactor, decay = data.decay ?? identity, max = data.max, min = data.min;
|
|
343
353
|
if (!decrease || data.status === AnimationStatus_js_1.AnimationStatus.increasing) {
|
|
344
354
|
data.value += velocity;
|
|
345
355
|
if (data.value > max) {
|
|
@@ -355,8 +365,7 @@
|
|
|
355
365
|
}
|
|
356
366
|
else {
|
|
357
367
|
data.value -= velocity;
|
|
358
|
-
|
|
359
|
-
if (data.value < minValue) {
|
|
368
|
+
if (data.value < min) {
|
|
360
369
|
data.loops ??= 0;
|
|
361
370
|
data.loops++;
|
|
362
371
|
data.status = AnimationStatus_js_1.AnimationStatus.increasing;
|
|
@@ -371,13 +380,16 @@
|
|
|
371
380
|
if (!color) {
|
|
372
381
|
return;
|
|
373
382
|
}
|
|
374
|
-
const { h, s, l } = color
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
383
|
+
const { h, s, l } = color;
|
|
384
|
+
updateColorValue(h, false, delta);
|
|
385
|
+
updateColorValue(s, true, delta);
|
|
386
|
+
updateColorValue(l, true, delta);
|
|
387
|
+
}
|
|
388
|
+
function alterHsl(color, type, value) {
|
|
389
|
+
return {
|
|
390
|
+
h: color.h,
|
|
391
|
+
s: color.s,
|
|
392
|
+
l: color.l + (type === AlterType_js_1.AlterType.darken ? -Constants_js_1.lFactor : Constants_js_1.lFactor) * value,
|
|
378
393
|
};
|
|
379
|
-
updateColorValue(h, ranges.h, false, delta);
|
|
380
|
-
updateColorValue(s, ranges.s, true, delta);
|
|
381
|
-
updateColorValue(l, ranges.l, true, delta);
|
|
382
394
|
}
|
|
383
395
|
});
|
package/umd/Utils/LogUtils.js
CHANGED
package/umd/Utils/MathUtils.js
CHANGED
|
@@ -23,7 +23,9 @@
|
|
|
23
23
|
exports.getRangeMax = getRangeMax;
|
|
24
24
|
exports.setRangeValue = setRangeValue;
|
|
25
25
|
exports.getDistances = getDistances;
|
|
26
|
+
exports.getDistanceSq = getDistanceSq;
|
|
26
27
|
exports.getDistance = getDistance;
|
|
28
|
+
exports.checkDistance = checkDistance;
|
|
27
29
|
exports.degToRad = degToRad;
|
|
28
30
|
exports.getParticleDirectionAngle = getParticleDirectionAngle;
|
|
29
31
|
exports.getParticleBaseVelocity = getParticleBaseVelocity;
|
|
@@ -57,10 +59,8 @@
|
|
|
57
59
|
return getRandom() * (max - min) + min;
|
|
58
60
|
}
|
|
59
61
|
function setAnimationFunctions(nextFrame, cancel) {
|
|
60
|
-
_animationLoop.nextFrame =
|
|
61
|
-
_animationLoop.cancel =
|
|
62
|
-
cancel(handle);
|
|
63
|
-
};
|
|
62
|
+
_animationLoop.nextFrame = nextFrame;
|
|
63
|
+
_animationLoop.cancel = cancel;
|
|
64
64
|
}
|
|
65
65
|
function animate(fn) {
|
|
66
66
|
return _animationLoop.nextFrame(fn);
|
|
@@ -104,11 +104,18 @@
|
|
|
104
104
|
: setRangeValue(min, max);
|
|
105
105
|
}
|
|
106
106
|
function getDistances(pointA, pointB) {
|
|
107
|
-
const dx = pointA.x - pointB.x, dy = pointA.y - pointB.y
|
|
108
|
-
return { dx: dx, dy: dy, distance: Math.
|
|
107
|
+
const dx = pointA.x - pointB.x, dy = pointA.y - pointB.y;
|
|
108
|
+
return { dx: dx, dy: dy, distance: Math.hypot(dx, dy) };
|
|
109
|
+
}
|
|
110
|
+
function getDistanceSq(pointA, pointB) {
|
|
111
|
+
const dx = pointA.x - pointB.x, dy = pointA.y - pointB.y;
|
|
112
|
+
return dx * dx + dy * dy;
|
|
109
113
|
}
|
|
110
114
|
function getDistance(pointA, pointB) {
|
|
111
|
-
return
|
|
115
|
+
return Math.sqrt(getDistanceSq(pointA, pointB));
|
|
116
|
+
}
|
|
117
|
+
function checkDistance(pointA, pointB, distance) {
|
|
118
|
+
return getDistanceSq(pointA, pointB) <= distance * distance;
|
|
112
119
|
}
|
|
113
120
|
function degToRad(degrees) {
|
|
114
121
|
return degrees * degToRadFactor;
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
options.load(sourceOptions);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
function loadParticlesOptions(
|
|
21
|
-
const options = new ParticlesOptions_js_1.ParticlesOptions(
|
|
20
|
+
function loadParticlesOptions(pluginManager, container, ...sourceOptionsArr) {
|
|
21
|
+
const options = new ParticlesOptions_js_1.ParticlesOptions(pluginManager, container);
|
|
22
22
|
loadOptions(options, ...sourceOptionsArr);
|
|
23
23
|
return options;
|
|
24
24
|
}
|
package/umd/Utils/Utils.js
CHANGED
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.getFullScreenStyle = void 0;
|
|
13
|
+
exports.memoize = memoize;
|
|
13
14
|
exports.hasMatchMedia = hasMatchMedia;
|
|
14
15
|
exports.safeDocument = safeDocument;
|
|
15
16
|
exports.safeMatchMedia = safeMatchMedia;
|
|
16
17
|
exports.safeIntersectionObserver = safeIntersectionObserver;
|
|
17
18
|
exports.safeMutationObserver = safeMutationObserver;
|
|
18
19
|
exports.isInArray = isInArray;
|
|
19
|
-
exports.loadFont = loadFont;
|
|
20
20
|
exports.arrayRandomIndex = arrayRandomIndex;
|
|
21
21
|
exports.itemFromArray = itemFromArray;
|
|
22
22
|
exports.isPointInside = isPointInside;
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
exports.cloneStyle = cloneStyle;
|
|
36
36
|
exports.manageListener = manageListener;
|
|
37
37
|
exports.getItemsFromInitializer = getItemsFromInitializer;
|
|
38
|
+
exports.getItemMapFromInitializer = getItemMapFromInitializer;
|
|
38
39
|
const MathUtils_js_1 = require("./MathUtils.js");
|
|
39
40
|
const Constants_js_1 = require("../Core/Utils/Constants.js");
|
|
40
41
|
const TypeUtils_js_1 = require("./TypeUtils.js");
|
|
@@ -45,16 +46,70 @@
|
|
|
45
46
|
const PixelMode_js_1 = require("../Enums/Modes/PixelMode.js");
|
|
46
47
|
const StartValueType_js_1 = require("../Enums/Types/StartValueType.js");
|
|
47
48
|
const Vectors_js_1 = require("../Core/Utils/Vectors.js");
|
|
48
|
-
const minRadius = 0;
|
|
49
|
-
function memoize(fn) {
|
|
50
|
-
const cache = new Map()
|
|
49
|
+
const minRadius = 0, minMemoizeSize = 0;
|
|
50
|
+
function memoize(fn, options) {
|
|
51
|
+
const cache = new Map(), maxSize = options?.maxSize, ttlMs = options?.ttlMs, keyFn = options?.keyFn, stableStringify = (obj, seen = new WeakSet()) => {
|
|
52
|
+
if (obj === null) {
|
|
53
|
+
return "null";
|
|
54
|
+
}
|
|
55
|
+
const t = typeof obj;
|
|
56
|
+
if (t === "undefined") {
|
|
57
|
+
return "undefined";
|
|
58
|
+
}
|
|
59
|
+
if (t === "number" || t === "boolean" || t === "string") {
|
|
60
|
+
return JSON.stringify(obj);
|
|
61
|
+
}
|
|
62
|
+
if (t === "function") {
|
|
63
|
+
try {
|
|
64
|
+
const fn = obj;
|
|
65
|
+
return fn.toString();
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return '"[Function]"';
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (t === "symbol") {
|
|
72
|
+
try {
|
|
73
|
+
return obj.toString();
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return '"[Symbol]"';
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (Array.isArray(obj)) {
|
|
80
|
+
return `[${obj.map(i => stableStringify(i, seen)).join(",")}]`;
|
|
81
|
+
}
|
|
82
|
+
if (seen.has(obj)) {
|
|
83
|
+
return '"[Circular]"';
|
|
84
|
+
}
|
|
85
|
+
seen.add(obj);
|
|
86
|
+
const keys = Object.keys(obj).sort();
|
|
87
|
+
return `{${keys.map(k => `${JSON.stringify(k)}:${stableStringify(obj[k], seen)}`).join(",")}}`;
|
|
88
|
+
}, defaultKeyer = (args) => stableStringify(args), makeKey = (args) => (keyFn ? keyFn(args) : defaultKeyer(args)), ensureBounds = () => {
|
|
89
|
+
if (typeof maxSize === "number" && maxSize >= minMemoizeSize) {
|
|
90
|
+
while (cache.size > maxSize) {
|
|
91
|
+
const firstKey = cache.keys().next().value;
|
|
92
|
+
if (firstKey === undefined)
|
|
93
|
+
break;
|
|
94
|
+
cache.delete(firstKey);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
};
|
|
51
98
|
return (...args) => {
|
|
52
|
-
const key =
|
|
53
|
-
if (
|
|
54
|
-
|
|
99
|
+
const key = makeKey(args), now = Date.now(), entry = cache.get(key);
|
|
100
|
+
if (entry !== undefined) {
|
|
101
|
+
if (ttlMs && now - entry.ts > ttlMs) {
|
|
102
|
+
cache.delete(key);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
cache.delete(key);
|
|
106
|
+
cache.set(key, { value: entry.value, ts: entry.ts });
|
|
107
|
+
return entry.value;
|
|
108
|
+
}
|
|
55
109
|
}
|
|
56
110
|
const result = fn(...args);
|
|
57
|
-
cache.set(key, result);
|
|
111
|
+
cache.set(key, { value: result, ts: now });
|
|
112
|
+
ensureBounds();
|
|
58
113
|
return result;
|
|
59
114
|
};
|
|
60
115
|
}
|
|
@@ -85,13 +140,6 @@
|
|
|
85
140
|
function isInArray(value, array) {
|
|
86
141
|
return value === array || ((0, TypeUtils_js_1.isArray)(array) && array.includes(value));
|
|
87
142
|
}
|
|
88
|
-
async function loadFont(font, weight) {
|
|
89
|
-
try {
|
|
90
|
-
await safeDocument().fonts.load(`${weight ?? "400"} 36px '${font ?? "Verdana"}'`);
|
|
91
|
-
}
|
|
92
|
-
catch {
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
143
|
function arrayRandomIndex(array) {
|
|
96
144
|
return Math.floor((0, MathUtils_js_1.getRandom)() * array.length);
|
|
97
145
|
}
|
|
@@ -127,33 +175,48 @@
|
|
|
127
175
|
}
|
|
128
176
|
function deepExtend(destination, ...sources) {
|
|
129
177
|
for (const source of sources) {
|
|
130
|
-
if (
|
|
178
|
+
if ((0, TypeUtils_js_1.isNull)(source)) {
|
|
131
179
|
continue;
|
|
132
180
|
}
|
|
133
181
|
if (!(0, TypeUtils_js_1.isObject)(source)) {
|
|
134
182
|
destination = source;
|
|
135
183
|
continue;
|
|
136
184
|
}
|
|
137
|
-
|
|
138
|
-
if (sourceIsArray) {
|
|
185
|
+
if (Array.isArray(source)) {
|
|
139
186
|
if (!Array.isArray(destination)) {
|
|
140
187
|
destination = [];
|
|
141
188
|
}
|
|
142
189
|
}
|
|
143
|
-
else {
|
|
144
|
-
|
|
145
|
-
|
|
190
|
+
else if (!(0, TypeUtils_js_1.isObject)(destination) || Array.isArray(destination)) {
|
|
191
|
+
destination = {};
|
|
192
|
+
}
|
|
193
|
+
const sourceKeys = Object.keys(source), dangerousKeys = new Set(["__proto__", "constructor", "prototype"]), hasNested = sourceKeys.some(k => {
|
|
194
|
+
const v = source[k];
|
|
195
|
+
return (0, TypeUtils_js_1.isObject)(v) || Array.isArray(v);
|
|
196
|
+
});
|
|
197
|
+
if (!hasNested) {
|
|
198
|
+
const sourceDict = source, destDict = destination;
|
|
199
|
+
for (const key of sourceKeys) {
|
|
200
|
+
if (dangerousKeys.has(key)) {
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
if (key in sourceDict) {
|
|
204
|
+
const v = sourceDict[key];
|
|
205
|
+
if (v !== undefined) {
|
|
206
|
+
destDict[key] = v;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
146
209
|
}
|
|
210
|
+
continue;
|
|
147
211
|
}
|
|
148
|
-
for (const key
|
|
149
|
-
if (key
|
|
212
|
+
for (const key of sourceKeys) {
|
|
213
|
+
if (dangerousKeys.has(key)) {
|
|
150
214
|
continue;
|
|
151
215
|
}
|
|
152
|
-
const sourceDict = source, value = sourceDict[key]
|
|
153
|
-
destDict[key] =
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
: deepExtend(destDict[key], value);
|
|
216
|
+
const sourceDict = source, destDict = destination, value = sourceDict[key];
|
|
217
|
+
destDict[key] = Array.isArray(value)
|
|
218
|
+
? value.map(v => deepExtend(undefined, v))
|
|
219
|
+
: deepExtend(destDict[key], value);
|
|
157
220
|
}
|
|
158
221
|
}
|
|
159
222
|
return destination;
|
|
@@ -215,6 +278,8 @@
|
|
|
215
278
|
case AnimationMode_js_1.AnimationMode.random:
|
|
216
279
|
res.status = (0, MathUtils_js_1.getRandom)() >= Constants_js_1.half ? AnimationStatus_js_1.AnimationStatus.increasing : AnimationStatus_js_1.AnimationStatus.decreasing;
|
|
217
280
|
break;
|
|
281
|
+
default:
|
|
282
|
+
break;
|
|
218
283
|
}
|
|
219
284
|
const autoStatus = animationOptions.mode === AnimationMode_js_1.AnimationMode.auto;
|
|
220
285
|
switch (animationOptions.startValue) {
|
|
@@ -280,6 +345,8 @@
|
|
|
280
345
|
particle.destroy();
|
|
281
346
|
}
|
|
282
347
|
break;
|
|
348
|
+
default:
|
|
349
|
+
break;
|
|
283
350
|
}
|
|
284
351
|
}
|
|
285
352
|
function updateAnimation(particle, data, changeDirection, destroyType, delta) {
|
|
@@ -327,6 +394,9 @@
|
|
|
327
394
|
else {
|
|
328
395
|
data.value -= velocity;
|
|
329
396
|
}
|
|
397
|
+
break;
|
|
398
|
+
default:
|
|
399
|
+
break;
|
|
330
400
|
}
|
|
331
401
|
if (data.velocity && decay !== identity) {
|
|
332
402
|
data.velocity *= decay;
|
|
@@ -338,7 +408,7 @@
|
|
|
338
408
|
const clonedStyle = safeDocument().createElement("div").style;
|
|
339
409
|
for (const key in style) {
|
|
340
410
|
const styleKey = style[key];
|
|
341
|
-
if (!
|
|
411
|
+
if (!(key in style) || (0, TypeUtils_js_1.isNull)(styleKey)) {
|
|
342
412
|
continue;
|
|
343
413
|
}
|
|
344
414
|
const styleValue = style.getPropertyValue?.(styleKey);
|
|
@@ -346,11 +416,11 @@
|
|
|
346
416
|
continue;
|
|
347
417
|
}
|
|
348
418
|
const stylePriority = style.getPropertyPriority?.(styleKey);
|
|
349
|
-
if (
|
|
350
|
-
clonedStyle.setProperty(styleKey, styleValue);
|
|
419
|
+
if (stylePriority) {
|
|
420
|
+
clonedStyle.setProperty(styleKey, styleValue, stylePriority);
|
|
351
421
|
}
|
|
352
422
|
else {
|
|
353
|
-
clonedStyle.setProperty(styleKey, styleValue
|
|
423
|
+
clonedStyle.setProperty(styleKey, styleValue);
|
|
354
424
|
}
|
|
355
425
|
}
|
|
356
426
|
return clonedStyle;
|
|
@@ -402,4 +472,13 @@
|
|
|
402
472
|
}
|
|
403
473
|
return res;
|
|
404
474
|
}
|
|
475
|
+
async function getItemMapFromInitializer(container, map, initializers, force = false) {
|
|
476
|
+
let res = map.get(container);
|
|
477
|
+
if (!res || force) {
|
|
478
|
+
const entries = await Promise.all([...initializers.entries()].map(([key, initializer]) => initializer(container).then(item => [key, item])));
|
|
479
|
+
res = new Map(entries);
|
|
480
|
+
map.set(container, res);
|
|
481
|
+
}
|
|
482
|
+
return res;
|
|
483
|
+
}
|
|
405
484
|
});
|
package/umd/exports.js
CHANGED
|
@@ -18,13 +18,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
18
18
|
if (v !== undefined) module.exports = v;
|
|
19
19
|
}
|
|
20
20
|
else if (typeof define === "function" && define.amd) {
|
|
21
|
-
define(["require", "exports", "./Core/Utils/Constants.js", "./Core/Utils/
|
|
21
|
+
define(["require", "exports", "./Core/Utils/Constants.js", "./Core/Utils/Ranges.js", "./Core/Utils/Vectors.js", "./Enums/Directions/MoveDirection.js", "./Enums/Directions/RotateDirection.js", "./Enums/Directions/OutModeDirection.js", "./Enums/Modes/AnimationMode.js", "./Enums/Modes/LimitMode.js", "./Enums/Modes/OutMode.js", "./Enums/Modes/PixelMode.js", "./Enums/Types/AlterType.js", "./Enums/Types/DestroyType.js", "./Enums/Types/GradientType.js", "./Enums/Types/ParticleOutType.js", "./Enums/Types/StartValueType.js", "./Enums/Types/EasingType.js", "./Enums/Types/EventType.js", "./Enums/AnimationStatus.js", "./Options/Classes/AnimatableColor.js", "./Options/Classes/AnimationOptions.js", "./Options/Classes/Background/Background.js", "./Options/Classes/ColorAnimation.js", "./Options/Classes/FullScreen/FullScreen.js", "./Options/Classes/HslAnimation.js", "./Options/Classes/Options.js", "./Options/Classes/OptionsColor.js", "./Options/Classes/Particles/Bounce/ParticlesBounce.js", "./Options/Classes/Particles/Bounce/ParticlesBounceFactor.js", "./Options/Classes/Particles/ParticlesOptions.js", "./Options/Classes/Particles/Fill.js", "./Options/Classes/Particles/Stroke.js", "./Options/Classes/Particles/Move/Move.js", "./Options/Classes/Particles/Move/MoveAngle.js", "./Options/Classes/Particles/Move/MoveCenter.js", "./Options/Classes/Particles/Move/MoveGravity.js", "./Options/Classes/Particles/Move/OutModes.js", "./Options/Classes/Particles/Move/Path/MovePath.js", "./Options/Classes/Particles/Move/Spin.js", "./Options/Classes/Particles/Number/ParticlesNumber.js", "./Options/Classes/Particles/Number/ParticlesNumberLimit.js", "./Options/Classes/Particles/Number/ParticlesDensity.js", "./Options/Classes/Particles/Opacity/Opacity.js", "./Options/Classes/Particles/Opacity/OpacityAnimation.js", "./Options/Classes/Particles/Shape/Shape.js", "./Options/Classes/Particles/Size/Size.js", "./Options/Classes/Particles/Size/SizeAnimation.js", "./Options/Classes/Particles/ZIndex/ZIndex.js", "./Options/Classes/ResizeEvent.js", "./Options/Classes/ValueWithRandom.js", "./Utils/CanvasUtils.js", "./Utils/ColorUtils.js", "./Utils/LogUtils.js", "./Utils/MathUtils.js", "./Utils/OptionsUtils.js", "./Utils/Utils.js", "./Utils/TypeUtils.js"], factory);
|
|
22
22
|
}
|
|
23
23
|
})(function (require, exports) {
|
|
24
24
|
"use strict";
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
__exportStar(require("./Core/Utils/Constants.js"), exports);
|
|
27
|
-
__exportStar(require("./Core/Utils/Point.js"), exports);
|
|
28
27
|
__exportStar(require("./Core/Utils/Ranges.js"), exports);
|
|
29
28
|
__exportStar(require("./Core/Utils/Vectors.js"), exports);
|
|
30
29
|
__exportStar(require("./Enums/Directions/MoveDirection.js"), exports);
|
|
@@ -53,8 +52,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
53
52
|
__exportStar(require("./Options/Classes/Particles/Bounce/ParticlesBounce.js"), exports);
|
|
54
53
|
__exportStar(require("./Options/Classes/Particles/Bounce/ParticlesBounceFactor.js"), exports);
|
|
55
54
|
__exportStar(require("./Options/Classes/Particles/ParticlesOptions.js"), exports);
|
|
55
|
+
__exportStar(require("./Options/Classes/Particles/Fill.js"), exports);
|
|
56
56
|
__exportStar(require("./Options/Classes/Particles/Stroke.js"), exports);
|
|
57
|
-
__exportStar(require("./Options/Classes/Particles/Move/MoveAttract.js"), exports);
|
|
58
57
|
__exportStar(require("./Options/Classes/Particles/Move/Move.js"), exports);
|
|
59
58
|
__exportStar(require("./Options/Classes/Particles/Move/MoveAngle.js"), exports);
|
|
60
59
|
__exportStar(require("./Options/Classes/Particles/Move/MoveCenter.js"), exports);
|