@tsparticles/engine 3.0.0-alpha.0 → 3.0.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.
- package/README.md +246 -211
- package/browser/Core/Canvas.js +271 -241
- package/browser/Core/Container.js +90 -106
- package/browser/Core/Engine.js +271 -0
- package/browser/Core/Particle.js +158 -162
- package/browser/Core/Particles.js +148 -134
- package/browser/Core/Retina.js +15 -13
- package/browser/Core/Utils/Circle.js +10 -6
- package/browser/Core/Utils/Constants.js +4 -3
- package/browser/Core/Utils/EventListeners.js +259 -220
- package/browser/Core/Utils/InteractionManager.js +6 -16
- package/browser/Core/Utils/QuadTree.js +14 -20
- package/browser/Core/Utils/Vector3d.js +17 -9
- package/browser/Options/Classes/AnimatableColor.js +2 -1
- package/browser/Options/Classes/AnimationOptions.js +7 -2
- package/browser/Options/Classes/BackgroundMask/BackgroundMask.js +2 -1
- package/browser/Options/Classes/ColorAnimation.js +4 -0
- package/browser/Options/Classes/Interactivity/Events/DivEvent.js +0 -24
- package/browser/Options/Classes/Interactivity/Events/Events.js +5 -24
- package/browser/Options/Classes/Interactivity/Interactivity.js +1 -8
- package/browser/Options/Classes/Interactivity/Modes/Modes.js +11 -8
- package/browser/Options/Classes/ManualParticle.js +5 -5
- package/browser/Options/Classes/Options.js +19 -39
- package/browser/Options/Classes/OptionsColor.js +3 -2
- package/browser/Options/Classes/Particles/Collisions/Collisions.js +5 -0
- package/browser/Options/Classes/Particles/Move/Move.js +11 -41
- package/browser/Options/Classes/Particles/Move/MoveAttract.js +9 -20
- package/browser/Options/Classes/Particles/Move/MoveTrail.js +2 -8
- package/browser/Options/Classes/Particles/Move/OutModes.js +4 -5
- package/browser/Options/Classes/Particles/Move/Spin.js +3 -1
- package/browser/Options/Classes/Particles/Number/ParticlesDensity.js +2 -21
- package/browser/Options/Classes/Particles/Number/ParticlesNumber.js +2 -9
- package/browser/Options/Classes/Particles/Opacity/Opacity.js +11 -7
- package/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js +0 -9
- package/browser/Options/Classes/Particles/ParticlesOptions.js +6 -11
- package/browser/Options/Classes/Particles/Shape/Shape.js +9 -2
- package/browser/Options/Classes/Particles/Size/Size.js +11 -7
- package/browser/Options/Classes/Particles/Size/SizeAnimation.js +0 -9
- package/browser/Options/Classes/ValueWithRandom.js +4 -17
- package/browser/Utils/CanvasUtils.js +18 -54
- package/browser/Utils/ColorUtils.js +17 -19
- package/browser/Utils/EventDispatcher.js +7 -6
- package/browser/Utils/HslColorManager.js +2 -4
- package/browser/Utils/NumberUtils.js +41 -45
- package/browser/Utils/RgbColorManager.js +2 -4
- package/browser/Utils/Utils.js +150 -59
- package/browser/bundle.js +4 -96
- package/browser/export-types.js +97 -0
- package/browser/exports.js +89 -0
- package/browser/index.js +8 -198
- package/browser/init.js +12 -0
- package/cjs/Core/Canvas.js +269 -239
- package/cjs/Core/Container.js +90 -106
- package/cjs/Core/Engine.js +275 -0
- package/cjs/Core/Particle.js +157 -161
- package/cjs/Core/Particles.js +148 -134
- package/cjs/Core/Retina.js +15 -13
- package/cjs/Core/Utils/Circle.js +10 -6
- package/cjs/Core/Utils/Constants.js +5 -4
- package/cjs/Core/Utils/EventListeners.js +258 -219
- package/cjs/Core/Utils/InteractionManager.js +6 -16
- package/cjs/Core/Utils/QuadTree.js +14 -20
- package/cjs/Core/Utils/Vector3d.js +17 -9
- package/cjs/Options/Classes/AnimatableColor.js +2 -1
- package/cjs/Options/Classes/AnimationOptions.js +7 -2
- package/cjs/Options/Classes/BackgroundMask/BackgroundMask.js +2 -1
- package/cjs/Options/Classes/ColorAnimation.js +4 -0
- package/cjs/Options/Classes/Interactivity/Events/DivEvent.js +0 -24
- package/cjs/Options/Classes/Interactivity/Events/Events.js +5 -24
- package/cjs/Options/Classes/Interactivity/Interactivity.js +1 -8
- package/cjs/Options/Classes/Interactivity/Modes/Modes.js +11 -8
- package/cjs/Options/Classes/ManualParticle.js +5 -5
- package/cjs/Options/Classes/Options.js +18 -38
- package/cjs/Options/Classes/OptionsColor.js +3 -2
- package/cjs/Options/Classes/Particles/Collisions/Collisions.js +5 -0
- package/cjs/Options/Classes/Particles/Move/Move.js +11 -41
- package/cjs/Options/Classes/Particles/Move/MoveAttract.js +9 -20
- package/cjs/Options/Classes/Particles/Move/MoveTrail.js +2 -8
- package/cjs/Options/Classes/Particles/Move/OutModes.js +4 -5
- package/cjs/Options/Classes/Particles/Move/Spin.js +3 -1
- package/cjs/Options/Classes/Particles/Number/ParticlesDensity.js +2 -21
- package/cjs/Options/Classes/Particles/Number/ParticlesNumber.js +2 -9
- package/cjs/Options/Classes/Particles/Opacity/Opacity.js +10 -6
- package/cjs/Options/Classes/Particles/Opacity/OpacityAnimation.js +0 -9
- package/cjs/Options/Classes/Particles/ParticlesOptions.js +6 -11
- package/cjs/Options/Classes/Particles/Shape/Shape.js +9 -2
- package/cjs/Options/Classes/Particles/Size/Size.js +11 -7
- package/cjs/Options/Classes/Particles/Size/SizeAnimation.js +0 -9
- package/cjs/Options/Classes/ValueWithRandom.js +4 -17
- package/cjs/Utils/CanvasUtils.js +21 -58
- package/cjs/Utils/ColorUtils.js +16 -18
- package/cjs/Utils/EventDispatcher.js +7 -6
- package/cjs/Utils/HslColorManager.js +2 -4
- package/cjs/Utils/NumberUtils.js +41 -45
- package/cjs/Utils/RgbColorManager.js +2 -4
- package/cjs/Utils/Utils.js +163 -63
- package/cjs/bundle.js +4 -96
- package/cjs/export-types.js +113 -0
- package/cjs/exports.js +105 -0
- package/cjs/index.js +8 -198
- package/cjs/init.js +16 -0
- package/esm/Core/Canvas.js +271 -241
- package/esm/Core/Container.js +90 -106
- package/esm/Core/Engine.js +271 -0
- package/esm/Core/Particle.js +158 -162
- package/esm/Core/Particles.js +148 -134
- package/esm/Core/Retina.js +15 -13
- package/esm/Core/Utils/Circle.js +10 -6
- package/esm/Core/Utils/Constants.js +4 -3
- package/esm/Core/Utils/EventListeners.js +259 -220
- package/esm/Core/Utils/InteractionManager.js +6 -16
- package/esm/Core/Utils/QuadTree.js +14 -20
- package/esm/Core/Utils/Vector3d.js +17 -9
- package/esm/Options/Classes/AnimatableColor.js +2 -1
- package/esm/Options/Classes/AnimationOptions.js +7 -2
- package/esm/Options/Classes/BackgroundMask/BackgroundMask.js +2 -1
- package/esm/Options/Classes/ColorAnimation.js +4 -0
- package/esm/Options/Classes/Interactivity/Events/DivEvent.js +0 -24
- package/esm/Options/Classes/Interactivity/Events/Events.js +5 -24
- package/esm/Options/Classes/Interactivity/Interactivity.js +1 -8
- package/esm/Options/Classes/Interactivity/Modes/Modes.js +11 -8
- package/esm/Options/Classes/ManualParticle.js +5 -5
- package/esm/Options/Classes/Options.js +19 -39
- package/esm/Options/Classes/OptionsColor.js +3 -2
- package/esm/Options/Classes/Particles/Collisions/Collisions.js +5 -0
- package/esm/Options/Classes/Particles/Move/Move.js +11 -41
- package/esm/Options/Classes/Particles/Move/MoveAttract.js +9 -20
- package/esm/Options/Classes/Particles/Move/MoveTrail.js +2 -8
- package/esm/Options/Classes/Particles/Move/OutModes.js +4 -5
- package/esm/Options/Classes/Particles/Move/Spin.js +3 -1
- package/esm/Options/Classes/Particles/Number/ParticlesDensity.js +2 -21
- package/esm/Options/Classes/Particles/Number/ParticlesNumber.js +2 -9
- package/esm/Options/Classes/Particles/Opacity/Opacity.js +11 -7
- package/esm/Options/Classes/Particles/Opacity/OpacityAnimation.js +0 -9
- package/esm/Options/Classes/Particles/ParticlesOptions.js +6 -11
- package/esm/Options/Classes/Particles/Shape/Shape.js +9 -2
- package/esm/Options/Classes/Particles/Size/Size.js +11 -7
- package/esm/Options/Classes/Particles/Size/SizeAnimation.js +0 -9
- package/esm/Options/Classes/ValueWithRandom.js +4 -17
- package/esm/Utils/CanvasUtils.js +18 -54
- package/esm/Utils/ColorUtils.js +17 -19
- package/esm/Utils/EventDispatcher.js +7 -6
- package/esm/Utils/HslColorManager.js +2 -4
- package/esm/Utils/NumberUtils.js +41 -45
- package/esm/Utils/RgbColorManager.js +2 -4
- package/esm/Utils/Utils.js +150 -59
- package/esm/bundle.js +4 -96
- package/esm/export-types.js +97 -0
- package/esm/exports.js +89 -0
- package/esm/index.js +8 -198
- package/esm/init.js +12 -0
- package/package.json +17 -2
- package/report.html +4 -4
- package/scripts/install.js +90 -33
- package/tsparticles.engine.js +1848 -1961
- package/tsparticles.engine.min.js +1 -1
- package/tsparticles.engine.min.js.LICENSE.txt +1 -10
- package/types/Core/Canvas.d.ts +20 -16
- package/types/Core/Container.d.ts +10 -14
- package/types/Core/Engine.d.ts +71 -0
- package/types/Core/Interfaces/IContainerPlugin.d.ts +2 -0
- package/types/Core/Interfaces/ICoordinates.d.ts +5 -3
- package/types/Core/Interfaces/IDimension.d.ts +4 -0
- package/types/Core/Interfaces/IMovePathGenerator.d.ts +2 -1
- package/types/Core/Interfaces/IParticleUpdater.d.ts +0 -2
- package/types/Core/Interfaces/IParticleValueAnimation.d.ts +2 -0
- package/types/Core/Interfaces/IPlugin.d.ts +4 -3
- package/types/Core/Particle.d.ts +7 -7
- package/types/Core/Particles.d.ts +14 -10
- package/types/Core/Utils/Constants.d.ts +4 -3
- package/types/Core/Utils/EventListeners.d.ts +20 -14
- package/types/Core/Utils/InteractionManager.d.ts +1 -1
- package/types/Core/Utils/QuadTree.d.ts +2 -5
- package/types/Core/Utils/Vector3d.d.ts +2 -1
- package/types/Enums/Modes/AnimationMode.d.ts +6 -0
- package/types/Enums/Modes/{SizeMode.d.ts → PixelMode.d.ts} +1 -1
- package/types/Options/Classes/AnimationOptions.d.ts +3 -1
- package/types/Options/Classes/ColorAnimation.d.ts +1 -0
- package/types/Options/Classes/Interactivity/Events/DivEvent.d.ts +0 -6
- package/types/Options/Classes/Interactivity/Events/Events.d.ts +0 -6
- package/types/Options/Classes/Interactivity/Interactivity.d.ts +1 -3
- package/types/Options/Classes/Interactivity/Modes/Modes.d.ts +1 -1
- package/types/Options/Classes/ManualParticle.d.ts +2 -2
- package/types/Options/Classes/Options.d.ts +5 -12
- package/types/Options/Classes/Particles/Collisions/Collisions.d.ts +2 -0
- package/types/Options/Classes/Particles/Move/Move.d.ts +0 -11
- package/types/Options/Classes/Particles/Move/MoveAttract.d.ts +0 -4
- package/types/Options/Classes/Particles/Move/MoveCenter.d.ts +2 -2
- package/types/Options/Classes/Particles/Move/MoveTrail.d.ts +0 -3
- package/types/Options/Classes/Particles/Move/Spin.d.ts +2 -2
- package/types/Options/Classes/Particles/Number/ParticlesDensity.d.ts +0 -6
- package/types/Options/Classes/Particles/Number/ParticlesNumber.d.ts +0 -2
- package/types/Options/Classes/Particles/Opacity/Opacity.d.ts +4 -4
- package/types/Options/Classes/Particles/Opacity/OpacityAnimation.d.ts +0 -2
- package/types/Options/Classes/Particles/ParticlesOptions.d.ts +1 -1
- package/types/Options/Classes/Particles/Shape/Shape.d.ts +2 -0
- package/types/Options/Classes/Particles/Size/Size.d.ts +4 -4
- package/types/Options/Classes/Particles/Size/SizeAnimation.d.ts +0 -2
- package/types/Options/Classes/Responsive.d.ts +3 -3
- package/types/Options/Classes/Theme/Theme.d.ts +2 -2
- package/types/Options/Classes/ValueWithRandom.d.ts +2 -6
- package/types/Options/Interfaces/IAnimation.d.ts +3 -1
- package/types/Options/Interfaces/IManualParticle.d.ts +2 -2
- package/types/Options/Interfaces/IOptions.d.ts +1 -4
- package/types/Options/Interfaces/IResponsive.d.ts +4 -3
- package/types/Options/Interfaces/Interactivity/Events/IDivEvent.d.ts +0 -3
- package/types/Options/Interfaces/Interactivity/Events/IEvents.d.ts +0 -3
- package/types/Options/Interfaces/Interactivity/IInteractivity.d.ts +0 -1
- package/types/Options/Interfaces/Interactivity/Modes/IModeDiv.d.ts +0 -1
- package/types/Options/Interfaces/Particles/Collisions/ICollisions.d.ts +2 -0
- package/types/Options/Interfaces/Particles/IStroke.d.ts +2 -1
- package/types/Options/Interfaces/Particles/Move/IMove.d.ts +0 -5
- package/types/Options/Interfaces/Particles/Move/IMoveAttract.d.ts +0 -2
- package/types/Options/Interfaces/Particles/Move/IMoveTrail.d.ts +0 -2
- package/types/Options/Interfaces/Particles/Move/ISpin.d.ts +2 -2
- package/types/Options/Interfaces/Particles/Number/IParticlesDensity.d.ts +0 -3
- package/types/Options/Interfaces/Particles/Number/IParticlesNumber.d.ts +0 -1
- package/types/Options/Interfaces/Particles/Opacity/IOpacity.d.ts +0 -1
- package/types/Options/Interfaces/Particles/Opacity/IOpacityAnimation.d.ts +0 -1
- package/types/Options/Interfaces/Particles/Shape/IShape.d.ts +2 -0
- package/types/Options/Interfaces/Particles/Size/ISize.d.ts +0 -1
- package/types/Options/Interfaces/Particles/Size/ISizeAnimation.d.ts +0 -1
- package/types/Options/Interfaces/Theme/ITheme.d.ts +3 -2
- package/types/Types/ExportResult.d.ts +5 -0
- package/types/Utils/CanvasUtils.d.ts +2 -5
- package/types/Utils/OptionsUtils.d.ts +1 -1
- package/types/Utils/Utils.d.ts +22 -4
- package/types/bundle.d.ts +2 -90
- package/types/export-types.d.ts +107 -0
- package/types/exports.d.ts +89 -0
- package/types/index.d.ts +3 -203
- package/types/init.d.ts +2 -0
- package/umd/Core/Canvas.js +269 -239
- package/umd/Core/Container.js +91 -107
- package/umd/Core/Engine.js +285 -0
- package/umd/Core/Particle.js +158 -162
- package/umd/Core/Particles.js +149 -135
- package/umd/Core/Retina.js +15 -13
- package/umd/Core/Utils/Circle.js +11 -7
- package/umd/Core/Utils/Constants.js +5 -4
- package/umd/Core/Utils/EventListeners.js +258 -219
- package/umd/Core/Utils/InteractionManager.js +6 -16
- package/umd/Core/Utils/QuadTree.js +14 -20
- package/umd/Core/Utils/Vector3d.js +18 -10
- package/umd/Options/Classes/AnimatableColor.js +3 -2
- package/umd/Options/Classes/AnimationOptions.js +7 -2
- package/umd/Options/Classes/BackgroundMask/BackgroundMask.js +3 -2
- package/umd/Options/Classes/ColorAnimation.js +4 -0
- package/umd/Options/Classes/Interactivity/Events/DivEvent.js +1 -25
- package/umd/Options/Classes/Interactivity/Events/Events.js +6 -25
- package/umd/Options/Classes/Interactivity/Interactivity.js +1 -8
- package/umd/Options/Classes/Interactivity/Modes/Modes.js +11 -8
- package/umd/Options/Classes/ManualParticle.js +5 -5
- package/umd/Options/Classes/Options.js +18 -38
- package/umd/Options/Classes/OptionsColor.js +4 -3
- package/umd/Options/Classes/Particles/Collisions/Collisions.js +6 -1
- package/umd/Options/Classes/Particles/Move/Move.js +12 -42
- package/umd/Options/Classes/Particles/Move/MoveAttract.js +9 -20
- package/umd/Options/Classes/Particles/Move/MoveTrail.js +2 -8
- package/umd/Options/Classes/Particles/Move/OutModes.js +4 -5
- package/umd/Options/Classes/Particles/Move/Spin.js +3 -1
- package/umd/Options/Classes/Particles/Number/ParticlesDensity.js +2 -21
- package/umd/Options/Classes/Particles/Number/ParticlesNumber.js +2 -9
- package/umd/Options/Classes/Particles/Opacity/Opacity.js +10 -6
- package/umd/Options/Classes/Particles/Opacity/OpacityAnimation.js +0 -9
- package/umd/Options/Classes/Particles/ParticlesOptions.js +6 -11
- package/umd/Options/Classes/Particles/Shape/Shape.js +9 -2
- package/umd/Options/Classes/Particles/Size/Size.js +12 -8
- package/umd/Options/Classes/Particles/Size/SizeAnimation.js +0 -9
- package/umd/Options/Classes/ValueWithRandom.js +5 -18
- package/umd/Utils/CanvasUtils.js +21 -58
- package/umd/Utils/ColorUtils.js +16 -18
- package/umd/Utils/EventDispatcher.js +7 -6
- package/umd/Utils/HslColorManager.js +2 -4
- package/umd/Utils/NumberUtils.js +42 -46
- package/umd/Utils/RgbColorManager.js +2 -4
- package/umd/Utils/Utils.js +163 -63
- package/umd/bundle.js +5 -97
- package/umd/export-types.js +123 -0
- package/umd/exports.js +115 -0
- package/umd/index.js +9 -199
- package/umd/init.js +26 -0
- package/browser/Core/Utils/FrameManager.js +0 -42
- package/browser/Core/Utils/Plugins.js +0 -112
- package/browser/Options/Interfaces/Particles/Shape/IShapeValues.js +0 -1
- package/browser/Options/Interfaces/Particles/Shape/IStarShape.js +0 -1
- package/browser/engine.js +0 -175
- package/cjs/Core/Utils/FrameManager.js +0 -46
- package/cjs/Core/Utils/Plugins.js +0 -116
- package/cjs/Options/Interfaces/Particles/Shape/ICharacterShape.js +0 -2
- package/cjs/Options/Interfaces/Particles/Shape/IImageShape.js +0 -2
- package/cjs/Options/Interfaces/Particles/Shape/IPolygonShape.js +0 -2
- package/cjs/Options/Interfaces/Particles/Shape/IShapeValues.js +0 -17
- package/cjs/Options/Interfaces/Particles/Shape/IStarShape.js +0 -2
- package/cjs/engine.js +0 -179
- package/esm/Core/Interfaces/IParticleOverride.js +0 -1
- package/esm/Core/Interfaces/IParticlesMover.js +0 -1
- package/esm/Core/Utils/FrameManager.js +0 -42
- package/esm/Core/Utils/Plugins.js +0 -112
- package/esm/Enums/Modes/SizeMode.js +0 -1
- package/esm/Options/Interfaces/Particles/Shape/ICharacterShape.js +0 -1
- package/esm/Options/Interfaces/Particles/Shape/IImageShape.js +0 -1
- package/esm/Options/Interfaces/Particles/Shape/IPolygonShape.js +0 -1
- package/esm/Options/Interfaces/Particles/Shape/IShapeValues.js +0 -1
- package/esm/Options/Interfaces/Particles/Shape/IStarShape.js +0 -1
- package/esm/engine.js +0 -175
- package/types/Core/Interfaces/IParticleOverride.d.ts +0 -6
- package/types/Core/Interfaces/IParticlesMover.d.ts +0 -7
- package/types/Core/Utils/FrameManager.d.ts +0 -6
- package/types/Core/Utils/Plugins.d.ts +0 -51
- package/types/Options/Interfaces/Particles/Shape/ICharacterShape.d.ts +0 -8
- package/types/Options/Interfaces/Particles/Shape/IImageShape.d.ts +0 -8
- package/types/Options/Interfaces/Particles/Shape/IPolygonShape.d.ts +0 -5
- package/types/Options/Interfaces/Particles/Shape/IShapeValues.d.ts +0 -1
- package/types/Options/Interfaces/Particles/Shape/IStarShape.d.ts +0 -6
- package/types/engine.d.ts +0 -39
- package/umd/Core/Utils/FrameManager.js +0 -56
- package/umd/Core/Utils/Plugins.js +0 -126
- package/umd/Options/Interfaces/Particles/Shape/ICharacterShape.js +0 -12
- package/umd/Options/Interfaces/Particles/Shape/IImageShape.js +0 -12
- package/umd/Options/Interfaces/Particles/Shape/IPolygonShape.js +0 -12
- package/umd/Options/Interfaces/Particles/Shape/IShapeValues.js +0 -27
- package/umd/Options/Interfaces/Particles/Shape/IStarShape.js +0 -12
- package/umd/engine.js +0 -189
- /package/browser/{Core/Interfaces/IParticleOverride.js → Enums/Modes/AnimationMode.js} +0 -0
- /package/browser/{Core/Interfaces/IParticlesMover.js → Enums/Modes/PixelMode.js} +0 -0
- /package/browser/{Enums/Modes/SizeMode.js → Types/ExportResult.js} +0 -0
- /package/cjs/{Core/Interfaces/IParticleOverride.js → Enums/Modes/AnimationMode.js} +0 -0
- /package/cjs/{Core/Interfaces/IParticlesMover.js → Enums/Modes/PixelMode.js} +0 -0
- /package/cjs/{Enums/Modes/SizeMode.js → Types/ExportResult.js} +0 -0
- /package/{browser/Options/Interfaces/Particles/Shape/ICharacterShape.js → esm/Enums/Modes/AnimationMode.js} +0 -0
- /package/{browser/Options/Interfaces/Particles/Shape/IImageShape.js → esm/Enums/Modes/PixelMode.js} +0 -0
- /package/{browser/Options/Interfaces/Particles/Shape/IPolygonShape.js → esm/Types/ExportResult.js} +0 -0
- /package/umd/{Core/Interfaces/IParticleOverride.js → Enums/Modes/AnimationMode.js} +0 -0
- /package/umd/{Core/Interfaces/IParticlesMover.js → Enums/Modes/PixelMode.js} +0 -0
- /package/umd/{Enums/Modes/SizeMode.js → Types/ExportResult.js} +0 -0
|
@@ -15,16 +15,17 @@
|
|
|
15
15
|
this._listeners = new Map();
|
|
16
16
|
}
|
|
17
17
|
addEventListener(type, listener) {
|
|
18
|
-
var _a;
|
|
19
18
|
this.removeEventListener(type, listener);
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
let arr = this._listeners.get(type);
|
|
20
|
+
if (!arr) {
|
|
21
|
+
arr = [];
|
|
22
|
+
this._listeners.set(type, arr);
|
|
22
23
|
}
|
|
23
|
-
|
|
24
|
+
arr.push(listener);
|
|
24
25
|
}
|
|
25
26
|
dispatchEvent(type, args) {
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
const listeners = this._listeners.get(type);
|
|
28
|
+
listeners && listeners.forEach((handler) => handler(args));
|
|
28
29
|
}
|
|
29
30
|
hasEventListener(type) {
|
|
30
31
|
return !!this._listeners.get(type);
|
|
@@ -18,15 +18,13 @@
|
|
|
18
18
|
this.stringPrefix = "hsl";
|
|
19
19
|
}
|
|
20
20
|
handleColor(color) {
|
|
21
|
-
|
|
22
|
-
const colorValue = color.value, hslColor = (_a = colorValue.hsl) !== null && _a !== void 0 ? _a : color.value;
|
|
21
|
+
const colorValue = color.value, hslColor = colorValue.hsl ?? color.value;
|
|
23
22
|
if (hslColor.h !== undefined && hslColor.s !== undefined && hslColor.l !== undefined) {
|
|
24
23
|
return (0, ColorUtils_1.hslToRgb)(hslColor);
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
26
|
handleRangeColor(color) {
|
|
28
|
-
|
|
29
|
-
const colorValue = color.value, hslColor = (_a = colorValue.hsl) !== null && _a !== void 0 ? _a : color.value;
|
|
27
|
+
const colorValue = color.value, hslColor = colorValue.hsl ?? color.value;
|
|
30
28
|
if (hslColor.h !== undefined && hslColor.l !== undefined) {
|
|
31
29
|
return (0, ColorUtils_1.hslToRgb)({
|
|
32
30
|
h: (0, NumberUtils_1.getRangeValue)(hslColor.h),
|
package/umd/Utils/NumberUtils.js
CHANGED
|
@@ -4,19 +4,21 @@
|
|
|
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/Vector"], factory);
|
|
7
|
+
define(["require", "exports", "./Utils", "../Core/Utils/Vector"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.parseAlpha = exports.calcExactPositionOrRandomFromSizeRanged = exports.calcExactPositionOrRandomFromSize = exports.calcPositionOrRandomFromSizeRanged = exports.calcPositionOrRandomFromSize = exports.calcPositionFromSize = exports.collisionVelocity = exports.getParticleBaseVelocity = exports.getParticleDirectionAngle = exports.getDistance = exports.getDistances = exports.getValue = exports.setRangeValue = exports.getRangeMax = exports.getRangeMin = exports.getRangeValue = exports.randomInRange = exports.mix = exports.clamp = exports.getRandom = exports.setRandom = exports.getEasing = exports.addEasing = void 0;
|
|
13
|
+
const Utils_1 = require("./Utils");
|
|
13
14
|
const Vector_1 = require("../Core/Utils/Vector");
|
|
14
15
|
let _random = Math.random;
|
|
15
16
|
const easings = new Map();
|
|
16
17
|
function addEasing(name, easing) {
|
|
17
|
-
if (
|
|
18
|
-
|
|
18
|
+
if (easings.get(name)) {
|
|
19
|
+
return;
|
|
19
20
|
}
|
|
21
|
+
easings.set(name, easing);
|
|
20
22
|
}
|
|
21
23
|
exports.addEasing = addEasing;
|
|
22
24
|
function getEasing(name) {
|
|
@@ -49,19 +51,19 @@
|
|
|
49
51
|
}
|
|
50
52
|
exports.randomInRange = randomInRange;
|
|
51
53
|
function getRangeValue(value) {
|
|
52
|
-
return
|
|
54
|
+
return (0, Utils_1.isNumber)(value) ? value : randomInRange(value);
|
|
53
55
|
}
|
|
54
56
|
exports.getRangeValue = getRangeValue;
|
|
55
57
|
function getRangeMin(value) {
|
|
56
|
-
return
|
|
58
|
+
return (0, Utils_1.isNumber)(value) ? value : value.min;
|
|
57
59
|
}
|
|
58
60
|
exports.getRangeMin = getRangeMin;
|
|
59
61
|
function getRangeMax(value) {
|
|
60
|
-
return
|
|
62
|
+
return (0, Utils_1.isNumber)(value) ? value : value.max;
|
|
61
63
|
}
|
|
62
64
|
exports.getRangeMax = getRangeMax;
|
|
63
65
|
function setRangeValue(source, value) {
|
|
64
|
-
if (source === value || (value === undefined &&
|
|
66
|
+
if (source === value || (value === undefined && (0, Utils_1.isNumber)(source))) {
|
|
65
67
|
return source;
|
|
66
68
|
}
|
|
67
69
|
const min = getRangeMin(source), max = getRangeMax(source);
|
|
@@ -74,7 +76,7 @@
|
|
|
74
76
|
}
|
|
75
77
|
exports.setRangeValue = setRangeValue;
|
|
76
78
|
function getValue(options) {
|
|
77
|
-
const random = options.random, { enable, minimumValue } =
|
|
79
|
+
const random = options.random, { enable, minimumValue } = (0, Utils_1.isBoolean)(random)
|
|
78
80
|
? {
|
|
79
81
|
enable: random,
|
|
80
82
|
minimumValue: 0,
|
|
@@ -93,34 +95,32 @@
|
|
|
93
95
|
}
|
|
94
96
|
exports.getDistance = getDistance;
|
|
95
97
|
function getParticleDirectionAngle(direction, position, center) {
|
|
96
|
-
if (
|
|
98
|
+
if ((0, Utils_1.isNumber)(direction)) {
|
|
97
99
|
return (direction * Math.PI) / 180;
|
|
98
100
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
return getRandom() * Math.PI * 2;
|
|
123
|
-
}
|
|
101
|
+
switch (direction) {
|
|
102
|
+
case "top":
|
|
103
|
+
return -Math.PI / 2;
|
|
104
|
+
case "top-right":
|
|
105
|
+
return -Math.PI / 4;
|
|
106
|
+
case "right":
|
|
107
|
+
return 0;
|
|
108
|
+
case "bottom-right":
|
|
109
|
+
return Math.PI / 4;
|
|
110
|
+
case "bottom":
|
|
111
|
+
return Math.PI / 2;
|
|
112
|
+
case "bottom-left":
|
|
113
|
+
return (3 * Math.PI) / 4;
|
|
114
|
+
case "left":
|
|
115
|
+
return Math.PI;
|
|
116
|
+
case "top-left":
|
|
117
|
+
return (-3 * Math.PI) / 4;
|
|
118
|
+
case "inside":
|
|
119
|
+
return Math.atan2(center.y - position.y, center.x - position.x);
|
|
120
|
+
case "outside":
|
|
121
|
+
return Math.atan2(position.y - center.y, position.x - center.x);
|
|
122
|
+
default:
|
|
123
|
+
return getRandom() * Math.PI * 2;
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
exports.getParticleDirectionAngle = getParticleDirectionAngle;
|
|
@@ -145,35 +145,31 @@
|
|
|
145
145
|
}
|
|
146
146
|
exports.calcPositionFromSize = calcPositionFromSize;
|
|
147
147
|
function calcPositionOrRandomFromSize(data) {
|
|
148
|
-
var _a, _b, _c, _d;
|
|
149
148
|
return {
|
|
150
|
-
x: ((
|
|
151
|
-
y: ((
|
|
149
|
+
x: ((data.position?.x ?? getRandom() * 100) * data.size.width) / 100,
|
|
150
|
+
y: ((data.position?.y ?? getRandom() * 100) * data.size.height) / 100,
|
|
152
151
|
};
|
|
153
152
|
}
|
|
154
153
|
exports.calcPositionOrRandomFromSize = calcPositionOrRandomFromSize;
|
|
155
154
|
function calcPositionOrRandomFromSizeRanged(data) {
|
|
156
|
-
var _a, _b;
|
|
157
155
|
const position = {
|
|
158
|
-
x:
|
|
159
|
-
y:
|
|
156
|
+
x: data.position?.x !== undefined ? getRangeValue(data.position.x) : undefined,
|
|
157
|
+
y: data.position?.y !== undefined ? getRangeValue(data.position.y) : undefined,
|
|
160
158
|
};
|
|
161
159
|
return calcPositionOrRandomFromSize({ size: data.size, position });
|
|
162
160
|
}
|
|
163
161
|
exports.calcPositionOrRandomFromSizeRanged = calcPositionOrRandomFromSizeRanged;
|
|
164
162
|
function calcExactPositionOrRandomFromSize(data) {
|
|
165
|
-
var _a, _b, _c, _d;
|
|
166
163
|
return {
|
|
167
|
-
x:
|
|
168
|
-
y:
|
|
164
|
+
x: data.position?.x ?? getRandom() * data.size.width,
|
|
165
|
+
y: data.position?.y ?? getRandom() * data.size.height,
|
|
169
166
|
};
|
|
170
167
|
}
|
|
171
168
|
exports.calcExactPositionOrRandomFromSize = calcExactPositionOrRandomFromSize;
|
|
172
169
|
function calcExactPositionOrRandomFromSizeRanged(data) {
|
|
173
|
-
var _a, _b;
|
|
174
170
|
const position = {
|
|
175
|
-
x:
|
|
176
|
-
y:
|
|
171
|
+
x: data.position?.x !== undefined ? getRangeValue(data.position.x) : undefined,
|
|
172
|
+
y: data.position?.y !== undefined ? getRangeValue(data.position.y) : undefined,
|
|
177
173
|
};
|
|
178
174
|
return calcExactPositionOrRandomFromSize({ size: data.size, position });
|
|
179
175
|
}
|
|
@@ -17,15 +17,13 @@
|
|
|
17
17
|
this.stringPrefix = "rgb";
|
|
18
18
|
}
|
|
19
19
|
handleColor(color) {
|
|
20
|
-
|
|
21
|
-
const colorValue = color.value, rgbColor = (_a = colorValue.rgb) !== null && _a !== void 0 ? _a : color.value;
|
|
20
|
+
const colorValue = color.value, rgbColor = colorValue.rgb ?? color.value;
|
|
22
21
|
if (rgbColor.r !== undefined) {
|
|
23
22
|
return rgbColor;
|
|
24
23
|
}
|
|
25
24
|
}
|
|
26
25
|
handleRangeColor(color) {
|
|
27
|
-
|
|
28
|
-
const colorValue = color.value, rgbColor = (_a = colorValue.rgb) !== null && _a !== void 0 ? _a : color.value;
|
|
26
|
+
const colorValue = color.value, rgbColor = colorValue.rgb ?? color.value;
|
|
29
27
|
if (rgbColor.r !== undefined) {
|
|
30
28
|
return {
|
|
31
29
|
r: (0, NumberUtils_1.getRangeValue)(rgbColor.r),
|
package/umd/Utils/Utils.js
CHANGED
|
@@ -9,11 +9,32 @@
|
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.initParticleNumericAnimationValue = exports.findItemFromSingleOrMultiple = exports.itemFromSingleOrMultiple = exports.executeOnSingleOrMultiple = exports.rectBounce = exports.circleBounce = exports.circleBounceDataFromParticle = exports.divMode = exports.singleDivModeExecute = exports.divModeExecute = exports.isDivModeEnabled = exports.deepExtend = exports.calculateBounds = exports.areBoundsInside = exports.isPointInside = exports.itemFromArray = exports.arrayRandomIndex = exports.loadFont = exports.isInArray = exports.
|
|
12
|
+
exports.isArray = exports.isObject = exports.isFunction = exports.isNumber = exports.isString = exports.isBoolean = exports.getSize = exports.getPosition = exports.initParticleNumericAnimationValue = exports.findItemFromSingleOrMultiple = exports.itemFromSingleOrMultiple = exports.executeOnSingleOrMultiple = exports.rectBounce = exports.circleBounce = exports.circleBounceDataFromParticle = exports.divMode = exports.singleDivModeExecute = exports.divModeExecute = exports.isDivModeEnabled = exports.deepExtend = exports.calculateBounds = exports.areBoundsInside = exports.isPointInside = exports.itemFromArray = exports.arrayRandomIndex = exports.loadFont = exports.isInArray = exports.safeMutationObserver = exports.safeMatchMedia = exports.hasMatchMedia = exports.isSsr = exports.getLogger = exports.setLogger = void 0;
|
|
13
13
|
const NumberUtils_1 = require("./NumberUtils");
|
|
14
14
|
const Vector_1 = require("../Core/Utils/Vector");
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
const _logger = {
|
|
16
|
+
debug: console.debug,
|
|
17
|
+
error: console.error,
|
|
18
|
+
info: console.info,
|
|
19
|
+
log: console.log,
|
|
20
|
+
verbose: console.log,
|
|
21
|
+
warning: console.warn,
|
|
22
|
+
};
|
|
23
|
+
function setLogger(logger) {
|
|
24
|
+
_logger.debug = logger.debug || _logger.debug;
|
|
25
|
+
_logger.error = logger.error || _logger.error;
|
|
26
|
+
_logger.info = logger.info || _logger.info;
|
|
27
|
+
_logger.log = logger.log || _logger.log;
|
|
28
|
+
_logger.verbose = logger.verbose || _logger.verbose;
|
|
29
|
+
_logger.warning = logger.warning || _logger.warning;
|
|
30
|
+
}
|
|
31
|
+
exports.setLogger = setLogger;
|
|
32
|
+
function getLogger() {
|
|
33
|
+
return _logger;
|
|
34
|
+
}
|
|
35
|
+
exports.getLogger = getLogger;
|
|
36
|
+
function rectSideBounce(data) {
|
|
37
|
+
const res = { bounced: false }, { pSide, pOtherSide, rectSide, rectOtherSide, velocity, factor } = data;
|
|
17
38
|
if (pOtherSide.min < rectOtherSide.min ||
|
|
18
39
|
pOtherSide.min > rectOtherSide.max ||
|
|
19
40
|
pOtherSide.max < rectOtherSide.min ||
|
|
@@ -31,7 +52,7 @@
|
|
|
31
52
|
const res = executeOnSingleOrMultiple(selectors, (selector) => {
|
|
32
53
|
return element.matches(selector);
|
|
33
54
|
});
|
|
34
|
-
return res
|
|
55
|
+
return isArray(res) ? res.some((t) => t) : res;
|
|
35
56
|
}
|
|
36
57
|
function isSsr() {
|
|
37
58
|
return typeof window === "undefined" || !window || typeof window.document === "undefined" || !window.document;
|
|
@@ -48,27 +69,22 @@
|
|
|
48
69
|
return matchMedia(query);
|
|
49
70
|
}
|
|
50
71
|
exports.safeMatchMedia = safeMatchMedia;
|
|
51
|
-
function
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return isSsr()
|
|
59
|
-
? (handle) => clearTimeout(handle)
|
|
60
|
-
: (handle) => (cancelAnimationFrame || clearTimeout)(handle);
|
|
61
|
-
}
|
|
62
|
-
exports.cancelAnimation = cancelAnimation;
|
|
72
|
+
function safeMutationObserver(callback) {
|
|
73
|
+
if (isSsr() || typeof MutationObserver === "undefined") {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
return new MutationObserver(callback);
|
|
77
|
+
}
|
|
78
|
+
exports.safeMutationObserver = safeMutationObserver;
|
|
63
79
|
function isInArray(value, array) {
|
|
64
|
-
return value === array || (array
|
|
80
|
+
return value === array || (isArray(array) && array.indexOf(value) > -1);
|
|
65
81
|
}
|
|
66
82
|
exports.isInArray = isInArray;
|
|
67
83
|
async function loadFont(font, weight) {
|
|
68
84
|
try {
|
|
69
|
-
await document.fonts.load(`${weight
|
|
85
|
+
await document.fonts.load(`${weight ?? "400"} 36px '${font ?? "Verdana"}'`);
|
|
70
86
|
}
|
|
71
|
-
catch
|
|
87
|
+
catch {
|
|
72
88
|
}
|
|
73
89
|
}
|
|
74
90
|
exports.loadFont = loadFont;
|
|
@@ -81,7 +97,7 @@
|
|
|
81
97
|
}
|
|
82
98
|
exports.itemFromArray = itemFromArray;
|
|
83
99
|
function isPointInside(point, size, offset, radius, direction) {
|
|
84
|
-
return areBoundsInside(calculateBounds(point, radius
|
|
100
|
+
return areBoundsInside(calculateBounds(point, radius ?? 0), size, offset, direction);
|
|
85
101
|
}
|
|
86
102
|
exports.isPointInside = isPointInside;
|
|
87
103
|
function areBoundsInside(bounds, size, offset, direction) {
|
|
@@ -115,24 +131,24 @@
|
|
|
115
131
|
if (source === undefined || source === null) {
|
|
116
132
|
continue;
|
|
117
133
|
}
|
|
118
|
-
if (
|
|
134
|
+
if (!isObject(source)) {
|
|
119
135
|
destination = source;
|
|
120
136
|
continue;
|
|
121
137
|
}
|
|
122
138
|
const sourceIsArray = Array.isArray(source);
|
|
123
|
-
if (sourceIsArray && (
|
|
139
|
+
if (sourceIsArray && (isObject(destination) || !destination || !Array.isArray(destination))) {
|
|
124
140
|
destination = [];
|
|
125
141
|
}
|
|
126
|
-
else if (!sourceIsArray && (
|
|
142
|
+
else if (!sourceIsArray && (isObject(destination) || !destination || Array.isArray(destination))) {
|
|
127
143
|
destination = {};
|
|
128
144
|
}
|
|
129
145
|
for (const key in source) {
|
|
130
146
|
if (key === "__proto__") {
|
|
131
147
|
continue;
|
|
132
148
|
}
|
|
133
|
-
const sourceDict = source, value = sourceDict[key],
|
|
149
|
+
const sourceDict = source, value = sourceDict[key], destDict = destination;
|
|
134
150
|
destDict[key] =
|
|
135
|
-
isObject && Array.isArray(value)
|
|
151
|
+
isObject(value) && Array.isArray(value)
|
|
136
152
|
? value.map((v) => deepExtend(destDict[key], v))
|
|
137
153
|
: deepExtend(destDict[key], value);
|
|
138
154
|
}
|
|
@@ -193,18 +209,25 @@
|
|
|
193
209
|
exports.circleBounce = circleBounce;
|
|
194
210
|
function rectBounce(particle, divBounds) {
|
|
195
211
|
const pPos = particle.getPosition(), size = particle.getRadius(), bounds = calculateBounds(pPos, size), resH = rectSideBounce({
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
212
|
+
pSide: {
|
|
213
|
+
min: bounds.left,
|
|
214
|
+
max: bounds.right,
|
|
215
|
+
},
|
|
216
|
+
pOtherSide: {
|
|
217
|
+
min: bounds.top,
|
|
218
|
+
max: bounds.bottom,
|
|
219
|
+
},
|
|
220
|
+
rectSide: {
|
|
221
|
+
min: divBounds.left,
|
|
222
|
+
max: divBounds.right,
|
|
223
|
+
},
|
|
224
|
+
rectOtherSide: {
|
|
225
|
+
min: divBounds.top,
|
|
226
|
+
max: divBounds.bottom,
|
|
227
|
+
},
|
|
228
|
+
velocity: particle.velocity.x,
|
|
229
|
+
factor: (0, NumberUtils_1.getValue)(particle.options.bounce.horizontal),
|
|
230
|
+
});
|
|
208
231
|
if (resH.bounced) {
|
|
209
232
|
if (resH.velocity !== undefined) {
|
|
210
233
|
particle.velocity.x = resH.velocity;
|
|
@@ -214,18 +237,25 @@
|
|
|
214
237
|
}
|
|
215
238
|
}
|
|
216
239
|
const resV = rectSideBounce({
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
240
|
+
pSide: {
|
|
241
|
+
min: bounds.top,
|
|
242
|
+
max: bounds.bottom,
|
|
243
|
+
},
|
|
244
|
+
pOtherSide: {
|
|
245
|
+
min: bounds.left,
|
|
246
|
+
max: bounds.right,
|
|
247
|
+
},
|
|
248
|
+
rectSide: {
|
|
249
|
+
min: divBounds.top,
|
|
250
|
+
max: divBounds.bottom,
|
|
251
|
+
},
|
|
252
|
+
rectOtherSide: {
|
|
253
|
+
min: divBounds.left,
|
|
254
|
+
max: divBounds.right,
|
|
255
|
+
},
|
|
256
|
+
velocity: particle.velocity.y,
|
|
257
|
+
factor: (0, NumberUtils_1.getValue)(particle.options.bounce.vertical),
|
|
258
|
+
});
|
|
229
259
|
if (resV.bounced) {
|
|
230
260
|
if (resV.velocity !== undefined) {
|
|
231
261
|
particle.velocity.y = resV.velocity;
|
|
@@ -237,43 +267,61 @@
|
|
|
237
267
|
}
|
|
238
268
|
exports.rectBounce = rectBounce;
|
|
239
269
|
function executeOnSingleOrMultiple(obj, callback) {
|
|
240
|
-
return obj
|
|
270
|
+
return isArray(obj) ? obj.map((item, index) => callback(item, index)) : callback(obj, 0);
|
|
241
271
|
}
|
|
242
272
|
exports.executeOnSingleOrMultiple = executeOnSingleOrMultiple;
|
|
243
273
|
function itemFromSingleOrMultiple(obj, index, useIndex) {
|
|
244
|
-
return obj
|
|
274
|
+
return isArray(obj) ? itemFromArray(obj, index, useIndex) : obj;
|
|
245
275
|
}
|
|
246
276
|
exports.itemFromSingleOrMultiple = itemFromSingleOrMultiple;
|
|
247
277
|
function findItemFromSingleOrMultiple(obj, callback) {
|
|
248
|
-
return obj
|
|
278
|
+
return isArray(obj) ? obj.find((t, index) => callback(t, index)) : callback(obj, 0) ? obj : undefined;
|
|
249
279
|
}
|
|
250
280
|
exports.findItemFromSingleOrMultiple = findItemFromSingleOrMultiple;
|
|
251
281
|
function initParticleNumericAnimationValue(options, pxRatio) {
|
|
252
|
-
const valueRange = options.value, animationOptions = options.animation
|
|
253
|
-
|
|
254
|
-
enable:
|
|
282
|
+
const valueRange = options.value, animationOptions = options.animation, res = {
|
|
283
|
+
delayTime: (0, NumberUtils_1.getRangeValue)(animationOptions.delay) * 1000,
|
|
284
|
+
enable: animationOptions.enable,
|
|
255
285
|
value: (0, NumberUtils_1.getRangeValue)(options.value) * pxRatio,
|
|
256
286
|
max: (0, NumberUtils_1.getRangeMax)(valueRange) * pxRatio,
|
|
257
287
|
min: (0, NumberUtils_1.getRangeMin)(valueRange) * pxRatio,
|
|
258
288
|
loops: 0,
|
|
259
|
-
maxLoops: (0, NumberUtils_1.getRangeValue)(
|
|
289
|
+
maxLoops: (0, NumberUtils_1.getRangeValue)(animationOptions.count),
|
|
290
|
+
time: 0,
|
|
260
291
|
};
|
|
261
292
|
if (animationOptions.enable) {
|
|
262
|
-
res.status = "increasing";
|
|
263
293
|
res.decay = 1 - (0, NumberUtils_1.getRangeValue)(animationOptions.decay);
|
|
264
|
-
switch (animationOptions.
|
|
265
|
-
case "
|
|
266
|
-
res.value = res.min;
|
|
294
|
+
switch (animationOptions.mode) {
|
|
295
|
+
case "increase":
|
|
267
296
|
res.status = "increasing";
|
|
268
297
|
break;
|
|
298
|
+
case "decrease":
|
|
299
|
+
res.status = "decreasing";
|
|
300
|
+
break;
|
|
269
301
|
case "random":
|
|
270
|
-
res.value = (0, NumberUtils_1.randomInRange)(res);
|
|
271
302
|
res.status = (0, NumberUtils_1.getRandom)() >= 0.5 ? "increasing" : "decreasing";
|
|
272
303
|
break;
|
|
304
|
+
}
|
|
305
|
+
const autoStatus = animationOptions.mode === "auto";
|
|
306
|
+
switch (animationOptions.startValue) {
|
|
307
|
+
case "min":
|
|
308
|
+
res.value = res.min;
|
|
309
|
+
if (autoStatus) {
|
|
310
|
+
res.status = "increasing";
|
|
311
|
+
}
|
|
312
|
+
break;
|
|
273
313
|
case "max":
|
|
274
|
-
default:
|
|
275
314
|
res.value = res.max;
|
|
276
|
-
|
|
315
|
+
if (autoStatus) {
|
|
316
|
+
res.status = "decreasing";
|
|
317
|
+
}
|
|
318
|
+
break;
|
|
319
|
+
case "random":
|
|
320
|
+
default:
|
|
321
|
+
res.value = (0, NumberUtils_1.randomInRange)(res);
|
|
322
|
+
if (autoStatus) {
|
|
323
|
+
res.status = (0, NumberUtils_1.getRandom)() >= 0.5 ? "increasing" : "decreasing";
|
|
324
|
+
}
|
|
277
325
|
break;
|
|
278
326
|
}
|
|
279
327
|
}
|
|
@@ -281,4 +329,56 @@
|
|
|
281
329
|
return res;
|
|
282
330
|
}
|
|
283
331
|
exports.initParticleNumericAnimationValue = initParticleNumericAnimationValue;
|
|
332
|
+
function getPositionOrSize(positionOrSize, canvasSize) {
|
|
333
|
+
const isPercent = positionOrSize.mode === "percent";
|
|
334
|
+
if (!isPercent) {
|
|
335
|
+
const { mode: _, ...rest } = positionOrSize;
|
|
336
|
+
return rest;
|
|
337
|
+
}
|
|
338
|
+
const isPosition = "x" in positionOrSize;
|
|
339
|
+
if (isPosition) {
|
|
340
|
+
return {
|
|
341
|
+
x: (positionOrSize.x / 100) * canvasSize.width,
|
|
342
|
+
y: (positionOrSize.y / 100) * canvasSize.height,
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
return {
|
|
347
|
+
width: (positionOrSize.width / 100) * canvasSize.width,
|
|
348
|
+
height: (positionOrSize.height / 100) * canvasSize.height,
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
function getPosition(position, canvasSize) {
|
|
353
|
+
return getPositionOrSize(position, canvasSize);
|
|
354
|
+
}
|
|
355
|
+
exports.getPosition = getPosition;
|
|
356
|
+
function getSize(size, canvasSize) {
|
|
357
|
+
return getPositionOrSize(size, canvasSize);
|
|
358
|
+
}
|
|
359
|
+
exports.getSize = getSize;
|
|
360
|
+
function isBoolean(arg) {
|
|
361
|
+
return typeof arg === "boolean";
|
|
362
|
+
}
|
|
363
|
+
exports.isBoolean = isBoolean;
|
|
364
|
+
function isString(arg) {
|
|
365
|
+
return typeof arg === "string";
|
|
366
|
+
}
|
|
367
|
+
exports.isString = isString;
|
|
368
|
+
function isNumber(arg) {
|
|
369
|
+
return typeof arg === "number";
|
|
370
|
+
}
|
|
371
|
+
exports.isNumber = isNumber;
|
|
372
|
+
function isFunction(arg) {
|
|
373
|
+
return typeof arg === "function";
|
|
374
|
+
}
|
|
375
|
+
exports.isFunction = isFunction;
|
|
376
|
+
function isObject(arg) {
|
|
377
|
+
return typeof arg === "object" && arg !== null;
|
|
378
|
+
}
|
|
379
|
+
exports.isObject = isObject;
|
|
380
|
+
function isArray(arg) {
|
|
381
|
+
return Array.isArray(arg);
|
|
382
|
+
}
|
|
383
|
+
exports.isArray = isArray;
|
|
284
384
|
});
|