tsparticles 1.41.6 → 1.42.2
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/Core/Canvas.d.ts +1 -1
- package/Core/Canvas.js +8 -4
- package/Core/Interfaces/ICoordinates.d.ts +8 -0
- package/Core/Interfaces/IParticleGravity.d.ts +5 -0
- package/Core/Interfaces/IParticleGravity.js +2 -0
- package/Core/Interfaces/index.d.ts +1 -0
- package/Core/Interfaces/index.js +1 -0
- package/Core/Particle.d.ts +2 -1
- package/Core/Particle.js +8 -7
- package/Core/Retina.js +7 -7
- package/Core/Utils/ParticlesMover.js +2 -2
- package/Interactions/Particles/Links/LinkInstance.js +1 -1
- package/Options/Classes/AnimatableGradient.d.ts +4 -4
- package/Options/Classes/AnimatableGradient.js +4 -4
- package/Options/Classes/AnimationOptions.d.ts +5 -5
- package/Options/Classes/AnimationOptions.js +3 -2
- package/Options/Classes/ColorAnimation.d.ts +2 -2
- package/Options/Classes/ColorAnimation.js +2 -2
- package/Options/Classes/Particles/Move/Attract.d.ts +2 -2
- package/Options/Classes/Particles/Move/Attract.js +2 -1
- package/Options/Classes/Particles/Move/MoveAngle.d.ts +3 -3
- package/Options/Classes/Particles/Move/MoveAngle.js +3 -2
- package/Options/Classes/Particles/Move/MoveGravity.d.ts +5 -5
- package/Options/Classes/Particles/Move/MoveGravity.js +3 -2
- package/Options/Classes/Particles/Orbit/Orbit.d.ts +4 -4
- package/Options/Classes/Particles/Orbit/Orbit.js +4 -3
- package/Options/Classes/Particles/Repulse/Repulse.d.ts +5 -5
- package/Options/Classes/Particles/Repulse/Repulse.js +5 -4
- package/Options/Classes/Particles/Roll/RollLight.d.ts +2 -2
- package/Options/Classes/Particles/Roll/RollLight.js +2 -1
- package/Options/Classes/Particles/Rotate/RotateAnimation.d.ts +2 -2
- package/Options/Classes/Particles/Rotate/RotateAnimation.js +2 -1
- package/Options/Classes/Particles/Tilt/TiltAnimation.d.ts +2 -2
- package/Options/Classes/Particles/Tilt/TiltAnimation.js +2 -1
- package/Options/Classes/Particles/Twinkle/TwinkleValues.d.ts +2 -2
- package/Options/Classes/Particles/Twinkle/TwinkleValues.js +2 -1
- package/Options/Interfaces/IAnimation.d.ts +3 -2
- package/Options/Interfaces/Particles/Move/IAttract.d.ts +3 -2
- package/Options/Interfaces/Particles/Move/IMoveAngle.d.ts +3 -2
- package/Options/Interfaces/Particles/Move/IMoveGravity.d.ts +3 -2
- package/Options/Interfaces/Particles/Orbit/IOrbit.d.ts +4 -3
- package/Options/Interfaces/Particles/Repulse/IRepulse.d.ts +5 -4
- package/Options/Interfaces/Particles/Roll/IRollLight.d.ts +2 -1
- package/Options/Interfaces/Particles/Rotate/IRotateAnimation.d.ts +2 -1
- package/Options/Interfaces/Particles/Tilt/ITiltAnimation.d.ts +2 -1
- package/Options/Interfaces/Particles/Twinkle/ITwinkleValues.d.ts +3 -2
- package/Plugins/Absorbers/AbsorberInstance.js +1 -1
- package/Plugins/Absorbers/Options/Classes/Absorber.d.ts +2 -2
- package/Plugins/Absorbers/Options/Classes/Absorber.js +8 -4
- package/Plugins/Absorbers/Options/Interfaces/IAbsorber.d.ts +2 -2
- package/Plugins/Emitters/EmitterInstance.js +3 -3
- package/Plugins/Emitters/Options/Classes/Emitter.d.ts +2 -2
- package/Plugins/Emitters/Options/Classes/Emitter.js +8 -5
- package/Plugins/Emitters/Options/Interfaces/IEmitter.d.ts +2 -2
- package/Updaters/Angle/AngleUpdater.js +2 -1
- package/Updaters/Opacity/OpacityUpdater.js +3 -2
- package/Updaters/Roll/RollUpdater.js +3 -3
- package/Updaters/Tilt/TiltUpdater.js +1 -1
- package/Utils/ColorUtils.js +1 -1
- package/browser/Core/Canvas.d.ts +1 -1
- package/browser/Core/Canvas.js +9 -5
- package/browser/Core/Interfaces/ICoordinates.d.ts +8 -0
- package/browser/Core/Interfaces/IParticleGravity.d.ts +5 -0
- package/browser/Core/Interfaces/IParticleGravity.js +1 -0
- package/browser/Core/Interfaces/index.d.ts +1 -0
- package/browser/Core/Interfaces/index.js +1 -0
- package/browser/Core/Particle.d.ts +2 -1
- package/browser/Core/Particle.js +8 -7
- package/browser/Core/Retina.js +7 -7
- package/browser/Core/Utils/ParticlesMover.js +2 -2
- package/browser/Interactions/Particles/Links/LinkInstance.js +2 -2
- package/browser/Options/Classes/AnimatableGradient.d.ts +4 -4
- package/browser/Options/Classes/AnimatableGradient.js +4 -4
- package/browser/Options/Classes/AnimationOptions.d.ts +5 -5
- package/browser/Options/Classes/AnimationOptions.js +3 -2
- package/browser/Options/Classes/ColorAnimation.d.ts +2 -2
- package/browser/Options/Classes/ColorAnimation.js +2 -2
- package/browser/Options/Classes/Particles/Move/Attract.d.ts +2 -2
- package/browser/Options/Classes/Particles/Move/Attract.js +2 -1
- package/browser/Options/Classes/Particles/Move/MoveAngle.d.ts +3 -3
- package/browser/Options/Classes/Particles/Move/MoveAngle.js +3 -2
- package/browser/Options/Classes/Particles/Move/MoveGravity.d.ts +5 -5
- package/browser/Options/Classes/Particles/Move/MoveGravity.js +3 -2
- package/browser/Options/Classes/Particles/Orbit/Orbit.d.ts +4 -4
- package/browser/Options/Classes/Particles/Orbit/Orbit.js +4 -3
- package/browser/Options/Classes/Particles/Repulse/Repulse.d.ts +5 -5
- package/browser/Options/Classes/Particles/Repulse/Repulse.js +5 -4
- package/browser/Options/Classes/Particles/Roll/RollLight.d.ts +2 -2
- package/browser/Options/Classes/Particles/Roll/RollLight.js +2 -1
- package/browser/Options/Classes/Particles/Rotate/RotateAnimation.d.ts +2 -2
- package/browser/Options/Classes/Particles/Rotate/RotateAnimation.js +2 -1
- package/browser/Options/Classes/Particles/Tilt/TiltAnimation.d.ts +2 -2
- package/browser/Options/Classes/Particles/Tilt/TiltAnimation.js +2 -1
- package/browser/Options/Classes/Particles/Twinkle/TwinkleValues.d.ts +2 -2
- package/browser/Options/Classes/Particles/Twinkle/TwinkleValues.js +2 -1
- package/browser/Options/Interfaces/IAnimation.d.ts +3 -2
- package/browser/Options/Interfaces/Particles/Move/IAttract.d.ts +3 -2
- package/browser/Options/Interfaces/Particles/Move/IMoveAngle.d.ts +3 -2
- package/browser/Options/Interfaces/Particles/Move/IMoveGravity.d.ts +3 -2
- package/browser/Options/Interfaces/Particles/Orbit/IOrbit.d.ts +4 -3
- package/browser/Options/Interfaces/Particles/Repulse/IRepulse.d.ts +5 -4
- package/browser/Options/Interfaces/Particles/Roll/IRollLight.d.ts +2 -1
- package/browser/Options/Interfaces/Particles/Rotate/IRotateAnimation.d.ts +2 -1
- package/browser/Options/Interfaces/Particles/Tilt/ITiltAnimation.d.ts +2 -1
- package/browser/Options/Interfaces/Particles/Twinkle/ITwinkleValues.d.ts +3 -2
- package/browser/Plugins/Absorbers/AbsorberInstance.js +1 -1
- package/browser/Plugins/Absorbers/Options/Classes/Absorber.d.ts +2 -2
- package/browser/Plugins/Absorbers/Options/Classes/Absorber.js +8 -4
- package/browser/Plugins/Absorbers/Options/Interfaces/IAbsorber.d.ts +2 -2
- package/browser/Plugins/Emitters/EmitterInstance.js +3 -3
- package/browser/Plugins/Emitters/Options/Classes/Emitter.d.ts +2 -2
- package/browser/Plugins/Emitters/Options/Classes/Emitter.js +8 -5
- package/browser/Plugins/Emitters/Options/Interfaces/IEmitter.d.ts +2 -2
- package/browser/Updaters/Angle/AngleUpdater.js +2 -1
- package/browser/Updaters/Opacity/OpacityUpdater.js +3 -2
- package/browser/Updaters/Roll/RollUpdater.js +3 -3
- package/browser/Updaters/Tilt/TiltUpdater.js +1 -1
- package/browser/Utils/ColorUtils.js +2 -2
- package/esm/Core/Canvas.d.ts +1 -1
- package/esm/Core/Canvas.js +9 -5
- package/esm/Core/Interfaces/ICoordinates.d.ts +8 -0
- package/esm/Core/Interfaces/IParticleGravity.d.ts +5 -0
- package/esm/Core/Interfaces/IParticleGravity.js +1 -0
- package/esm/Core/Interfaces/index.d.ts +1 -0
- package/esm/Core/Interfaces/index.js +1 -0
- package/esm/Core/Particle.d.ts +2 -1
- package/esm/Core/Particle.js +8 -7
- package/esm/Core/Retina.js +7 -7
- package/esm/Core/Utils/ParticlesMover.js +2 -2
- package/esm/Interactions/Particles/Links/LinkInstance.js +2 -2
- package/esm/Options/Classes/AnimatableGradient.d.ts +4 -4
- package/esm/Options/Classes/AnimatableGradient.js +4 -4
- package/esm/Options/Classes/AnimationOptions.d.ts +5 -5
- package/esm/Options/Classes/AnimationOptions.js +3 -2
- package/esm/Options/Classes/ColorAnimation.d.ts +2 -2
- package/esm/Options/Classes/ColorAnimation.js +2 -2
- package/esm/Options/Classes/Particles/Move/Attract.d.ts +2 -2
- package/esm/Options/Classes/Particles/Move/Attract.js +2 -1
- package/esm/Options/Classes/Particles/Move/MoveAngle.d.ts +3 -3
- package/esm/Options/Classes/Particles/Move/MoveAngle.js +3 -2
- package/esm/Options/Classes/Particles/Move/MoveGravity.d.ts +5 -5
- package/esm/Options/Classes/Particles/Move/MoveGravity.js +3 -2
- package/esm/Options/Classes/Particles/Orbit/Orbit.d.ts +4 -4
- package/esm/Options/Classes/Particles/Orbit/Orbit.js +4 -3
- package/esm/Options/Classes/Particles/Repulse/Repulse.d.ts +5 -5
- package/esm/Options/Classes/Particles/Repulse/Repulse.js +5 -4
- package/esm/Options/Classes/Particles/Roll/RollLight.d.ts +2 -2
- package/esm/Options/Classes/Particles/Roll/RollLight.js +2 -1
- package/esm/Options/Classes/Particles/Rotate/RotateAnimation.d.ts +2 -2
- package/esm/Options/Classes/Particles/Rotate/RotateAnimation.js +2 -1
- package/esm/Options/Classes/Particles/Tilt/TiltAnimation.d.ts +2 -2
- package/esm/Options/Classes/Particles/Tilt/TiltAnimation.js +2 -1
- package/esm/Options/Classes/Particles/Twinkle/TwinkleValues.d.ts +2 -2
- package/esm/Options/Classes/Particles/Twinkle/TwinkleValues.js +2 -1
- package/esm/Options/Interfaces/IAnimation.d.ts +3 -2
- package/esm/Options/Interfaces/Particles/Move/IAttract.d.ts +3 -2
- package/esm/Options/Interfaces/Particles/Move/IMoveAngle.d.ts +3 -2
- package/esm/Options/Interfaces/Particles/Move/IMoveGravity.d.ts +3 -2
- package/esm/Options/Interfaces/Particles/Orbit/IOrbit.d.ts +4 -3
- package/esm/Options/Interfaces/Particles/Repulse/IRepulse.d.ts +5 -4
- package/esm/Options/Interfaces/Particles/Roll/IRollLight.d.ts +2 -1
- package/esm/Options/Interfaces/Particles/Rotate/IRotateAnimation.d.ts +2 -1
- package/esm/Options/Interfaces/Particles/Tilt/ITiltAnimation.d.ts +2 -1
- package/esm/Options/Interfaces/Particles/Twinkle/ITwinkleValues.d.ts +3 -2
- package/esm/Plugins/Absorbers/AbsorberInstance.js +1 -1
- package/esm/Plugins/Absorbers/Options/Classes/Absorber.d.ts +2 -2
- package/esm/Plugins/Absorbers/Options/Classes/Absorber.js +8 -4
- package/esm/Plugins/Absorbers/Options/Interfaces/IAbsorber.d.ts +2 -2
- package/esm/Plugins/Emitters/EmitterInstance.js +3 -3
- package/esm/Plugins/Emitters/Options/Classes/Emitter.d.ts +2 -2
- package/esm/Plugins/Emitters/Options/Classes/Emitter.js +8 -5
- package/esm/Plugins/Emitters/Options/Interfaces/IEmitter.d.ts +2 -2
- package/esm/Updaters/Angle/AngleUpdater.js +2 -1
- package/esm/Updaters/Opacity/OpacityUpdater.js +3 -2
- package/esm/Updaters/Roll/RollUpdater.js +3 -3
- package/esm/Updaters/Tilt/TiltUpdater.js +1 -1
- package/esm/Utils/ColorUtils.js +2 -2
- package/package.json +15 -3
- package/report.html +2 -2
- package/report.slim.html +2 -2
- package/scripts/install.js +11 -2
- package/tsparticles.engine.js +48 -45
- package/tsparticles.engine.min.js +2 -2
- package/tsparticles.interaction.external.attract.js +320 -34
- package/tsparticles.interaction.external.attract.min.js +1 -1
- package/tsparticles.interaction.external.bounce.js +320 -34
- package/tsparticles.interaction.external.bounce.min.js +1 -1
- package/tsparticles.interaction.external.bubble.js +320 -34
- package/tsparticles.interaction.external.bubble.min.js +1 -1
- package/tsparticles.interaction.external.connect.js +320 -34
- package/tsparticles.interaction.external.connect.min.js +1 -1
- package/tsparticles.interaction.external.grab.js +320 -34
- package/tsparticles.interaction.external.grab.min.js +1 -1
- package/tsparticles.interaction.external.repulse.js +320 -34
- package/tsparticles.interaction.external.repulse.min.js +1 -1
- package/tsparticles.interaction.external.trail.js +320 -34
- package/tsparticles.interaction.external.trail.min.js +1 -1
- package/tsparticles.interaction.particles.attract.js +320 -34
- package/tsparticles.interaction.particles.attract.min.js +1 -1
- package/tsparticles.interaction.particles.collisions.js +320 -34
- package/tsparticles.interaction.particles.collisions.min.js +1 -1
- package/tsparticles.interaction.particles.links.js +321 -35
- package/tsparticles.interaction.particles.links.min.js +2 -2
- package/tsparticles.js +74 -65
- package/tsparticles.min.js +2 -2
- package/tsparticles.pathseg.min.js +1 -1
- package/tsparticles.plugins.absorbers.js +328 -39
- package/tsparticles.plugins.absorbers.min.js +2 -2
- package/tsparticles.plugins.emitters.js +431 -142
- package/tsparticles.plugins.emitters.min.js +2 -2
- package/tsparticles.plugins.polygonMask.js +320 -34
- package/tsparticles.plugins.polygonMask.min.js +1 -1
- package/tsparticles.shape.circle.min.js +1 -1
- package/tsparticles.shape.image.js +320 -34
- package/tsparticles.shape.image.min.js +1 -1
- package/tsparticles.shape.line.min.js +1 -1
- package/tsparticles.shape.polygon.min.js +1 -1
- package/tsparticles.shape.square.min.js +1 -1
- package/tsparticles.shape.star.min.js +1 -1
- package/tsparticles.shape.text.js +320 -34
- package/tsparticles.shape.text.min.js +1 -1
- package/tsparticles.slim.js +52 -49
- package/tsparticles.slim.min.js +2 -2
- package/tsparticles.updater.angle.js +321 -35
- package/tsparticles.updater.angle.min.js +2 -2
- package/tsparticles.updater.color.js +320 -34
- package/tsparticles.updater.color.min.js +2 -2
- package/tsparticles.updater.life.js +320 -34
- package/tsparticles.updater.life.min.js +1 -1
- package/tsparticles.updater.opacity.js +322 -36
- package/tsparticles.updater.opacity.min.js +2 -2
- package/tsparticles.updater.outModes.js +320 -34
- package/tsparticles.updater.outModes.min.js +1 -1
- package/tsparticles.updater.roll.js +323 -37
- package/tsparticles.updater.roll.min.js +2 -2
- package/tsparticles.updater.size.js +320 -34
- package/tsparticles.updater.size.min.js +1 -1
- package/tsparticles.updater.strokeColor.js +320 -34
- package/tsparticles.updater.strokeColor.min.js +2 -2
- package/tsparticles.updater.tilt.js +321 -35
- package/tsparticles.updater.tilt.min.js +2 -2
- package/tsparticles.updater.wobble.js +320 -34
- package/tsparticles.updater.wobble.min.js +1 -1
- package/umd/Core/Canvas.d.ts +1 -1
- package/umd/Core/Canvas.js +8 -4
- package/umd/Core/Interfaces/ICoordinates.d.ts +8 -0
- package/umd/Core/Interfaces/IParticleGravity.d.ts +5 -0
- package/umd/Core/Interfaces/IParticleGravity.js +12 -0
- package/umd/Core/Interfaces/index.d.ts +1 -0
- package/umd/Core/Interfaces/index.js +2 -1
- package/umd/Core/Particle.d.ts +2 -1
- package/umd/Core/Particle.js +8 -7
- package/umd/Core/Retina.js +7 -7
- package/umd/Core/Utils/ParticlesMover.js +2 -2
- package/umd/Interactions/Particles/Links/LinkInstance.js +1 -1
- package/umd/Options/Classes/AnimatableGradient.d.ts +4 -4
- package/umd/Options/Classes/AnimatableGradient.js +4 -4
- package/umd/Options/Classes/AnimationOptions.d.ts +5 -5
- package/umd/Options/Classes/AnimationOptions.js +4 -3
- package/umd/Options/Classes/ColorAnimation.d.ts +2 -2
- package/umd/Options/Classes/ColorAnimation.js +2 -2
- package/umd/Options/Classes/Particles/Move/Attract.d.ts +2 -2
- package/umd/Options/Classes/Particles/Move/Attract.js +3 -2
- package/umd/Options/Classes/Particles/Move/MoveAngle.d.ts +3 -3
- package/umd/Options/Classes/Particles/Move/MoveAngle.js +4 -3
- package/umd/Options/Classes/Particles/Move/MoveGravity.d.ts +5 -5
- package/umd/Options/Classes/Particles/Move/MoveGravity.js +4 -3
- package/umd/Options/Classes/Particles/Orbit/Orbit.d.ts +4 -4
- package/umd/Options/Classes/Particles/Orbit/Orbit.js +5 -4
- package/umd/Options/Classes/Particles/Repulse/Repulse.d.ts +5 -5
- package/umd/Options/Classes/Particles/Repulse/Repulse.js +6 -5
- package/umd/Options/Classes/Particles/Roll/RollLight.d.ts +2 -2
- package/umd/Options/Classes/Particles/Roll/RollLight.js +3 -2
- package/umd/Options/Classes/Particles/Rotate/RotateAnimation.d.ts +2 -2
- package/umd/Options/Classes/Particles/Rotate/RotateAnimation.js +3 -2
- package/umd/Options/Classes/Particles/Tilt/TiltAnimation.d.ts +2 -2
- package/umd/Options/Classes/Particles/Tilt/TiltAnimation.js +3 -2
- package/umd/Options/Classes/Particles/Twinkle/TwinkleValues.d.ts +2 -2
- package/umd/Options/Classes/Particles/Twinkle/TwinkleValues.js +3 -2
- package/umd/Options/Interfaces/IAnimation.d.ts +3 -2
- package/umd/Options/Interfaces/Particles/Move/IAttract.d.ts +3 -2
- package/umd/Options/Interfaces/Particles/Move/IMoveAngle.d.ts +3 -2
- package/umd/Options/Interfaces/Particles/Move/IMoveGravity.d.ts +3 -2
- package/umd/Options/Interfaces/Particles/Orbit/IOrbit.d.ts +4 -3
- package/umd/Options/Interfaces/Particles/Repulse/IRepulse.d.ts +5 -4
- package/umd/Options/Interfaces/Particles/Roll/IRollLight.d.ts +2 -1
- package/umd/Options/Interfaces/Particles/Rotate/IRotateAnimation.d.ts +2 -1
- package/umd/Options/Interfaces/Particles/Tilt/ITiltAnimation.d.ts +2 -1
- package/umd/Options/Interfaces/Particles/Twinkle/ITwinkleValues.d.ts +3 -2
- package/umd/Plugins/Absorbers/AbsorberInstance.js +1 -1
- package/umd/Plugins/Absorbers/Options/Classes/Absorber.d.ts +2 -2
- package/umd/Plugins/Absorbers/Options/Classes/Absorber.js +9 -5
- package/umd/Plugins/Absorbers/Options/Interfaces/IAbsorber.d.ts +2 -2
- package/umd/Plugins/Emitters/EmitterInstance.js +3 -3
- package/umd/Plugins/Emitters/Options/Classes/Emitter.d.ts +2 -2
- package/umd/Plugins/Emitters/Options/Classes/Emitter.js +9 -6
- package/umd/Plugins/Emitters/Options/Interfaces/IEmitter.d.ts +2 -2
- package/umd/Updaters/Angle/AngleUpdater.js +2 -1
- package/umd/Updaters/Opacity/OpacityUpdater.js +3 -2
- package/umd/Updaters/Roll/RollUpdater.js +3 -3
- package/umd/Updaters/Tilt/TiltUpdater.js +1 -1
- package/umd/Utils/ColorUtils.js +1 -1
|
@@ -613,7 +613,7 @@
|
|
|
613
613
|
}
|
|
614
614
|
const container = this.container, slowFactor = this.getProximitySpeedFactor(particle), baseSpeed = ((_a = (_d = particle.retina).moveSpeed) !== null && _a !== void 0 ? _a : _d.moveSpeed = getRangeValue(moveOptions.speed) * container.retina.pixelRatio) * container.retina.reduceFactor, moveDrift = (_b = (_e = particle.retina).moveDrift) !== null && _b !== void 0 ? _b : _e.moveDrift = getRangeValue(particle.options.move.drift) * container.retina.pixelRatio, maxSize = getRangeMax(particleOptions.size.value) * container.retina.pixelRatio, sizeFactor = moveOptions.size ? particle.getRadius() / maxSize : 1, diffFactor = 2, speedFactor = sizeFactor * slowFactor * (delta.factor || 1) / diffFactor, moveSpeed = baseSpeed * speedFactor;
|
|
615
615
|
this.applyPath(particle, delta);
|
|
616
|
-
const gravityOptions =
|
|
616
|
+
const gravityOptions = particle.gravity;
|
|
617
617
|
const gravityFactor = gravityOptions.enable && gravityOptions.inverse ? -1 : 1;
|
|
618
618
|
if (gravityOptions.enable && moveSpeed) {
|
|
619
619
|
particle.velocity.y += gravityFactor * (gravityOptions.acceleration * delta.factor) / (60 * moveSpeed);
|
|
@@ -627,7 +627,7 @@
|
|
|
627
627
|
}
|
|
628
628
|
const velocity = particle.velocity.mult(moveSpeed);
|
|
629
629
|
const maxSpeed = (_c = particle.retina.maxSpeed) !== null && _c !== void 0 ? _c : container.retina.maxSpeed;
|
|
630
|
-
if (gravityOptions.enable &&
|
|
630
|
+
if (gravityOptions.enable && maxSpeed > 0 && (!gravityOptions.inverse && velocity.y >= 0 && velocity.y >= maxSpeed || gravityOptions.inverse && velocity.y <= 0 && velocity.y <= -maxSpeed)) {
|
|
631
631
|
velocity.y = gravityFactor * maxSpeed;
|
|
632
632
|
if (moveSpeed) {
|
|
633
633
|
particle.velocity.y = velocity.y / moveSpeed;
|
|
@@ -941,9 +941,9 @@
|
|
|
941
941
|
paint() {
|
|
942
942
|
const options = this.container.actualOptions;
|
|
943
943
|
this.draw((ctx => {
|
|
944
|
-
if (options.backgroundMask.enable && options.backgroundMask.cover
|
|
944
|
+
if (options.backgroundMask.enable && options.backgroundMask.cover) {
|
|
945
945
|
clear(ctx, this.size);
|
|
946
|
-
this.paintBase(
|
|
946
|
+
this.paintBase(this.coverColorStyle);
|
|
947
947
|
} else {
|
|
948
948
|
this.paintBase();
|
|
949
949
|
}
|
|
@@ -1045,7 +1045,7 @@
|
|
|
1045
1045
|
const zIndexOptions = particle.options.zIndex;
|
|
1046
1046
|
const zOpacityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.opacityRate;
|
|
1047
1047
|
const radius = particle.getRadius();
|
|
1048
|
-
const opacity = twinkling ? twinkle.opacity : (_d = (_b = particle.bubble.opacity) !== null && _b !== void 0 ? _b : (_c = particle.opacity) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : 1;
|
|
1048
|
+
const opacity = twinkling ? getRangeValue(twinkle.opacity) : (_d = (_b = particle.bubble.opacity) !== null && _b !== void 0 ? _b : (_c = particle.opacity) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : 1;
|
|
1049
1049
|
const strokeOpacity = (_f = (_e = particle.stroke) === null || _e === void 0 ? void 0 : _e.opacity) !== null && _f !== void 0 ? _f : opacity;
|
|
1050
1050
|
const zOpacity = opacity * zOpacityFactor;
|
|
1051
1051
|
const fillColorValue = fColor ? getStyleFromHsl(fColor, zOpacity) : undefined;
|
|
@@ -1114,12 +1114,14 @@
|
|
|
1114
1114
|
const color = cover.color;
|
|
1115
1115
|
const coverRgb = colorToRgb(color);
|
|
1116
1116
|
if (coverRgb) {
|
|
1117
|
-
|
|
1117
|
+
const coverColor = {
|
|
1118
1118
|
r: coverRgb.r,
|
|
1119
1119
|
g: coverRgb.g,
|
|
1120
1120
|
b: coverRgb.b,
|
|
1121
1121
|
a: cover.opacity
|
|
1122
1122
|
};
|
|
1123
|
+
this.coverColorStyle = getStyleFromRgb(coverColor, coverColor.a);
|
|
1124
|
+
console.log(this.coverColorStyle);
|
|
1123
1125
|
}
|
|
1124
1126
|
}
|
|
1125
1127
|
initTrail() {
|
|
@@ -1316,7 +1318,7 @@
|
|
|
1316
1318
|
return;
|
|
1317
1319
|
}
|
|
1318
1320
|
if (data.count !== undefined) {
|
|
1319
|
-
this.count = data.count;
|
|
1321
|
+
this.count = setRangeValue(data.count);
|
|
1320
1322
|
}
|
|
1321
1323
|
if (data.enable !== undefined) {
|
|
1322
1324
|
this.enable = data.enable;
|
|
@@ -1325,7 +1327,7 @@
|
|
|
1325
1327
|
this.offset = setRangeValue(data.offset);
|
|
1326
1328
|
}
|
|
1327
1329
|
if (data.speed !== undefined) {
|
|
1328
|
-
this.speed = data.speed;
|
|
1330
|
+
this.speed = setRangeValue(data.speed);
|
|
1329
1331
|
}
|
|
1330
1332
|
if (data.sync !== undefined) {
|
|
1331
1333
|
this.sync = data.sync;
|
|
@@ -1473,13 +1475,13 @@
|
|
|
1473
1475
|
return;
|
|
1474
1476
|
}
|
|
1475
1477
|
if (data.count !== undefined) {
|
|
1476
|
-
this.count = data.count;
|
|
1478
|
+
this.count = setRangeValue(data.count);
|
|
1477
1479
|
}
|
|
1478
1480
|
if (data.enable !== undefined) {
|
|
1479
1481
|
this.enable = data.enable;
|
|
1480
1482
|
}
|
|
1481
1483
|
if (data.speed !== undefined) {
|
|
1482
|
-
this.speed = data.speed;
|
|
1484
|
+
this.speed = setRangeValue(data.speed);
|
|
1483
1485
|
}
|
|
1484
1486
|
if (data.sync !== undefined) {
|
|
1485
1487
|
this.sync = data.sync;
|
|
@@ -1499,13 +1501,13 @@
|
|
|
1499
1501
|
return;
|
|
1500
1502
|
}
|
|
1501
1503
|
if (data.count !== undefined) {
|
|
1502
|
-
this.count = data.count;
|
|
1504
|
+
this.count = setRangeValue(data.count);
|
|
1503
1505
|
}
|
|
1504
1506
|
if (data.enable !== undefined) {
|
|
1505
1507
|
this.enable = data.enable;
|
|
1506
1508
|
}
|
|
1507
1509
|
if (data.speed !== undefined) {
|
|
1508
|
-
this.speed = data.speed;
|
|
1510
|
+
this.speed = setRangeValue(data.speed);
|
|
1509
1511
|
}
|
|
1510
1512
|
if (data.sync !== undefined) {
|
|
1511
1513
|
this.sync = data.sync;
|
|
@@ -1677,6 +1679,90 @@
|
|
|
1677
1679
|
this.duration.load(data.duration);
|
|
1678
1680
|
}
|
|
1679
1681
|
}
|
|
1682
|
+
class Attract_Attract {
|
|
1683
|
+
constructor() {
|
|
1684
|
+
this.distance = 200;
|
|
1685
|
+
this.enable = false;
|
|
1686
|
+
this.rotate = {
|
|
1687
|
+
x: 3e3,
|
|
1688
|
+
y: 3e3
|
|
1689
|
+
};
|
|
1690
|
+
}
|
|
1691
|
+
get rotateX() {
|
|
1692
|
+
return this.rotate.x;
|
|
1693
|
+
}
|
|
1694
|
+
set rotateX(value) {
|
|
1695
|
+
this.rotate.x = value;
|
|
1696
|
+
}
|
|
1697
|
+
get rotateY() {
|
|
1698
|
+
return this.rotate.y;
|
|
1699
|
+
}
|
|
1700
|
+
set rotateY(value) {
|
|
1701
|
+
this.rotate.y = value;
|
|
1702
|
+
}
|
|
1703
|
+
load(data) {
|
|
1704
|
+
var _a, _b, _c, _d;
|
|
1705
|
+
if (!data) {
|
|
1706
|
+
return;
|
|
1707
|
+
}
|
|
1708
|
+
if (data.distance !== undefined) {
|
|
1709
|
+
this.distance = setRangeValue(data.distance);
|
|
1710
|
+
}
|
|
1711
|
+
if (data.enable !== undefined) {
|
|
1712
|
+
this.enable = data.enable;
|
|
1713
|
+
}
|
|
1714
|
+
const rotateX = (_b = (_a = data.rotate) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : data.rotateX;
|
|
1715
|
+
if (rotateX !== undefined) {
|
|
1716
|
+
this.rotate.x = rotateX;
|
|
1717
|
+
}
|
|
1718
|
+
const rotateY = (_d = (_c = data.rotate) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : data.rotateY;
|
|
1719
|
+
if (rotateY !== undefined) {
|
|
1720
|
+
this.rotate.y = rotateY;
|
|
1721
|
+
}
|
|
1722
|
+
}
|
|
1723
|
+
}
|
|
1724
|
+
class MoveAngle_MoveAngle {
|
|
1725
|
+
constructor() {
|
|
1726
|
+
this.offset = 0;
|
|
1727
|
+
this.value = 90;
|
|
1728
|
+
}
|
|
1729
|
+
load(data) {
|
|
1730
|
+
if (data === undefined) {
|
|
1731
|
+
return;
|
|
1732
|
+
}
|
|
1733
|
+
if (data.offset !== undefined) {
|
|
1734
|
+
this.offset = setRangeValue(data.offset);
|
|
1735
|
+
}
|
|
1736
|
+
if (data.value !== undefined) {
|
|
1737
|
+
this.value = setRangeValue(data.value);
|
|
1738
|
+
}
|
|
1739
|
+
}
|
|
1740
|
+
}
|
|
1741
|
+
class MoveGravity_MoveGravity {
|
|
1742
|
+
constructor() {
|
|
1743
|
+
this.acceleration = 9.81;
|
|
1744
|
+
this.enable = false;
|
|
1745
|
+
this.inverse = false;
|
|
1746
|
+
this.maxSpeed = 50;
|
|
1747
|
+
}
|
|
1748
|
+
load(data) {
|
|
1749
|
+
if (!data) {
|
|
1750
|
+
return;
|
|
1751
|
+
}
|
|
1752
|
+
if (data.acceleration !== undefined) {
|
|
1753
|
+
this.acceleration = setRangeValue(data.acceleration);
|
|
1754
|
+
}
|
|
1755
|
+
if (data.enable !== undefined) {
|
|
1756
|
+
this.enable = data.enable;
|
|
1757
|
+
}
|
|
1758
|
+
if (data.inverse !== undefined) {
|
|
1759
|
+
this.inverse = data.inverse;
|
|
1760
|
+
}
|
|
1761
|
+
if (data.maxSpeed !== undefined) {
|
|
1762
|
+
this.maxSpeed = setRangeValue(data.maxSpeed);
|
|
1763
|
+
}
|
|
1764
|
+
}
|
|
1765
|
+
}
|
|
1680
1766
|
class PathDelay_PathDelay extends(null && ValueWithRandom){
|
|
1681
1767
|
constructor() {
|
|
1682
1768
|
super();
|
|
@@ -1838,6 +1924,70 @@
|
|
|
1838
1924
|
}
|
|
1839
1925
|
}
|
|
1840
1926
|
}
|
|
1927
|
+
class AnimationOptions_AnimationOptions {
|
|
1928
|
+
constructor() {
|
|
1929
|
+
this.count = 0;
|
|
1930
|
+
this.enable = false;
|
|
1931
|
+
this.speed = 1;
|
|
1932
|
+
this.sync = false;
|
|
1933
|
+
}
|
|
1934
|
+
load(data) {
|
|
1935
|
+
if (!data) {
|
|
1936
|
+
return;
|
|
1937
|
+
}
|
|
1938
|
+
if (data.count !== undefined) {
|
|
1939
|
+
this.count = setRangeValue(data.count);
|
|
1940
|
+
}
|
|
1941
|
+
if (data.enable !== undefined) {
|
|
1942
|
+
this.enable = data.enable;
|
|
1943
|
+
}
|
|
1944
|
+
if (data.speed !== undefined) {
|
|
1945
|
+
this.speed = setRangeValue(data.speed);
|
|
1946
|
+
}
|
|
1947
|
+
if (data.sync !== undefined) {
|
|
1948
|
+
this.sync = data.sync;
|
|
1949
|
+
}
|
|
1950
|
+
}
|
|
1951
|
+
}
|
|
1952
|
+
class OpacityAnimation_OpacityAnimation extends(null && AnimationOptions){
|
|
1953
|
+
constructor() {
|
|
1954
|
+
super();
|
|
1955
|
+
this.destroy = "none";
|
|
1956
|
+
this.enable = false;
|
|
1957
|
+
this.speed = 2;
|
|
1958
|
+
this.startValue = "random";
|
|
1959
|
+
this.sync = false;
|
|
1960
|
+
}
|
|
1961
|
+
get opacity_min() {
|
|
1962
|
+
return this.minimumValue;
|
|
1963
|
+
}
|
|
1964
|
+
set opacity_min(value) {
|
|
1965
|
+
this.minimumValue = value;
|
|
1966
|
+
}
|
|
1967
|
+
load(data) {
|
|
1968
|
+
var _a;
|
|
1969
|
+
if (data === undefined) {
|
|
1970
|
+
return;
|
|
1971
|
+
}
|
|
1972
|
+
super.load(data);
|
|
1973
|
+
if (data.destroy !== undefined) {
|
|
1974
|
+
this.destroy = data.destroy;
|
|
1975
|
+
}
|
|
1976
|
+
if (data.enable !== undefined) {
|
|
1977
|
+
this.enable = data.enable;
|
|
1978
|
+
}
|
|
1979
|
+
this.minimumValue = (_a = data.minimumValue) !== null && _a !== void 0 ? _a : data.opacity_min;
|
|
1980
|
+
if (data.speed !== undefined) {
|
|
1981
|
+
this.speed = data.speed;
|
|
1982
|
+
}
|
|
1983
|
+
if (data.startValue !== undefined) {
|
|
1984
|
+
this.startValue = data.startValue;
|
|
1985
|
+
}
|
|
1986
|
+
if (data.sync !== undefined) {
|
|
1987
|
+
this.sync = data.sync;
|
|
1988
|
+
}
|
|
1989
|
+
}
|
|
1990
|
+
}
|
|
1841
1991
|
class Opacity_Opacity extends(null && ValueWithRandom){
|
|
1842
1992
|
constructor() {
|
|
1843
1993
|
super();
|
|
@@ -1896,13 +2046,13 @@
|
|
|
1896
2046
|
this.enable = data.enable;
|
|
1897
2047
|
}
|
|
1898
2048
|
if (data.opacity !== undefined) {
|
|
1899
|
-
this.opacity = data.opacity;
|
|
2049
|
+
this.opacity = setRangeValue(data.opacity);
|
|
1900
2050
|
}
|
|
1901
2051
|
if (data.width !== undefined) {
|
|
1902
|
-
this.width = data.width;
|
|
2052
|
+
this.width = setRangeValue(data.width);
|
|
1903
2053
|
}
|
|
1904
2054
|
if (data.radius !== undefined) {
|
|
1905
|
-
this.radius = data.radius;
|
|
2055
|
+
this.radius = setRangeValue(data.radius);
|
|
1906
2056
|
}
|
|
1907
2057
|
if (data.color !== undefined) {
|
|
1908
2058
|
this.color = OptionsColor.create(this.color, data.color);
|
|
@@ -1927,16 +2077,33 @@
|
|
|
1927
2077
|
this.enabled = data.enabled;
|
|
1928
2078
|
}
|
|
1929
2079
|
if (data.distance !== undefined) {
|
|
1930
|
-
this.distance = data.distance;
|
|
2080
|
+
this.distance = setRangeValue(data.distance);
|
|
1931
2081
|
}
|
|
1932
2082
|
if (data.duration !== undefined) {
|
|
1933
|
-
this.duration = data.duration;
|
|
2083
|
+
this.duration = setRangeValue(data.duration);
|
|
1934
2084
|
}
|
|
1935
2085
|
if (data.factor !== undefined) {
|
|
1936
|
-
this.factor = data.factor;
|
|
2086
|
+
this.factor = setRangeValue(data.factor);
|
|
1937
2087
|
}
|
|
1938
2088
|
if (data.speed !== undefined) {
|
|
1939
|
-
this.speed = data.speed;
|
|
2089
|
+
this.speed = setRangeValue(data.speed);
|
|
2090
|
+
}
|
|
2091
|
+
}
|
|
2092
|
+
}
|
|
2093
|
+
class RollLight_RollLight {
|
|
2094
|
+
constructor() {
|
|
2095
|
+
this.enable = false;
|
|
2096
|
+
this.value = 0;
|
|
2097
|
+
}
|
|
2098
|
+
load(data) {
|
|
2099
|
+
if (!data) {
|
|
2100
|
+
return;
|
|
2101
|
+
}
|
|
2102
|
+
if (data.enable !== undefined) {
|
|
2103
|
+
this.enable = data.enable;
|
|
2104
|
+
}
|
|
2105
|
+
if (data.value !== undefined) {
|
|
2106
|
+
this.value = setRangeValue(data.value);
|
|
1940
2107
|
}
|
|
1941
2108
|
}
|
|
1942
2109
|
}
|
|
@@ -1968,6 +2135,27 @@
|
|
|
1968
2135
|
}
|
|
1969
2136
|
}
|
|
1970
2137
|
}
|
|
2138
|
+
class RotateAnimation_RotateAnimation {
|
|
2139
|
+
constructor() {
|
|
2140
|
+
this.enable = false;
|
|
2141
|
+
this.speed = 0;
|
|
2142
|
+
this.sync = false;
|
|
2143
|
+
}
|
|
2144
|
+
load(data) {
|
|
2145
|
+
if (data === undefined) {
|
|
2146
|
+
return;
|
|
2147
|
+
}
|
|
2148
|
+
if (data.enable !== undefined) {
|
|
2149
|
+
this.enable = data.enable;
|
|
2150
|
+
}
|
|
2151
|
+
if (data.speed !== undefined) {
|
|
2152
|
+
this.speed = setRangeValue(data.speed);
|
|
2153
|
+
}
|
|
2154
|
+
if (data.sync !== undefined) {
|
|
2155
|
+
this.sync = data.sync;
|
|
2156
|
+
}
|
|
2157
|
+
}
|
|
2158
|
+
}
|
|
1971
2159
|
class Rotate_Rotate extends(null && ValueWithRandom){
|
|
1972
2160
|
constructor() {
|
|
1973
2161
|
super();
|
|
@@ -2086,6 +2274,45 @@
|
|
|
2086
2274
|
}
|
|
2087
2275
|
}
|
|
2088
2276
|
}
|
|
2277
|
+
class SizeAnimation_SizeAnimation extends(null && AnimationOptions){
|
|
2278
|
+
constructor() {
|
|
2279
|
+
super();
|
|
2280
|
+
this.destroy = "none";
|
|
2281
|
+
this.enable = false;
|
|
2282
|
+
this.speed = 5;
|
|
2283
|
+
this.startValue = "random";
|
|
2284
|
+
this.sync = false;
|
|
2285
|
+
}
|
|
2286
|
+
get size_min() {
|
|
2287
|
+
return this.minimumValue;
|
|
2288
|
+
}
|
|
2289
|
+
set size_min(value) {
|
|
2290
|
+
this.minimumValue = value;
|
|
2291
|
+
}
|
|
2292
|
+
load(data) {
|
|
2293
|
+
var _a;
|
|
2294
|
+
if (data === undefined) {
|
|
2295
|
+
return;
|
|
2296
|
+
}
|
|
2297
|
+
super.load(data);
|
|
2298
|
+
if (data.destroy !== undefined) {
|
|
2299
|
+
this.destroy = data.destroy;
|
|
2300
|
+
}
|
|
2301
|
+
if (data.enable !== undefined) {
|
|
2302
|
+
this.enable = data.enable;
|
|
2303
|
+
}
|
|
2304
|
+
this.minimumValue = (_a = data.minimumValue) !== null && _a !== void 0 ? _a : data.size_min;
|
|
2305
|
+
if (data.speed !== undefined) {
|
|
2306
|
+
this.speed = data.speed;
|
|
2307
|
+
}
|
|
2308
|
+
if (data.startValue !== undefined) {
|
|
2309
|
+
this.startValue = data.startValue;
|
|
2310
|
+
}
|
|
2311
|
+
if (data.sync !== undefined) {
|
|
2312
|
+
this.sync = data.sync;
|
|
2313
|
+
}
|
|
2314
|
+
}
|
|
2315
|
+
}
|
|
2089
2316
|
class Size_Size extends(null && ValueWithRandom){
|
|
2090
2317
|
constructor() {
|
|
2091
2318
|
super();
|
|
@@ -2131,6 +2358,27 @@
|
|
|
2131
2358
|
}
|
|
2132
2359
|
}
|
|
2133
2360
|
}
|
|
2361
|
+
class TiltAnimation_TiltAnimation {
|
|
2362
|
+
constructor() {
|
|
2363
|
+
this.enable = false;
|
|
2364
|
+
this.speed = 0;
|
|
2365
|
+
this.sync = false;
|
|
2366
|
+
}
|
|
2367
|
+
load(data) {
|
|
2368
|
+
if (data === undefined) {
|
|
2369
|
+
return;
|
|
2370
|
+
}
|
|
2371
|
+
if (data.enable !== undefined) {
|
|
2372
|
+
this.enable = data.enable;
|
|
2373
|
+
}
|
|
2374
|
+
if (data.speed !== undefined) {
|
|
2375
|
+
this.speed = setRangeValue(data.speed);
|
|
2376
|
+
}
|
|
2377
|
+
if (data.sync !== undefined) {
|
|
2378
|
+
this.sync = data.sync;
|
|
2379
|
+
}
|
|
2380
|
+
}
|
|
2381
|
+
}
|
|
2134
2382
|
class Tilt_Tilt extends(null && ValueWithRandom){
|
|
2135
2383
|
constructor() {
|
|
2136
2384
|
super();
|
|
@@ -2153,6 +2401,43 @@
|
|
|
2153
2401
|
}
|
|
2154
2402
|
}
|
|
2155
2403
|
}
|
|
2404
|
+
class TwinkleValues_TwinkleValues {
|
|
2405
|
+
constructor() {
|
|
2406
|
+
this.enable = false;
|
|
2407
|
+
this.frequency = .05;
|
|
2408
|
+
this.opacity = 1;
|
|
2409
|
+
}
|
|
2410
|
+
load(data) {
|
|
2411
|
+
if (data === undefined) {
|
|
2412
|
+
return;
|
|
2413
|
+
}
|
|
2414
|
+
if (data.color !== undefined) {
|
|
2415
|
+
this.color = OptionsColor.create(this.color, data.color);
|
|
2416
|
+
}
|
|
2417
|
+
if (data.enable !== undefined) {
|
|
2418
|
+
this.enable = data.enable;
|
|
2419
|
+
}
|
|
2420
|
+
if (data.frequency !== undefined) {
|
|
2421
|
+
this.frequency = data.frequency;
|
|
2422
|
+
}
|
|
2423
|
+
if (data.opacity !== undefined) {
|
|
2424
|
+
this.opacity = setRangeValue(data.opacity);
|
|
2425
|
+
}
|
|
2426
|
+
}
|
|
2427
|
+
}
|
|
2428
|
+
class Twinkle_Twinkle {
|
|
2429
|
+
constructor() {
|
|
2430
|
+
this.lines = new TwinkleValues;
|
|
2431
|
+
this.particles = new TwinkleValues;
|
|
2432
|
+
}
|
|
2433
|
+
load(data) {
|
|
2434
|
+
if (data === undefined) {
|
|
2435
|
+
return;
|
|
2436
|
+
}
|
|
2437
|
+
this.lines.load(data.lines);
|
|
2438
|
+
this.particles.load(data.particles);
|
|
2439
|
+
}
|
|
2440
|
+
}
|
|
2156
2441
|
class Wobble_Wobble {
|
|
2157
2442
|
constructor() {
|
|
2158
2443
|
this.distance = 5;
|
|
@@ -2590,7 +2875,7 @@
|
|
|
2590
2875
|
max: getRangeMax(sizeRange) * pxRatio,
|
|
2591
2876
|
min: getRangeMin(sizeRange) * pxRatio,
|
|
2592
2877
|
loops: 0,
|
|
2593
|
-
maxLoops: sizeOptions.animation.count
|
|
2878
|
+
maxLoops: getRangeValue(sizeOptions.animation.count)
|
|
2594
2879
|
};
|
|
2595
2880
|
const sizeAnimation = sizeOptions.animation;
|
|
2596
2881
|
if (sizeAnimation.enable) {
|
|
@@ -2624,6 +2909,12 @@
|
|
|
2624
2909
|
this.initialVelocity = this.calculateVelocity();
|
|
2625
2910
|
this.velocity = this.initialVelocity.copy();
|
|
2626
2911
|
this.moveDecay = 1 - getRangeValue(this.options.move.decay);
|
|
2912
|
+
const gravityOptions = this.options.move.gravity;
|
|
2913
|
+
this.gravity = {
|
|
2914
|
+
enable: gravityOptions.enable,
|
|
2915
|
+
acceleration: getRangeValue(gravityOptions.acceleration),
|
|
2916
|
+
inverse: gravityOptions.inverse
|
|
2917
|
+
};
|
|
2627
2918
|
this.position = this.calcPosition(container, position, clamp(zIndexValue, 0, container.zLayers));
|
|
2628
2919
|
this.initialPosition = this.position.copy();
|
|
2629
2920
|
this.offset = Vector.origin;
|
|
@@ -2831,12 +3122,7 @@
|
|
|
2831
3122
|
return overlaps;
|
|
2832
3123
|
}
|
|
2833
3124
|
calculateVelocity() {
|
|
2834
|
-
const baseVelocity = getParticleBaseVelocity(this.direction)
|
|
2835
|
-
const res = baseVelocity.copy();
|
|
2836
|
-
const moveOptions = this.options.move;
|
|
2837
|
-
const rad = Math.PI / 180 * moveOptions.angle.value;
|
|
2838
|
-
const radOffset = Math.PI / 180 * moveOptions.angle.offset;
|
|
2839
|
-
const range = {
|
|
3125
|
+
const baseVelocity = getParticleBaseVelocity(this.direction), res = baseVelocity.copy(), moveOptions = this.options.move, rad = Math.PI / 180 * getRangeValue(moveOptions.angle.value), radOffset = Math.PI / 180 * getRangeValue(moveOptions.angle.offset), range = {
|
|
2840
3126
|
left: radOffset - rad / 2,
|
|
2841
3127
|
right: radOffset + rad / 2
|
|
2842
3128
|
};
|
|
@@ -3226,13 +3512,13 @@
|
|
|
3226
3512
|
container.canvas.size.height = element.offsetHeight * ratio;
|
|
3227
3513
|
}
|
|
3228
3514
|
const particles = options.particles;
|
|
3229
|
-
this.attractDistance = particles.move.attract.distance * ratio;
|
|
3515
|
+
this.attractDistance = getRangeValue(particles.move.attract.distance) * ratio;
|
|
3230
3516
|
this.linksDistance = particles.links.distance * ratio;
|
|
3231
3517
|
this.linksWidth = particles.links.width * ratio;
|
|
3232
|
-
this.sizeAnimationSpeed = particles.size.animation.speed * ratio;
|
|
3233
|
-
this.maxSpeed = particles.move.gravity.maxSpeed * ratio;
|
|
3518
|
+
this.sizeAnimationSpeed = getRangeValue(particles.size.animation.speed) * ratio;
|
|
3519
|
+
this.maxSpeed = getRangeValue(particles.move.gravity.maxSpeed) * ratio;
|
|
3234
3520
|
if (particles.orbit.radius !== undefined) {
|
|
3235
|
-
this.orbitRadius = particles.orbit.radius * this.container.retina.pixelRatio;
|
|
3521
|
+
this.orbitRadius = getRangeValue(particles.orbit.radius) * this.container.retina.pixelRatio;
|
|
3236
3522
|
}
|
|
3237
3523
|
const modes = options.interactivity.modes;
|
|
3238
3524
|
this.connectModeDistance = modes.connect.distance * ratio;
|
|
@@ -3252,19 +3538,19 @@
|
|
|
3252
3538
|
const ratio = this.pixelRatio;
|
|
3253
3539
|
const moveDistance = options.move.distance;
|
|
3254
3540
|
const props = particle.retina;
|
|
3255
|
-
props.attractDistance = options.move.attract.distance * ratio;
|
|
3541
|
+
props.attractDistance = getRangeValue(options.move.attract.distance) * ratio;
|
|
3256
3542
|
props.linksDistance = options.links.distance * ratio;
|
|
3257
3543
|
props.linksWidth = options.links.width * ratio;
|
|
3258
3544
|
props.moveDrift = getRangeValue(options.move.drift) * ratio;
|
|
3259
3545
|
props.moveSpeed = getRangeValue(options.move.speed) * ratio;
|
|
3260
|
-
props.sizeAnimationSpeed = options.size.animation.speed * ratio;
|
|
3546
|
+
props.sizeAnimationSpeed = getRangeValue(options.size.animation.speed) * ratio;
|
|
3261
3547
|
if (particle.spin) {
|
|
3262
3548
|
props.spinAcceleration = getRangeValue(options.move.spin.acceleration) * ratio;
|
|
3263
3549
|
}
|
|
3264
3550
|
const maxDistance = props.maxDistance;
|
|
3265
3551
|
maxDistance.horizontal = moveDistance.horizontal !== undefined ? moveDistance.horizontal * ratio : undefined;
|
|
3266
3552
|
maxDistance.vertical = moveDistance.vertical !== undefined ? moveDistance.vertical * ratio : undefined;
|
|
3267
|
-
props.maxSpeed = options.move.gravity.maxSpeed * ratio;
|
|
3553
|
+
props.maxSpeed = getRangeValue(options.move.gravity.maxSpeed) * ratio;
|
|
3268
3554
|
}
|
|
3269
3555
|
handleMotionChange(mediaQuery) {
|
|
3270
3556
|
const options = this.container.actualOptions;
|
|
@@ -4596,7 +4882,7 @@
|
|
|
4596
4882
|
function setColorAnimation(colorValue, colorAnimation, reduceFactor) {
|
|
4597
4883
|
colorValue.enable = colorAnimation.enable;
|
|
4598
4884
|
if (colorValue.enable) {
|
|
4599
|
-
colorValue.velocity = colorAnimation.speed / 100 * reduceFactor;
|
|
4885
|
+
colorValue.velocity = NumberUtils_getRangeValue(colorAnimation.speed) / 100 * reduceFactor;
|
|
4600
4886
|
if (colorAnimation.sync) {
|
|
4601
4887
|
return;
|
|
4602
4888
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! tsParticles v1.
|
|
2
|
-
!function(o,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t=e();for(var n in t)("object"==typeof exports?exports:o)[n]=t[n]}}(window,(function(){return function(){"use strict";var o={d:function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o:function(o,e){return Object.prototype.hasOwnProperty.call(o,e)},r:function(o){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})}},e={};o.r(e),o.d(e,{loadStrokeColorUpdater:function(){return
|
|
1
|
+
/*! tsParticles v1.42.2 by Matteo Bruni */
|
|
2
|
+
!function(o,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t=e();for(var n in t)("object"==typeof exports?exports:o)[n]=t[n]}}(window,(function(){return function(){"use strict";var o={d:function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o:function(o,e){return Object.prototype.hasOwnProperty.call(o,e)},r:function(o){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})}},e={};o.r(e),o.d(e,{loadStrokeColorUpdater:function(){return y}});class t{}t.generatedAttribute="generated",t.randomColorValue="random",t.midColorValue="mid",t.touchEndEvent="touchend",t.mouseDownEvent="mousedown",t.mouseUpEvent="mouseup",t.mouseMoveEvent="mousemove",t.touchStartEvent="touchstart",t.touchMoveEvent="touchmove",t.mouseLeaveEvent="mouseleave",t.mouseOutEvent="mouseout",t.touchCancelEvent="touchcancel",t.resizeEvent="resize",t.visibilityChangeEvent="visibilitychange",t.noPolygonDataLoaded="No polygon data loaded.",t.noPolygonFound="No polygon found, you need to specify SVG url in config.";new WeakMap;new WeakMap;new WeakMap,new WeakSet;new WeakMap;new WeakMap;new WeakMap;function n(o){const e=l(o);let t=a(o);return e===t&&(t=0),Math.random()*(e-t)+t}function r(o){return"number"==typeof o?o:n(o)}function a(o){return"number"==typeof o?o:o.min}function l(o){return"number"==typeof o?o:o.max}function s(o,e){if(o===e||void 0===e&&"number"==typeof o)return o;const t=a(o),n=l(o);return void 0!==e?{min:Math.min(t,e),max:Math.max(n,e)}:s(t,n)}function i(o,e,t=!0){return o[void 0!==e&&t?e%o.length:function(o){return Math.floor(Math.random()*o.length)}(o)]}function u(o,e,t){let n=t;return n<0&&(n+=1),n>1&&(n-=1),n<1/6?o+6*(e-o)*n:n<.5?e:n<2/3?o+(e-o)*(2/3-n)*6:o}function d(o){if(o.startsWith("rgb")){const e=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.]+)\s*)?\)/i.exec(o);return e?{a:e.length>4?parseFloat(e[5]):1,b:parseInt(e[3],10),g:parseInt(e[2],10),r:parseInt(e[1],10)}:void 0}if(o.startsWith("hsl")){const e=/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(o);return e?function(o){const e=f(o);return{a:o.a,b:e.b,g:e.g,r:e.r}}({a:e.length>4?parseFloat(e[5]):1,h:parseInt(e[1],10),l:parseInt(e[3],10),s:parseInt(e[2],10)}):void 0}if(o.startsWith("hsv")){const e=/hsva?\(\s*(\d+)°\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(o);return e?function(o){const e=h(o);return{a:o.a,b:e.b,g:e.g,r:e.r}}({a:e.length>4?parseFloat(e[5]):1,h:parseInt(e[1],10),s:parseInt(e[2],10),v:parseInt(e[3],10)}):void 0}{const e=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,t=o.replace(e,((o,e,t,n,r)=>e+e+t+t+n+n+(void 0!==r?r+r:""))),n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(t);return n?{a:void 0!==n[4]?parseInt(n[4],16)/255:1,b:parseInt(n[3],16),g:parseInt(n[2],16),r:parseInt(n[1],16)}:void 0}}function v(o,e,n=!0){var r,a,l;if(void 0===o)return;const s="string"==typeof o?{value:o}:o;let u;if("string"==typeof s.value)u=s.value===t.randomColorValue?p():function(o){return d(o)}(s.value);else if(s.value instanceof Array){u=v({value:i(s.value,e,n)})}else{const o=s.value,e=null!==(r=o.rgb)&&void 0!==r?r:s.value;if(void 0!==e.r)u=e;else{const e=null!==(a=o.hsl)&&void 0!==a?a:s.value;if(void 0!==e.h&&void 0!==e.l)u=f(e);else{const e=null!==(l=o.hsv)&&void 0!==l?l:s.value;void 0!==e.h&&void 0!==e.v&&(u=h(e))}}}return u}function c(o,e,t=!0){const n=v(o,e,t);return void 0!==n?function(o){const e=o.r/255,t=o.g/255,n=o.b/255,r=Math.max(e,t,n),a=Math.min(e,t,n),l={h:0,l:(r+a)/2,s:0};r!=a&&(l.s=l.l<.5?(r-a)/(r+a):(r-a)/(2-r-a),l.h=e===r?(t-n)/(r-a):l.h=t===r?2+(n-e)/(r-a):4+(e-t)/(r-a));l.l*=100,l.s*=100,l.h*=60,l.h<0&&(l.h+=360);return l}(n):void 0}function f(o){const e={b:0,g:0,r:0},t={h:o.h/360,l:o.l/100,s:o.s/100};if(0===t.s)e.b=t.l,e.g=t.l,e.r=t.l;else{const o=t.l<.5?t.l*(1+t.s):t.l+t.s-t.l*t.s,n=2*t.l-o;e.r=u(n,o,t.h+1/3),e.g=u(n,o,t.h),e.b=u(n,o,t.h-1/3)}return e.r=Math.floor(255*e.r),e.g=Math.floor(255*e.g),e.b=Math.floor(255*e.b),e}function h(o){const e={b:0,g:0,r:0},t=o.h/60,n=o.s/100,r=o.v/100,a=r*n,l=a*(1-Math.abs(t%2-1));let s;if(t>=0&&t<=1?s={r:a,g:l,b:0}:t>1&&t<=2?s={r:l,g:a,b:0}:t>2&&t<=3?s={r:0,g:a,b:l}:t>3&&t<=4?s={r:0,g:l,b:a}:t>4&&t<=5?s={r:l,g:0,b:a}:t>5&&t<=6&&(s={r:a,g:0,b:l}),s){const o=r-a;e.r=Math.floor(255*(s.r+o)),e.g=Math.floor(255*(s.g+o)),e.b=Math.floor(255*(s.b+o))}return e}function p(o){const e=null!=o?o:0;return{b:Math.floor(n(s(e,256))),g:Math.floor(n(s(e,256))),r:Math.floor(n(s(e,256)))}}function b(o,e,t){if(o.enable=e.enable,o.enable){if(o.velocity=r(e.speed)/100*t,e.sync)return;o.status=0,o.velocity*=Math.random(),o.value&&(o.value*=Math.random())}else o.velocity=0}function g(o,e,t,r,a){var l;const s=e;if(!s||!s.enable)return;const i=n(t.offset),u=(null!==(l=e.velocity)&&void 0!==l?l:0)*o.factor+3.6*i;a&&0!==s.status?(s.value-=u,s.value<0&&(s.status=0,s.value+=s.value)):(s.value+=u,a&&s.value>r&&(s.status=1,s.value-=s.value%r)),s.value>r&&(s.value%=r)}new WeakMap;class m{constructor(o){this.container=o}init(o){var e,t;const n=this.container;o.stroke=o.options.stroke instanceof Array?i(o.options.stroke,o.id,o.options.reduceDuplicates):o.options.stroke,o.strokeWidth=o.stroke.width*n.retina.pixelRatio;const r=null!==(e=c(o.stroke.color))&&void 0!==e?e:o.getFillColor();r&&(o.strokeColor=function(o,e,t){const n={h:{enable:!1,value:o.h},s:{enable:!1,value:o.s},l:{enable:!1,value:o.l}};return e&&(b(n.h,e.h,t),b(n.s,e.s,t),b(n.l,e.l,t)),n}(r,null===(t=o.stroke.color)||void 0===t?void 0:t.animation,n.retina.reduceFactor))}isEnabled(o){var e,t,n,r;const a=null===(e=o.stroke)||void 0===e?void 0:e.color;return!o.destroyed&&!o.spawning&&!!a&&(void 0!==(null===(t=o.strokeColor)||void 0===t?void 0:t.h.value)&&a.animation.h.enable||void 0!==(null===(n=o.strokeColor)||void 0===n?void 0:n.s.value)&&a.animation.s.enable||void 0!==(null===(r=o.strokeColor)||void 0===r?void 0:r.l.value)&&a.animation.l.enable)}update(o,e){this.isEnabled(o)&&function(o,e){var t,n,r,a,l,s,i,u,d,v;if(!(null===(t=o.stroke)||void 0===t?void 0:t.color))return;const c=o.stroke.color.animation,f=null!==(r=null===(n=o.strokeColor)||void 0===n?void 0:n.h)&&void 0!==r?r:null===(a=o.color)||void 0===a?void 0:a.h;f&&g(e,f,c.h,360,!1);const h=null!==(s=null===(l=o.strokeColor)||void 0===l?void 0:l.s)&&void 0!==s?s:null===(i=o.color)||void 0===i?void 0:i.s;h&&g(e,h,c.s,100,!0);const p=null!==(d=null===(u=o.strokeColor)||void 0===u?void 0:u.l)&&void 0!==d?d:null===(v=o.color)||void 0===v?void 0:v.l;p&&g(e,p,c.l,100,!0)}(o,e)}}async function y(o){await o.addParticleUpdater("strokeColor",(o=>new m(o)))}return e}()}));
|