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
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! tsParticles v1.
|
|
2
|
-
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var i=e();for(var o in i)("object"==typeof exports?exports:t)[o]=i[o]}}(window,(function(){return function(){"use strict";var t={d:function(e,i){for(var o in i)t.o(i,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:i[o]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r:function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{loadEmittersPlugin:function(){return J}});class i{randomPosition(t,e,i){const[o,n]=[e.width/2,e.height/2],s=((t,e)=>{const i=Math.random()/4,o=Math.atan(e/t*Math.tan(2*Math.PI*i)),n=Math.random();return n<.25?o:n<.5?Math.PI-o:n<.75?Math.PI+o:-o})(o,n),r=(d=s,(h=o)*(l=n)/Math.sqrt((l*Math.cos(d))**2+(h*Math.sin(d))**2)),a=i?r*Math.sqrt(Math.random()):r;var h,l,d;return{x:t.x+a*Math.cos(s),y:t.y+a*Math.sin(s)}}}class o{}o.generatedAttribute="generated",o.randomColorValue="random",o.midColorValue="mid",o.touchEndEvent="touchend",o.mouseDownEvent="mousedown",o.mouseUpEvent="mouseup",o.mouseMoveEvent="mousemove",o.touchStartEvent="touchstart",o.touchMoveEvent="touchmove",o.mouseLeaveEvent="mouseleave",o.mouseOutEvent="mouseout",o.touchCancelEvent="touchcancel",o.resizeEvent="resize",o.visibilityChangeEvent="visibilitychange",o.noPolygonDataLoaded="No polygon data loaded.",o.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(t){const e=a(t);let i=r(t);return e===i&&(i=0),Math.random()*(e-i)+i}function s(t){return"number"==typeof t?t:n(t)}function r(t){return"number"==typeof t?t:t.min}function a(t){return"number"==typeof t?t:t.max}function h(t,e){if(t===e||void 0===e&&"number"==typeof t)return t;const i=r(t),o=a(t);return void 0!==e?{min:Math.min(i,e),max:Math.max(o,e)}:h(i,o)}function l(t,e){return t===e||e instanceof Array&&e.indexOf(t)>-1}function d(t,e,i=!0){return t[void 0!==e&&i?e%t.length:function(t){return Math.floor(Math.random()*t.length)}(t)]}function c(t,e){return{bottom:t.y+e,left:t.x-e,right:t.x+e,top:t.y-e}}function u(t,...e){for(const i of e){if(null==i)continue;if("object"!=typeof i){t=i;continue}const e=Array.isArray(i);!e||"object"==typeof t&&t&&Array.isArray(t)?e||"object"==typeof t&&t&&!Array.isArray(t)||(t={}):t=[];for(const e in i){if("__proto__"===e)continue;const o=i[e],n="object"==typeof o,s=t;s[e]=n&&Array.isArray(o)?o.map((t=>u(s[e],t))):u(s[e],o)}}return t}function p(t,e,i){let o=i;return o<0&&(o+=1),o>1&&(o-=1),o<1/6?t+6*(e-t)*o:o<.5?e:o<2/3?t+(e-t)*(2/3-o)*6:t}function f(t){if(t.startsWith("rgb")){const e=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);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(t.startsWith("hsl")){const e=/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return e?function(t){const e=y(t);return{a:t.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(t.startsWith("hsv")){const e=/hsva?\(\s*(\d+)°\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return e?function(t){const e=w(t);return{a:t.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,i=t.replace(e,((t,e,i,o,n)=>e+e+i+i+o+o+(void 0!==n?n+n:""))),o=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(i);return o?{a:void 0!==o[4]?parseInt(o[4],16)/255:1,b:parseInt(o[3],16),g:parseInt(o[2],16),r:parseInt(o[1],16)}:void 0}}function v(t,e,i=!0){var n,s,r;if(void 0===t)return;const a="string"==typeof t?{value:t}:t;let h;if("string"==typeof a.value)h=a.value===o.randomColorValue?g():function(t){return f(t)}(a.value);else if(a.value instanceof Array){h=v({value:d(a.value,e,i)})}else{const t=a.value,e=null!==(n=t.rgb)&&void 0!==n?n:a.value;if(void 0!==e.r)h=e;else{const e=null!==(s=t.hsl)&&void 0!==s?s:a.value;if(void 0!==e.h&&void 0!==e.l)h=y(e);else{const e=null!==(r=t.hsv)&&void 0!==r?r:a.value;void 0!==e.h&&void 0!==e.v&&(h=w(e))}}}return h}function m(t,e,i=!0){const o=v(t,e,i);return void 0!==o?function(t){const e=t.r/255,i=t.g/255,o=t.b/255,n=Math.max(e,i,o),s=Math.min(e,i,o),r={h:0,l:(n+s)/2,s:0};n!=s&&(r.s=r.l<.5?(n-s)/(n+s):(n-s)/(2-n-s),r.h=e===n?(i-o)/(n-s):r.h=i===n?2+(o-e)/(n-s):4+(e-i)/(n-s));r.l*=100,r.s*=100,r.h*=60,r.h<0&&(r.h+=360);return r}(o):void 0}function y(t){const e={b:0,g:0,r:0},i={h:t.h/360,l:t.l/100,s:t.s/100};if(0===i.s)e.b=i.l,e.g=i.l,e.r=i.l;else{const t=i.l<.5?i.l*(1+i.s):i.l+i.s-i.l*i.s,o=2*i.l-t;e.r=p(o,t,i.h+1/3),e.g=p(o,t,i.h),e.b=p(o,t,i.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 w(t){const e={b:0,g:0,r:0},i=t.h/60,o=t.s/100,n=t.v/100,s=n*o,r=s*(1-Math.abs(i%2-1));let a;if(i>=0&&i<=1?a={r:s,g:r,b:0}:i>1&&i<=2?a={r:r,g:s,b:0}:i>2&&i<=3?a={r:0,g:s,b:r}:i>3&&i<=4?a={r:0,g:r,b:s}:i>4&&i<=5?a={r:r,g:0,b:s}:i>5&&i<=6&&(a={r:s,g:0,b:r}),a){const t=n-s;e.r=Math.floor(255*(a.r+t)),e.g=Math.floor(255*(a.g+t)),e.b=Math.floor(255*(a.b+t))}return e}function g(t){const e=null!=t?t:0;return{b:Math.floor(n(h(e,256))),g:Math.floor(n(h(e,256))),r:Math.floor(n(h(e,256)))}}new WeakMap;class b{constructor(){this.count=0,this.enable=!1,this.offset=0,this.speed=1,this.sync=!0}load(t){void 0!==t&&(void 0!==t.count&&(this.count=t.count),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.offset&&(this.offset=h(t.offset)),void 0!==t.speed&&(this.speed=t.speed),void 0!==t.sync&&(this.sync=t.sync))}}class E{constructor(){this.h=new b,this.s=new b,this.l=new b}load(t){t&&(this.h.load(t.h),this.s.load(t.s),this.l.load(t.l))}}class M{constructor(){this.value="#fff"}static create(t,e){const i=new M;return i.load(t),void 0!==e&&("string"==typeof e||e instanceof Array?i.load({value:e}):i.load(e)),i}load(t){void 0!==(null==t?void 0:t.value)&&(this.value=t.value)}}class P extends M{constructor(){super(),this.animation=new E}static create(t,e){const i=new P;return i.load(t),void 0!==e&&("string"==typeof e||e instanceof Array?i.load({value:e}):i.load(e)),i}load(t){if(super.load(t),!t)return;const e=t.animation;void 0!==e&&(void 0!==e.enable?this.animation.h.load(e):this.animation.load(t.animation))}}class C{constructor(){this.wait=!1}load(t){void 0!==t&&(void 0!==t.count&&(this.count=t.count),void 0!==t.delay&&(this.delay=t.delay),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.wait&&(this.wait=t.wait))}}class x{constructor(){this.quantity=1,this.delay=.1}load(t){void 0!==t&&(void 0!==t.quantity&&(this.quantity=h(t.quantity)),void 0!==t.delay&&(this.delay=h(t.delay)))}}class D{constructor(){this.mode="percent",this.height=0,this.width=0}load(t){void 0!==t&&(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.height&&(this.height=t.height),void 0!==t.width&&(this.width=t.width))}}class S{constructor(){this.autoPlay=!0,this.fill=!0,this.life=new C,this.rate=new x,this.shape="square",this.startCount=0}load(t){void 0!==t&&(void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay),void 0!==t.size&&(void 0===this.size&&(this.size=new D),this.size.load(t.size)),void 0!==t.direction&&(this.direction=t.direction),this.domId=t.domId,void 0!==t.fill&&(this.fill=t.fill),this.life.load(t.life),this.name=t.name,void 0!==t.particles&&(this.particles=u({},t.particles)),this.rate.load(t.rate),void 0!==t.shape&&(this.shape=t.shape),void 0!==t.position&&(this.position={x:t.position.x,y:t.position.y}),void 0!==t.spawnColor&&(void 0===this.spawnColor&&(this.spawnColor=new P),this.spawnColor.load(t.spawnColor)),void 0!==t.startCount&&(this.startCount=t.startCount))}}var A,z,I,T=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},k=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class j{constructor(t,e,i,o,n){var s,r,a,h,l,d,c,p;this.emitters=e,this.container=i,A.set(this,void 0),z.set(this,void 0),I.set(this,void 0),T(this,I,t,"f"),this.currentDuration=0,this.currentEmitDelay=0,this.currentSpawnDelay=0,this.initialPosition=n,o instanceof S?this.options=o:(this.options=new S,this.options.load(o)),this.spawnDelay=1e3*(null!==(s=this.options.life.delay)&&void 0!==s?s:0)/this.container.retina.reduceFactor,this.position=null!==(r=this.initialPosition)&&void 0!==r?r:this.calcPosition(),this.name=this.options.name,this.shape=null===(a=k(this,I,"f").emitterShapeManager)||void 0===a?void 0:a.getShape(this.options.shape),this.fill=this.options.fill,T(this,A,!this.options.life.wait,"f"),T(this,z,!1,"f");let f=u({},this.options.particles);null!=f||(f={}),null!==(h=f.move)&&void 0!==h||(f.move={}),null!==(l=(p=f.move).direction)&&void 0!==l||(p.direction=this.options.direction),this.options.spawnColor&&(this.spawnColor=m(this.options.spawnColor)),this.paused=!this.options.autoPlay,this.particlesOptions=f,this.size=null!==(d=this.options.size)&&void 0!==d?d:(()=>{const t=new D;return t.load({height:0,mode:"percent",width:0}),t})(),this.lifeCount=null!==(c=this.options.life.count)&&void 0!==c?c:-1,this.immortal=this.lifeCount<=0,this.play()}externalPlay(){this.paused=!1,this.play()}externalPause(){this.paused=!0,this.pause()}play(){var t;if(!this.paused&&this.container.retina.reduceFactor&&(this.lifeCount>0||this.immortal||!this.options.life.count)&&(k(this,A,"f")||this.currentSpawnDelay>=(null!==(t=this.spawnDelay)&&void 0!==t?t:0))){if(void 0===this.emitDelay){const t=s(this.options.rate.delay);this.emitDelay=1e3*t/this.container.retina.reduceFactor}(this.lifeCount>0||this.immortal)&&this.prepareToDie()}}pause(){this.paused||delete this.emitDelay}resize(){const t=this.initialPosition;var e,i,o,n;this.position=t&&(e=t,i=this.container.canvas.size,function(t,e,i){let o=!0;return i&&"bottom"!==i||(o=t.top<e.height),!o||i&&"left"!==i||(o=t.right>0),!o||i&&"right"!==i||(o=t.left<e.width),!o||i&&"top"!==i||(o=t.bottom>0),o}(c(e,null!=o?o:0),i,n))?t:this.calcPosition()}update(t){var e,i,o;this.paused||(k(this,A,"f")&&(T(this,A,!1,"f"),this.currentSpawnDelay=null!==(e=this.spawnDelay)&&void 0!==e?e:0,this.currentEmitDelay=null!==(i=this.emitDelay)&&void 0!==i?i:0),k(this,z,"f")||(T(this,z,!0,"f"),this.emitParticles(this.options.startCount)),void 0!==this.duration&&(this.currentDuration+=t.value,this.currentDuration>=this.duration&&(this.pause(),void 0!==this.spawnDelay&&delete this.spawnDelay,this.immortal||this.lifeCount--,this.lifeCount>0||this.immortal?(this.position=this.calcPosition(),this.spawnDelay=1e3*(null!==(o=this.options.life.delay)&&void 0!==o?o:0)/this.container.retina.reduceFactor):this.destroy(),this.currentDuration-=this.duration,delete this.duration)),void 0!==this.spawnDelay&&(this.currentSpawnDelay+=t.value,this.currentSpawnDelay>=this.spawnDelay&&(this.play(),this.currentSpawnDelay-=this.currentSpawnDelay,delete this.spawnDelay)),void 0!==this.emitDelay&&(this.currentEmitDelay+=t.value,this.currentEmitDelay>=this.emitDelay&&(this.emit(),this.currentEmitDelay-=this.emitDelay)))}getPosition(){if(this.options.domId){const t=this.container,e=document.getElementById(this.options.domId);if(e){const i=e.getBoundingClientRect();return{x:(i.x+i.width/2)*t.retina.pixelRatio,y:(i.y+i.height/2)*t.retina.pixelRatio}}}return this.position}getSize(){const t=this.container;if(this.options.domId){const e=document.getElementById(this.options.domId);if(e){const i=e.getBoundingClientRect();return{width:i.width*t.retina.pixelRatio,height:i.height*t.retina.pixelRatio}}}return{width:"percent"===this.size.mode?t.canvas.size.width*this.size.width/100:this.size.width,height:"percent"===this.size.mode?t.canvas.size.height*this.size.height/100:this.size.height}}prepareToDie(){var t;if(this.paused)return;const e=null===(t=this.options.life)||void 0===t?void 0:t.duration;this.container.retina.reduceFactor&&(this.lifeCount>0||this.immortal)&&void 0!==e&&e>0&&(this.duration=1e3*e)}destroy(){this.emitters.removeEmitter(this)}calcPosition(){var t,e;const i=this.container,o=this.options.position;return{x:(null!==(t=null==o?void 0:o.x)&&void 0!==t?t:100*Math.random())/100*i.canvas.size.width,y:(null!==(e=null==o?void 0:o.y)&&void 0!==e?e:100*Math.random())/100*i.canvas.size.height}}emit(){if(this.paused)return;const t=s(this.options.rate.quantity);this.emitParticles(t)}emitParticles(t){var e,i,o;const n=this.container,s=this.getPosition(),r=this.getSize();for(let a=0;a<t;a++){const t=u({},this.particlesOptions);if(this.spawnColor){const i=null===(e=this.options.spawnColor)||void 0===e?void 0:e.animation;i&&(this.spawnColor.h=this.setColorAnimation(i.h,this.spawnColor.h,360),this.spawnColor.s=this.setColorAnimation(i.s,this.spawnColor.s,100),this.spawnColor.l=this.setColorAnimation(i.l,this.spawnColor.l,100)),t.color?t.color.value=this.spawnColor:t.color={value:this.spawnColor}}if(!s)return;const a=null!==(o=null===(i=this.shape)||void 0===i?void 0:i.randomPosition(s,r,this.fill))&&void 0!==o?o:s;n.particles.addParticle(a,t)}}setColorAnimation(t,e,i){var o;const r=this.container;if(!t.enable)return e;const a=n(t.offset),h=1e3*s(this.options.rate.delay)/r.retina.reduceFactor;return(e+(null!==(o=t.speed)&&void 0!==o?o:0)*r.fpsLimit/h+3.6*a)%i}}A=new WeakMap,z=new WeakMap,I=new WeakMap;var W,O=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},F=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class q{constructor(t,e){this.container=e,W.set(this,void 0),O(this,W,t,"f"),this.array=[],this.emitters=[],this.interactivityEmitters=[];const i=e;i.getEmitter=t=>void 0===t||"number"==typeof t?this.array[t||0]:this.array.find((e=>e.name===t)),i.addEmitter=(t,e)=>this.addEmitter(t,e),i.removeEmitter=t=>{const e=i.getEmitter(t);e&&this.removeEmitter(e)},i.playEmitter=t=>{const e=i.getEmitter(t);e&&e.externalPlay()},i.pauseEmitter=t=>{const e=i.getEmitter(t);e&&e.externalPause()}}init(t){var e,i;if(!t)return;t.emitters&&(t.emitters instanceof Array?this.emitters=t.emitters.map((t=>{const e=new S;return e.load(t),e})):(this.emitters instanceof Array&&(this.emitters=new S),this.emitters.load(t.emitters)));const o=null===(i=null===(e=t.interactivity)||void 0===e?void 0:e.modes)||void 0===i?void 0:i.emitters;if(o&&(o instanceof Array?this.interactivityEmitters=o.map((t=>{const e=new S;return e.load(t),e})):(this.interactivityEmitters instanceof Array&&(this.interactivityEmitters=new S),this.interactivityEmitters.load(o))),this.emitters instanceof Array)for(const t of this.emitters)this.addEmitter(t);else this.addEmitter(this.emitters)}play(){for(const t of this.array)t.play()}pause(){for(const t of this.array)t.pause()}stop(){this.array=[]}update(t){for(const e of this.array)e.update(t)}handleClickMode(t){const e=this.container,i=this.emitters,o=this.interactivityEmitters;if("emitter"===t){let t;o instanceof Array?o.length>0&&(t=d(o)):t=o;const n=null!=t?t:i instanceof Array?d(i):i,s=e.interactivity.mouse.clickPosition;this.addEmitter(u({},n),s)}}resize(){for(const t of this.array)t.resize()}addEmitter(t,e){const i=new S;i.load(t);const o=new j(F(this,W,"f"),this,this.container,i,e);return this.array.push(o),o}removeEmitter(t){const e=this.array.indexOf(t);e>=0&&this.array.splice(e,1)}}W=new WeakMap;var R,_=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i};const B=new Map;class V{constructor(t){R.set(this,void 0),_(this,R,t,"f")}addShape(t,e){this.getShape(t)||B.set(t,e)}getShape(t){return B.get(t)}getSupportedShapes(){return B.keys()}}function L(t,e){return t+e*(Math.random()-.5)}R=new WeakMap;class N{randomPosition(t,e,i){if(i)return{x:L(t.x,e.width),y:L(t.y,e.height)};{const i=e.width/2,o=e.height/2,n=Math.floor(4*Math.random()),s=2*(Math.random()-.5);switch(n){case 0:return{x:t.x+s*i,y:t.y-o};case 1:return{x:t.x-i,y:t.y+s*o};case 2:return{x:t.x+s*i,y:t.y+o};case 3:default:return{x:t.x+i,y:t.y+s*o}}}}}var $,G=function(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i},U=function(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)};class H{constructor(t){$.set(this,void 0),G(this,$,t,"f"),this.id="emitters"}getPlugin(t){return new q(U(this,$,"f"),t)}needsPlugin(t){var e,i,o;if(void 0===t)return!1;const n=t.emitters;return n instanceof Array&&!!n.length||void 0!==n||!!(null===(o=null===(i=null===(e=t.interactivity)||void 0===e?void 0:e.events)||void 0===i?void 0:i.onClick)||void 0===o?void 0:o.mode)&&l("emitter",t.interactivity.events.onClick.mode)}loadOptions(t,e){var i,o;if(!this.needsPlugin(t)&&!this.needsPlugin(e))return;const n=t;if(null==e?void 0:e.emitters)if((null==e?void 0:e.emitters)instanceof Array)n.emitters=null==e?void 0:e.emitters.map((t=>{const e=new S;return e.load(t),e}));else{let t=n.emitters;void 0===(null==t?void 0:t.load)&&(n.emitters=t=new S),t.load(null==e?void 0:e.emitters)}const s=null===(o=null===(i=null==e?void 0:e.interactivity)||void 0===i?void 0:i.modes)||void 0===o?void 0:o.emitters;if(s)if(s instanceof Array)n.interactivity.modes.emitters=s.map((t=>{const e=new S;return e.load(t),e}));else{let t=n.interactivity.modes.emitters;void 0===(null==t?void 0:t.load)&&(n.interactivity.modes.emitters=t=new S),t.load(s)}}}async function J(t){t.emitterShapeManager||(t.emitterShapeManager=new V(t)),t.addEmitterShape||(t.addEmitterShape=(e,i)=>{var o;null===(o=t.emitterShapeManager)||void 0===o||o.addShape(e,i)});const e=new H(t);await t.addPlugin(e),t.addEmitterShape("circle",new i),t.addEmitterShape("square",new N)}return $=new WeakMap,e}()}));
|
|
1
|
+
/*! tsParticles v1.42.2 by Matteo Bruni */
|
|
2
|
+
!function(t,i){if("object"==typeof exports&&"object"==typeof module)module.exports=i();else if("function"==typeof define&&define.amd)define([],i);else{var e=i();for(var o in e)("object"==typeof exports?exports:t)[o]=e[o]}}(window,(function(){return function(){"use strict";var t={d:function(i,e){for(var o in e)t.o(e,o)&&!t.o(i,o)&&Object.defineProperty(i,o,{enumerable:!0,get:e[o]})},o:function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},r:function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},i={};t.r(i),t.d(i,{loadEmittersPlugin:function(){return J}});class e{randomPosition(t,i,e){const[o,s]=[i.width/2,i.height/2],n=((t,i)=>{const e=Math.random()/4,o=Math.atan(i/t*Math.tan(2*Math.PI*e)),s=Math.random();return s<.25?o:s<.5?Math.PI-o:s<.75?Math.PI+o:-o})(o,s),r=(d=n,(h=o)*(l=s)/Math.sqrt((l*Math.cos(d))**2+(h*Math.sin(d))**2)),a=e?r*Math.sqrt(Math.random()):r;var h,l,d;return{x:t.x+a*Math.cos(n),y:t.y+a*Math.sin(n)}}}class o{}o.generatedAttribute="generated",o.randomColorValue="random",o.midColorValue="mid",o.touchEndEvent="touchend",o.mouseDownEvent="mousedown",o.mouseUpEvent="mouseup",o.mouseMoveEvent="mousemove",o.touchStartEvent="touchstart",o.touchMoveEvent="touchmove",o.mouseLeaveEvent="mouseleave",o.mouseOutEvent="mouseout",o.touchCancelEvent="touchcancel",o.resizeEvent="resize",o.visibilityChangeEvent="visibilitychange",o.noPolygonDataLoaded="No polygon data loaded.",o.noPolygonFound="No polygon found, you need to specify SVG url in config.";new WeakMap;new WeakMap;class s{constructor(){this.count=0,this.enable=!1,this.offset=0,this.speed=1,this.sync=!0}load(t){void 0!==t&&(void 0!==t.count&&(this.count=u(t.count)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.offset&&(this.offset=u(t.offset)),void 0!==t.speed&&(this.speed=u(t.speed)),void 0!==t.sync&&(this.sync=t.sync))}}class n{constructor(){this.h=new s,this.s=new s,this.l=new s}load(t){t&&(this.h.load(t.h),this.s.load(t.s),this.l.load(t.l))}}class r{constructor(){this.value="#fff"}static create(t,i){const e=new r;return e.load(t),void 0!==i&&("string"==typeof i||i instanceof Array?e.load({value:i}):e.load(i)),e}load(t){void 0!==(null==t?void 0:t.value)&&(this.value=t.value)}}class a extends r{constructor(){super(),this.animation=new n}static create(t,i){const e=new a;return e.load(t),void 0!==i&&("string"==typeof i||i instanceof Array?e.load({value:i}):e.load(i)),e}load(t){if(super.load(t),!t)return;const i=t.animation;void 0!==i&&(void 0!==i.enable?this.animation.h.load(i):this.animation.load(t.animation))}}new WeakMap,new WeakSet;new WeakMap;new WeakMap;new WeakMap;function h(t){const i=c(t);let e=d(t);return i===e&&(e=0),Math.random()*(i-e)+e}function l(t){return"number"==typeof t?t:h(t)}function d(t){return"number"==typeof t?t:t.min}function c(t){return"number"==typeof t?t:t.max}function u(t,i){if(t===i||void 0===i&&"number"==typeof t)return t;const e=d(t),o=c(t);return void 0!==i?{min:Math.min(e,i),max:Math.max(o,i)}:u(e,o)}function p(t,i){return t===i||i instanceof Array&&i.indexOf(t)>-1}function f(t,i,e=!0){return t[void 0!==i&&e?i%t.length:function(t){return Math.floor(Math.random()*t.length)}(t)]}function v(t,i){return{bottom:t.y+i,left:t.x-i,right:t.x+i,top:t.y-i}}function m(t,...i){for(const e of i){if(null==e)continue;if("object"!=typeof e){t=e;continue}const i=Array.isArray(e);!i||"object"==typeof t&&t&&Array.isArray(t)?i||"object"==typeof t&&t&&!Array.isArray(t)||(t={}):t=[];for(const i in e){if("__proto__"===i)continue;const o=e[i],s="object"==typeof o,n=t;n[i]=s&&Array.isArray(o)?o.map((t=>m(n[i],t))):m(n[i],o)}}return t}function y(t,i,e){let o=e;return o<0&&(o+=1),o>1&&(o-=1),o<1/6?t+6*(i-t)*o:o<.5?i:o<2/3?t+(i-t)*(2/3-o)*6:t}function w(t){if(t.startsWith("rgb")){const i=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return i?{a:i.length>4?parseFloat(i[5]):1,b:parseInt(i[3],10),g:parseInt(i[2],10),r:parseInt(i[1],10)}:void 0}if(t.startsWith("hsl")){const i=/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return i?function(t){const i=E(t);return{a:t.a,b:i.b,g:i.g,r:i.r}}({a:i.length>4?parseFloat(i[5]):1,h:parseInt(i[1],10),l:parseInt(i[3],10),s:parseInt(i[2],10)}):void 0}if(t.startsWith("hsv")){const i=/hsva?\(\s*(\d+)°\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return i?function(t){const i=M(t);return{a:t.a,b:i.b,g:i.g,r:i.r}}({a:i.length>4?parseFloat(i[5]):1,h:parseInt(i[1],10),s:parseInt(i[2],10),v:parseInt(i[3],10)}):void 0}{const i=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,e=t.replace(i,((t,i,e,o,s)=>i+i+e+e+o+o+(void 0!==s?s+s:""))),o=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(e);return o?{a:void 0!==o[4]?parseInt(o[4],16)/255:1,b:parseInt(o[3],16),g:parseInt(o[2],16),r:parseInt(o[1],16)}:void 0}}function g(t,i,e=!0){var s,n,r;if(void 0===t)return;const a="string"==typeof t?{value:t}:t;let h;if("string"==typeof a.value)h=a.value===o.randomColorValue?P():function(t){return w(t)}(a.value);else if(a.value instanceof Array){h=g({value:f(a.value,i,e)})}else{const t=a.value,i=null!==(s=t.rgb)&&void 0!==s?s:a.value;if(void 0!==i.r)h=i;else{const i=null!==(n=t.hsl)&&void 0!==n?n:a.value;if(void 0!==i.h&&void 0!==i.l)h=E(i);else{const i=null!==(r=t.hsv)&&void 0!==r?r:a.value;void 0!==i.h&&void 0!==i.v&&(h=M(i))}}}return h}function b(t,i,e=!0){const o=g(t,i,e);return void 0!==o?function(t){const i=t.r/255,e=t.g/255,o=t.b/255,s=Math.max(i,e,o),n=Math.min(i,e,o),r={h:0,l:(s+n)/2,s:0};s!=n&&(r.s=r.l<.5?(s-n)/(s+n):(s-n)/(2-s-n),r.h=i===s?(e-o)/(s-n):r.h=e===s?2+(o-i)/(s-n):4+(i-e)/(s-n));r.l*=100,r.s*=100,r.h*=60,r.h<0&&(r.h+=360);return r}(o):void 0}function E(t){const i={b:0,g:0,r:0},e={h:t.h/360,l:t.l/100,s:t.s/100};if(0===e.s)i.b=e.l,i.g=e.l,i.r=e.l;else{const t=e.l<.5?e.l*(1+e.s):e.l+e.s-e.l*e.s,o=2*e.l-t;i.r=y(o,t,e.h+1/3),i.g=y(o,t,e.h),i.b=y(o,t,e.h-1/3)}return i.r=Math.floor(255*i.r),i.g=Math.floor(255*i.g),i.b=Math.floor(255*i.b),i}function M(t){const i={b:0,g:0,r:0},e=t.h/60,o=t.s/100,s=t.v/100,n=s*o,r=n*(1-Math.abs(e%2-1));let a;if(e>=0&&e<=1?a={r:n,g:r,b:0}:e>1&&e<=2?a={r:r,g:n,b:0}:e>2&&e<=3?a={r:0,g:n,b:r}:e>3&&e<=4?a={r:0,g:r,b:n}:e>4&&e<=5?a={r:r,g:0,b:n}:e>5&&e<=6&&(a={r:n,g:0,b:r}),a){const t=s-n;i.r=Math.floor(255*(a.r+t)),i.g=Math.floor(255*(a.g+t)),i.b=Math.floor(255*(a.b+t))}return i}function P(t){const i=null!=t?t:0;return{b:Math.floor(h(u(i,256))),g:Math.floor(h(u(i,256))),r:Math.floor(h(u(i,256)))}}new WeakMap;class C{constructor(){this.wait=!1}load(t){void 0!==t&&(void 0!==t.count&&(this.count=t.count),void 0!==t.delay&&(this.delay=t.delay),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.wait&&(this.wait=t.wait))}}class x{constructor(){this.quantity=1,this.delay=.1}load(t){void 0!==t&&(void 0!==t.quantity&&(this.quantity=u(t.quantity)),void 0!==t.delay&&(this.delay=u(t.delay)))}}class D{constructor(){this.mode="percent",this.height=0,this.width=0}load(t){void 0!==t&&(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.height&&(this.height=t.height),void 0!==t.width&&(this.width=t.width))}}class S{constructor(){this.autoPlay=!0,this.fill=!0,this.life=new C,this.rate=new x,this.shape="square",this.startCount=0}load(t){void 0!==t&&(void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay),void 0!==t.size&&(void 0===this.size&&(this.size=new D),this.size.load(t.size)),void 0!==t.direction&&(this.direction=t.direction),this.domId=t.domId,void 0!==t.fill&&(this.fill=t.fill),this.life.load(t.life),this.name=t.name,void 0!==t.particles&&(this.particles=m({},t.particles)),this.rate.load(t.rate),void 0!==t.shape&&(this.shape=t.shape),void 0!==t.position&&(this.position={},void 0!==t.position.x&&(this.position.x=u(t.position.x)),void 0!==t.position.y&&(this.position.y=u(t.position.y))),void 0!==t.spawnColor&&(void 0===this.spawnColor&&(this.spawnColor=new a),this.spawnColor.load(t.spawnColor)),void 0!==t.startCount&&(this.startCount=t.startCount))}}var A,z,I,T=function(t,i,e,o,s){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof i?t!==i||!s:!i.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?s.call(t,e):s?s.value=e:i.set(t,e),e},k=function(t,i,e,o){if("a"===e&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof i?t!==i||!o:!i.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===e?o:"a"===e?o.call(t):o?o.value:i.get(t)};class j{constructor(t,i,e,o,s){var n,r,a,h,l,d,c,u;this.emitters=i,this.container=e,A.set(this,void 0),z.set(this,void 0),I.set(this,void 0),T(this,I,t,"f"),this.currentDuration=0,this.currentEmitDelay=0,this.currentSpawnDelay=0,this.initialPosition=s,o instanceof S?this.options=o:(this.options=new S,this.options.load(o)),this.spawnDelay=1e3*(null!==(n=this.options.life.delay)&&void 0!==n?n:0)/this.container.retina.reduceFactor,this.position=null!==(r=this.initialPosition)&&void 0!==r?r:this.calcPosition(),this.name=this.options.name,this.shape=null===(a=k(this,I,"f").emitterShapeManager)||void 0===a?void 0:a.getShape(this.options.shape),this.fill=this.options.fill,T(this,A,!this.options.life.wait,"f"),T(this,z,!1,"f");let p=m({},this.options.particles);null!=p||(p={}),null!==(h=p.move)&&void 0!==h||(p.move={}),null!==(l=(u=p.move).direction)&&void 0!==l||(u.direction=this.options.direction),this.options.spawnColor&&(this.spawnColor=b(this.options.spawnColor)),this.paused=!this.options.autoPlay,this.particlesOptions=p,this.size=null!==(d=this.options.size)&&void 0!==d?d:(()=>{const t=new D;return t.load({height:0,mode:"percent",width:0}),t})(),this.lifeCount=null!==(c=this.options.life.count)&&void 0!==c?c:-1,this.immortal=this.lifeCount<=0,this.play()}externalPlay(){this.paused=!1,this.play()}externalPause(){this.paused=!0,this.pause()}play(){var t;if(!this.paused&&this.container.retina.reduceFactor&&(this.lifeCount>0||this.immortal||!this.options.life.count)&&(k(this,A,"f")||this.currentSpawnDelay>=(null!==(t=this.spawnDelay)&&void 0!==t?t:0))){if(void 0===this.emitDelay){const t=l(this.options.rate.delay);this.emitDelay=1e3*t/this.container.retina.reduceFactor}(this.lifeCount>0||this.immortal)&&this.prepareToDie()}}pause(){this.paused||delete this.emitDelay}resize(){const t=this.initialPosition;var i,e,o,s;this.position=t&&(i=t,e=this.container.canvas.size,function(t,i,e){let o=!0;return e&&"bottom"!==e||(o=t.top<i.height),!o||e&&"left"!==e||(o=t.right>0),!o||e&&"right"!==e||(o=t.left<i.width),!o||e&&"top"!==e||(o=t.bottom>0),o}(v(i,null!=o?o:0),e,s))?t:this.calcPosition()}update(t){var i,e,o;this.paused||(k(this,A,"f")&&(T(this,A,!1,"f"),this.currentSpawnDelay=null!==(i=this.spawnDelay)&&void 0!==i?i:0,this.currentEmitDelay=null!==(e=this.emitDelay)&&void 0!==e?e:0),k(this,z,"f")||(T(this,z,!0,"f"),this.emitParticles(this.options.startCount)),void 0!==this.duration&&(this.currentDuration+=t.value,this.currentDuration>=this.duration&&(this.pause(),void 0!==this.spawnDelay&&delete this.spawnDelay,this.immortal||this.lifeCount--,this.lifeCount>0||this.immortal?(this.position=this.calcPosition(),this.spawnDelay=1e3*(null!==(o=this.options.life.delay)&&void 0!==o?o:0)/this.container.retina.reduceFactor):this.destroy(),this.currentDuration-=this.duration,delete this.duration)),void 0!==this.spawnDelay&&(this.currentSpawnDelay+=t.value,this.currentSpawnDelay>=this.spawnDelay&&(this.play(),this.currentSpawnDelay-=this.currentSpawnDelay,delete this.spawnDelay)),void 0!==this.emitDelay&&(this.currentEmitDelay+=t.value,this.currentEmitDelay>=this.emitDelay&&(this.emit(),this.currentEmitDelay-=this.emitDelay)))}getPosition(){if(this.options.domId){const t=this.container,i=document.getElementById(this.options.domId);if(i){const e=i.getBoundingClientRect();return{x:(e.x+e.width/2)*t.retina.pixelRatio,y:(e.y+e.height/2)*t.retina.pixelRatio}}}return this.position}getSize(){const t=this.container;if(this.options.domId){const i=document.getElementById(this.options.domId);if(i){const e=i.getBoundingClientRect();return{width:e.width*t.retina.pixelRatio,height:e.height*t.retina.pixelRatio}}}return{width:"percent"===this.size.mode?t.canvas.size.width*this.size.width/100:this.size.width,height:"percent"===this.size.mode?t.canvas.size.height*this.size.height/100:this.size.height}}prepareToDie(){var t;if(this.paused)return;const i=null===(t=this.options.life)||void 0===t?void 0:t.duration;this.container.retina.reduceFactor&&(this.lifeCount>0||this.immortal)&&void 0!==i&&i>0&&(this.duration=1e3*i)}destroy(){this.emitters.removeEmitter(this)}calcPosition(){var t,i;const e=this.container,o=this.options.position;return{x:l(null!==(t=null==o?void 0:o.x)&&void 0!==t?t:100*Math.random())/100*e.canvas.size.width,y:l(null!==(i=null==o?void 0:o.y)&&void 0!==i?i:100*Math.random())/100*e.canvas.size.height}}emit(){if(this.paused)return;const t=l(this.options.rate.quantity);this.emitParticles(t)}emitParticles(t){var i,e,o;const s=this.container,n=this.getPosition(),r=this.getSize();for(let a=0;a<t;a++){const t=m({},this.particlesOptions);if(this.spawnColor){const e=null===(i=this.options.spawnColor)||void 0===i?void 0:i.animation;e&&(this.spawnColor.h=this.setColorAnimation(e.h,this.spawnColor.h,360),this.spawnColor.s=this.setColorAnimation(e.s,this.spawnColor.s,100),this.spawnColor.l=this.setColorAnimation(e.l,this.spawnColor.l,100)),t.color?t.color.value=this.spawnColor:t.color={value:this.spawnColor}}if(!n)return;const a=null!==(o=null===(e=this.shape)||void 0===e?void 0:e.randomPosition(n,r,this.fill))&&void 0!==o?o:n;s.particles.addParticle(a,t)}}setColorAnimation(t,i,e){var o;const s=this.container;if(!t.enable)return i;const n=h(t.offset),r=1e3*l(this.options.rate.delay)/s.retina.reduceFactor;return(i+l(null!==(o=t.speed)&&void 0!==o?o:0)*s.fpsLimit/r+3.6*n)%e}}A=new WeakMap,z=new WeakMap,I=new WeakMap;var W,O=function(t,i,e,o,s){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof i?t!==i||!s:!i.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?s.call(t,e):s?s.value=e:i.set(t,e),e},F=function(t,i,e,o){if("a"===e&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof i?t!==i||!o:!i.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===e?o:"a"===e?o.call(t):o?o.value:i.get(t)};class q{constructor(t,i){this.container=i,W.set(this,void 0),O(this,W,t,"f"),this.array=[],this.emitters=[],this.interactivityEmitters=[];const e=i;e.getEmitter=t=>void 0===t||"number"==typeof t?this.array[t||0]:this.array.find((i=>i.name===t)),e.addEmitter=(t,i)=>this.addEmitter(t,i),e.removeEmitter=t=>{const i=e.getEmitter(t);i&&this.removeEmitter(i)},e.playEmitter=t=>{const i=e.getEmitter(t);i&&i.externalPlay()},e.pauseEmitter=t=>{const i=e.getEmitter(t);i&&i.externalPause()}}init(t){var i,e;if(!t)return;t.emitters&&(t.emitters instanceof Array?this.emitters=t.emitters.map((t=>{const i=new S;return i.load(t),i})):(this.emitters instanceof Array&&(this.emitters=new S),this.emitters.load(t.emitters)));const o=null===(e=null===(i=t.interactivity)||void 0===i?void 0:i.modes)||void 0===e?void 0:e.emitters;if(o&&(o instanceof Array?this.interactivityEmitters=o.map((t=>{const i=new S;return i.load(t),i})):(this.interactivityEmitters instanceof Array&&(this.interactivityEmitters=new S),this.interactivityEmitters.load(o))),this.emitters instanceof Array)for(const t of this.emitters)this.addEmitter(t);else this.addEmitter(this.emitters)}play(){for(const t of this.array)t.play()}pause(){for(const t of this.array)t.pause()}stop(){this.array=[]}update(t){for(const i of this.array)i.update(t)}handleClickMode(t){const i=this.container,e=this.emitters,o=this.interactivityEmitters;if("emitter"===t){let t;o instanceof Array?o.length>0&&(t=f(o)):t=o;const s=null!=t?t:e instanceof Array?f(e):e,n=i.interactivity.mouse.clickPosition;this.addEmitter(m({},s),n)}}resize(){for(const t of this.array)t.resize()}addEmitter(t,i){const e=new S;e.load(t);const o=new j(F(this,W,"f"),this,this.container,e,i);return this.array.push(o),o}removeEmitter(t){const i=this.array.indexOf(t);i>=0&&this.array.splice(i,1)}}W=new WeakMap;var R,_=function(t,i,e,o,s){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof i?t!==i||!s:!i.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?s.call(t,e):s?s.value=e:i.set(t,e),e};const B=new Map;class V{constructor(t){R.set(this,void 0),_(this,R,t,"f")}addShape(t,i){this.getShape(t)||B.set(t,i)}getShape(t){return B.get(t)}getSupportedShapes(){return B.keys()}}function L(t,i){return t+i*(Math.random()-.5)}R=new WeakMap;class N{randomPosition(t,i,e){if(e)return{x:L(t.x,i.width),y:L(t.y,i.height)};{const e=i.width/2,o=i.height/2,s=Math.floor(4*Math.random()),n=2*(Math.random()-.5);switch(s){case 0:return{x:t.x+n*e,y:t.y-o};case 1:return{x:t.x-e,y:t.y+n*o};case 2:return{x:t.x+n*e,y:t.y+o};case 3:default:return{x:t.x+e,y:t.y+n*o}}}}}var $,G=function(t,i,e,o,s){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof i?t!==i||!s:!i.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?s.call(t,e):s?s.value=e:i.set(t,e),e},U=function(t,i,e,o){if("a"===e&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof i?t!==i||!o:!i.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===e?o:"a"===e?o.call(t):o?o.value:i.get(t)};class H{constructor(t){$.set(this,void 0),G(this,$,t,"f"),this.id="emitters"}getPlugin(t){return new q(U(this,$,"f"),t)}needsPlugin(t){var i,e,o;if(void 0===t)return!1;const s=t.emitters;return s instanceof Array&&!!s.length||void 0!==s||!!(null===(o=null===(e=null===(i=t.interactivity)||void 0===i?void 0:i.events)||void 0===e?void 0:e.onClick)||void 0===o?void 0:o.mode)&&p("emitter",t.interactivity.events.onClick.mode)}loadOptions(t,i){var e,o;if(!this.needsPlugin(t)&&!this.needsPlugin(i))return;const s=t;if(null==i?void 0:i.emitters)if((null==i?void 0:i.emitters)instanceof Array)s.emitters=null==i?void 0:i.emitters.map((t=>{const i=new S;return i.load(t),i}));else{let t=s.emitters;void 0===(null==t?void 0:t.load)&&(s.emitters=t=new S),t.load(null==i?void 0:i.emitters)}const n=null===(o=null===(e=null==i?void 0:i.interactivity)||void 0===e?void 0:e.modes)||void 0===o?void 0:o.emitters;if(n)if(n instanceof Array)s.interactivity.modes.emitters=n.map((t=>{const i=new S;return i.load(t),i}));else{let t=s.interactivity.modes.emitters;void 0===(null==t?void 0:t.load)&&(s.interactivity.modes.emitters=t=new S),t.load(n)}}}async function J(t){t.emitterShapeManager||(t.emitterShapeManager=new V(t)),t.addEmitterShape||(t.addEmitterShape=(i,e)=>{var o;null===(o=t.emitterShapeManager)||void 0===o||o.addShape(i,e)});const i=new H(t);await t.addPlugin(i),t.addEmitterShape("circle",new e),t.addEmitterShape("square",new N)}return $=new WeakMap,i}()}));
|
|
@@ -903,7 +903,7 @@
|
|
|
903
903
|
}
|
|
904
904
|
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;
|
|
905
905
|
this.applyPath(particle, delta);
|
|
906
|
-
const gravityOptions =
|
|
906
|
+
const gravityOptions = particle.gravity;
|
|
907
907
|
const gravityFactor = gravityOptions.enable && gravityOptions.inverse ? -1 : 1;
|
|
908
908
|
if (gravityOptions.enable && moveSpeed) {
|
|
909
909
|
particle.velocity.y += gravityFactor * (gravityOptions.acceleration * delta.factor) / (60 * moveSpeed);
|
|
@@ -917,7 +917,7 @@
|
|
|
917
917
|
}
|
|
918
918
|
const velocity = particle.velocity.mult(moveSpeed);
|
|
919
919
|
const maxSpeed = (_c = particle.retina.maxSpeed) !== null && _c !== void 0 ? _c : container.retina.maxSpeed;
|
|
920
|
-
if (gravityOptions.enable &&
|
|
920
|
+
if (gravityOptions.enable && maxSpeed > 0 && (!gravityOptions.inverse && velocity.y >= 0 && velocity.y >= maxSpeed || gravityOptions.inverse && velocity.y <= 0 && velocity.y <= -maxSpeed)) {
|
|
921
921
|
velocity.y = gravityFactor * maxSpeed;
|
|
922
922
|
if (moveSpeed) {
|
|
923
923
|
particle.velocity.y = velocity.y / moveSpeed;
|
|
@@ -1322,9 +1322,9 @@
|
|
|
1322
1322
|
paint() {
|
|
1323
1323
|
const options = this.container.actualOptions;
|
|
1324
1324
|
this.draw((ctx => {
|
|
1325
|
-
if (options.backgroundMask.enable && options.backgroundMask.cover
|
|
1325
|
+
if (options.backgroundMask.enable && options.backgroundMask.cover) {
|
|
1326
1326
|
clear(ctx, this.size);
|
|
1327
|
-
this.paintBase(
|
|
1327
|
+
this.paintBase(this.coverColorStyle);
|
|
1328
1328
|
} else {
|
|
1329
1329
|
this.paintBase();
|
|
1330
1330
|
}
|
|
@@ -1426,7 +1426,7 @@
|
|
|
1426
1426
|
const zIndexOptions = particle.options.zIndex;
|
|
1427
1427
|
const zOpacityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.opacityRate;
|
|
1428
1428
|
const radius = particle.getRadius();
|
|
1429
|
-
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;
|
|
1429
|
+
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;
|
|
1430
1430
|
const strokeOpacity = (_f = (_e = particle.stroke) === null || _e === void 0 ? void 0 : _e.opacity) !== null && _f !== void 0 ? _f : opacity;
|
|
1431
1431
|
const zOpacity = opacity * zOpacityFactor;
|
|
1432
1432
|
const fillColorValue = fColor ? getStyleFromHsl(fColor, zOpacity) : undefined;
|
|
@@ -1495,12 +1495,14 @@
|
|
|
1495
1495
|
const color = cover.color;
|
|
1496
1496
|
const coverRgb = colorToRgb(color);
|
|
1497
1497
|
if (coverRgb) {
|
|
1498
|
-
|
|
1498
|
+
const coverColor = {
|
|
1499
1499
|
r: coverRgb.r,
|
|
1500
1500
|
g: coverRgb.g,
|
|
1501
1501
|
b: coverRgb.b,
|
|
1502
1502
|
a: cover.opacity
|
|
1503
1503
|
};
|
|
1504
|
+
this.coverColorStyle = getStyleFromRgb(coverColor, coverColor.a);
|
|
1505
|
+
console.log(this.coverColorStyle);
|
|
1504
1506
|
}
|
|
1505
1507
|
}
|
|
1506
1508
|
initTrail() {
|
|
@@ -1697,7 +1699,7 @@
|
|
|
1697
1699
|
return;
|
|
1698
1700
|
}
|
|
1699
1701
|
if (data.count !== undefined) {
|
|
1700
|
-
this.count = data.count;
|
|
1702
|
+
this.count = setRangeValue(data.count);
|
|
1701
1703
|
}
|
|
1702
1704
|
if (data.enable !== undefined) {
|
|
1703
1705
|
this.enable = data.enable;
|
|
@@ -1706,7 +1708,7 @@
|
|
|
1706
1708
|
this.offset = setRangeValue(data.offset);
|
|
1707
1709
|
}
|
|
1708
1710
|
if (data.speed !== undefined) {
|
|
1709
|
-
this.speed = data.speed;
|
|
1711
|
+
this.speed = setRangeValue(data.speed);
|
|
1710
1712
|
}
|
|
1711
1713
|
if (data.sync !== undefined) {
|
|
1712
1714
|
this.sync = data.sync;
|
|
@@ -1854,13 +1856,13 @@
|
|
|
1854
1856
|
return;
|
|
1855
1857
|
}
|
|
1856
1858
|
if (data.count !== undefined) {
|
|
1857
|
-
this.count = data.count;
|
|
1859
|
+
this.count = setRangeValue(data.count);
|
|
1858
1860
|
}
|
|
1859
1861
|
if (data.enable !== undefined) {
|
|
1860
1862
|
this.enable = data.enable;
|
|
1861
1863
|
}
|
|
1862
1864
|
if (data.speed !== undefined) {
|
|
1863
|
-
this.speed = data.speed;
|
|
1865
|
+
this.speed = setRangeValue(data.speed);
|
|
1864
1866
|
}
|
|
1865
1867
|
if (data.sync !== undefined) {
|
|
1866
1868
|
this.sync = data.sync;
|
|
@@ -1880,13 +1882,13 @@
|
|
|
1880
1882
|
return;
|
|
1881
1883
|
}
|
|
1882
1884
|
if (data.count !== undefined) {
|
|
1883
|
-
this.count = data.count;
|
|
1885
|
+
this.count = setRangeValue(data.count);
|
|
1884
1886
|
}
|
|
1885
1887
|
if (data.enable !== undefined) {
|
|
1886
1888
|
this.enable = data.enable;
|
|
1887
1889
|
}
|
|
1888
1890
|
if (data.speed !== undefined) {
|
|
1889
|
-
this.speed = data.speed;
|
|
1891
|
+
this.speed = setRangeValue(data.speed);
|
|
1890
1892
|
}
|
|
1891
1893
|
if (data.sync !== undefined) {
|
|
1892
1894
|
this.sync = data.sync;
|
|
@@ -2058,6 +2060,90 @@
|
|
|
2058
2060
|
this.duration.load(data.duration);
|
|
2059
2061
|
}
|
|
2060
2062
|
}
|
|
2063
|
+
class Attract_Attract {
|
|
2064
|
+
constructor() {
|
|
2065
|
+
this.distance = 200;
|
|
2066
|
+
this.enable = false;
|
|
2067
|
+
this.rotate = {
|
|
2068
|
+
x: 3e3,
|
|
2069
|
+
y: 3e3
|
|
2070
|
+
};
|
|
2071
|
+
}
|
|
2072
|
+
get rotateX() {
|
|
2073
|
+
return this.rotate.x;
|
|
2074
|
+
}
|
|
2075
|
+
set rotateX(value) {
|
|
2076
|
+
this.rotate.x = value;
|
|
2077
|
+
}
|
|
2078
|
+
get rotateY() {
|
|
2079
|
+
return this.rotate.y;
|
|
2080
|
+
}
|
|
2081
|
+
set rotateY(value) {
|
|
2082
|
+
this.rotate.y = value;
|
|
2083
|
+
}
|
|
2084
|
+
load(data) {
|
|
2085
|
+
var _a, _b, _c, _d;
|
|
2086
|
+
if (!data) {
|
|
2087
|
+
return;
|
|
2088
|
+
}
|
|
2089
|
+
if (data.distance !== undefined) {
|
|
2090
|
+
this.distance = setRangeValue(data.distance);
|
|
2091
|
+
}
|
|
2092
|
+
if (data.enable !== undefined) {
|
|
2093
|
+
this.enable = data.enable;
|
|
2094
|
+
}
|
|
2095
|
+
const rotateX = (_b = (_a = data.rotate) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : data.rotateX;
|
|
2096
|
+
if (rotateX !== undefined) {
|
|
2097
|
+
this.rotate.x = rotateX;
|
|
2098
|
+
}
|
|
2099
|
+
const rotateY = (_d = (_c = data.rotate) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : data.rotateY;
|
|
2100
|
+
if (rotateY !== undefined) {
|
|
2101
|
+
this.rotate.y = rotateY;
|
|
2102
|
+
}
|
|
2103
|
+
}
|
|
2104
|
+
}
|
|
2105
|
+
class MoveAngle_MoveAngle {
|
|
2106
|
+
constructor() {
|
|
2107
|
+
this.offset = 0;
|
|
2108
|
+
this.value = 90;
|
|
2109
|
+
}
|
|
2110
|
+
load(data) {
|
|
2111
|
+
if (data === undefined) {
|
|
2112
|
+
return;
|
|
2113
|
+
}
|
|
2114
|
+
if (data.offset !== undefined) {
|
|
2115
|
+
this.offset = setRangeValue(data.offset);
|
|
2116
|
+
}
|
|
2117
|
+
if (data.value !== undefined) {
|
|
2118
|
+
this.value = setRangeValue(data.value);
|
|
2119
|
+
}
|
|
2120
|
+
}
|
|
2121
|
+
}
|
|
2122
|
+
class MoveGravity_MoveGravity {
|
|
2123
|
+
constructor() {
|
|
2124
|
+
this.acceleration = 9.81;
|
|
2125
|
+
this.enable = false;
|
|
2126
|
+
this.inverse = false;
|
|
2127
|
+
this.maxSpeed = 50;
|
|
2128
|
+
}
|
|
2129
|
+
load(data) {
|
|
2130
|
+
if (!data) {
|
|
2131
|
+
return;
|
|
2132
|
+
}
|
|
2133
|
+
if (data.acceleration !== undefined) {
|
|
2134
|
+
this.acceleration = setRangeValue(data.acceleration);
|
|
2135
|
+
}
|
|
2136
|
+
if (data.enable !== undefined) {
|
|
2137
|
+
this.enable = data.enable;
|
|
2138
|
+
}
|
|
2139
|
+
if (data.inverse !== undefined) {
|
|
2140
|
+
this.inverse = data.inverse;
|
|
2141
|
+
}
|
|
2142
|
+
if (data.maxSpeed !== undefined) {
|
|
2143
|
+
this.maxSpeed = setRangeValue(data.maxSpeed);
|
|
2144
|
+
}
|
|
2145
|
+
}
|
|
2146
|
+
}
|
|
2061
2147
|
class PathDelay_PathDelay extends(null && ValueWithRandom){
|
|
2062
2148
|
constructor() {
|
|
2063
2149
|
super();
|
|
@@ -2219,6 +2305,70 @@
|
|
|
2219
2305
|
}
|
|
2220
2306
|
}
|
|
2221
2307
|
}
|
|
2308
|
+
class AnimationOptions_AnimationOptions {
|
|
2309
|
+
constructor() {
|
|
2310
|
+
this.count = 0;
|
|
2311
|
+
this.enable = false;
|
|
2312
|
+
this.speed = 1;
|
|
2313
|
+
this.sync = false;
|
|
2314
|
+
}
|
|
2315
|
+
load(data) {
|
|
2316
|
+
if (!data) {
|
|
2317
|
+
return;
|
|
2318
|
+
}
|
|
2319
|
+
if (data.count !== undefined) {
|
|
2320
|
+
this.count = setRangeValue(data.count);
|
|
2321
|
+
}
|
|
2322
|
+
if (data.enable !== undefined) {
|
|
2323
|
+
this.enable = data.enable;
|
|
2324
|
+
}
|
|
2325
|
+
if (data.speed !== undefined) {
|
|
2326
|
+
this.speed = setRangeValue(data.speed);
|
|
2327
|
+
}
|
|
2328
|
+
if (data.sync !== undefined) {
|
|
2329
|
+
this.sync = data.sync;
|
|
2330
|
+
}
|
|
2331
|
+
}
|
|
2332
|
+
}
|
|
2333
|
+
class OpacityAnimation_OpacityAnimation extends(null && AnimationOptions){
|
|
2334
|
+
constructor() {
|
|
2335
|
+
super();
|
|
2336
|
+
this.destroy = "none";
|
|
2337
|
+
this.enable = false;
|
|
2338
|
+
this.speed = 2;
|
|
2339
|
+
this.startValue = "random";
|
|
2340
|
+
this.sync = false;
|
|
2341
|
+
}
|
|
2342
|
+
get opacity_min() {
|
|
2343
|
+
return this.minimumValue;
|
|
2344
|
+
}
|
|
2345
|
+
set opacity_min(value) {
|
|
2346
|
+
this.minimumValue = value;
|
|
2347
|
+
}
|
|
2348
|
+
load(data) {
|
|
2349
|
+
var _a;
|
|
2350
|
+
if (data === undefined) {
|
|
2351
|
+
return;
|
|
2352
|
+
}
|
|
2353
|
+
super.load(data);
|
|
2354
|
+
if (data.destroy !== undefined) {
|
|
2355
|
+
this.destroy = data.destroy;
|
|
2356
|
+
}
|
|
2357
|
+
if (data.enable !== undefined) {
|
|
2358
|
+
this.enable = data.enable;
|
|
2359
|
+
}
|
|
2360
|
+
this.minimumValue = (_a = data.minimumValue) !== null && _a !== void 0 ? _a : data.opacity_min;
|
|
2361
|
+
if (data.speed !== undefined) {
|
|
2362
|
+
this.speed = data.speed;
|
|
2363
|
+
}
|
|
2364
|
+
if (data.startValue !== undefined) {
|
|
2365
|
+
this.startValue = data.startValue;
|
|
2366
|
+
}
|
|
2367
|
+
if (data.sync !== undefined) {
|
|
2368
|
+
this.sync = data.sync;
|
|
2369
|
+
}
|
|
2370
|
+
}
|
|
2371
|
+
}
|
|
2222
2372
|
class Opacity_Opacity extends(null && ValueWithRandom){
|
|
2223
2373
|
constructor() {
|
|
2224
2374
|
super();
|
|
@@ -2277,13 +2427,13 @@
|
|
|
2277
2427
|
this.enable = data.enable;
|
|
2278
2428
|
}
|
|
2279
2429
|
if (data.opacity !== undefined) {
|
|
2280
|
-
this.opacity = data.opacity;
|
|
2430
|
+
this.opacity = setRangeValue(data.opacity);
|
|
2281
2431
|
}
|
|
2282
2432
|
if (data.width !== undefined) {
|
|
2283
|
-
this.width = data.width;
|
|
2433
|
+
this.width = setRangeValue(data.width);
|
|
2284
2434
|
}
|
|
2285
2435
|
if (data.radius !== undefined) {
|
|
2286
|
-
this.radius = data.radius;
|
|
2436
|
+
this.radius = setRangeValue(data.radius);
|
|
2287
2437
|
}
|
|
2288
2438
|
if (data.color !== undefined) {
|
|
2289
2439
|
this.color = OptionsColor.create(this.color, data.color);
|
|
@@ -2308,16 +2458,33 @@
|
|
|
2308
2458
|
this.enabled = data.enabled;
|
|
2309
2459
|
}
|
|
2310
2460
|
if (data.distance !== undefined) {
|
|
2311
|
-
this.distance = data.distance;
|
|
2461
|
+
this.distance = setRangeValue(data.distance);
|
|
2312
2462
|
}
|
|
2313
2463
|
if (data.duration !== undefined) {
|
|
2314
|
-
this.duration = data.duration;
|
|
2464
|
+
this.duration = setRangeValue(data.duration);
|
|
2315
2465
|
}
|
|
2316
2466
|
if (data.factor !== undefined) {
|
|
2317
|
-
this.factor = data.factor;
|
|
2467
|
+
this.factor = setRangeValue(data.factor);
|
|
2318
2468
|
}
|
|
2319
2469
|
if (data.speed !== undefined) {
|
|
2320
|
-
this.speed = data.speed;
|
|
2470
|
+
this.speed = setRangeValue(data.speed);
|
|
2471
|
+
}
|
|
2472
|
+
}
|
|
2473
|
+
}
|
|
2474
|
+
class RollLight_RollLight {
|
|
2475
|
+
constructor() {
|
|
2476
|
+
this.enable = false;
|
|
2477
|
+
this.value = 0;
|
|
2478
|
+
}
|
|
2479
|
+
load(data) {
|
|
2480
|
+
if (!data) {
|
|
2481
|
+
return;
|
|
2482
|
+
}
|
|
2483
|
+
if (data.enable !== undefined) {
|
|
2484
|
+
this.enable = data.enable;
|
|
2485
|
+
}
|
|
2486
|
+
if (data.value !== undefined) {
|
|
2487
|
+
this.value = setRangeValue(data.value);
|
|
2321
2488
|
}
|
|
2322
2489
|
}
|
|
2323
2490
|
}
|
|
@@ -2349,6 +2516,27 @@
|
|
|
2349
2516
|
}
|
|
2350
2517
|
}
|
|
2351
2518
|
}
|
|
2519
|
+
class RotateAnimation_RotateAnimation {
|
|
2520
|
+
constructor() {
|
|
2521
|
+
this.enable = false;
|
|
2522
|
+
this.speed = 0;
|
|
2523
|
+
this.sync = false;
|
|
2524
|
+
}
|
|
2525
|
+
load(data) {
|
|
2526
|
+
if (data === undefined) {
|
|
2527
|
+
return;
|
|
2528
|
+
}
|
|
2529
|
+
if (data.enable !== undefined) {
|
|
2530
|
+
this.enable = data.enable;
|
|
2531
|
+
}
|
|
2532
|
+
if (data.speed !== undefined) {
|
|
2533
|
+
this.speed = setRangeValue(data.speed);
|
|
2534
|
+
}
|
|
2535
|
+
if (data.sync !== undefined) {
|
|
2536
|
+
this.sync = data.sync;
|
|
2537
|
+
}
|
|
2538
|
+
}
|
|
2539
|
+
}
|
|
2352
2540
|
class Rotate_Rotate extends(null && ValueWithRandom){
|
|
2353
2541
|
constructor() {
|
|
2354
2542
|
super();
|
|
@@ -2467,6 +2655,45 @@
|
|
|
2467
2655
|
}
|
|
2468
2656
|
}
|
|
2469
2657
|
}
|
|
2658
|
+
class SizeAnimation_SizeAnimation extends(null && AnimationOptions){
|
|
2659
|
+
constructor() {
|
|
2660
|
+
super();
|
|
2661
|
+
this.destroy = "none";
|
|
2662
|
+
this.enable = false;
|
|
2663
|
+
this.speed = 5;
|
|
2664
|
+
this.startValue = "random";
|
|
2665
|
+
this.sync = false;
|
|
2666
|
+
}
|
|
2667
|
+
get size_min() {
|
|
2668
|
+
return this.minimumValue;
|
|
2669
|
+
}
|
|
2670
|
+
set size_min(value) {
|
|
2671
|
+
this.minimumValue = value;
|
|
2672
|
+
}
|
|
2673
|
+
load(data) {
|
|
2674
|
+
var _a;
|
|
2675
|
+
if (data === undefined) {
|
|
2676
|
+
return;
|
|
2677
|
+
}
|
|
2678
|
+
super.load(data);
|
|
2679
|
+
if (data.destroy !== undefined) {
|
|
2680
|
+
this.destroy = data.destroy;
|
|
2681
|
+
}
|
|
2682
|
+
if (data.enable !== undefined) {
|
|
2683
|
+
this.enable = data.enable;
|
|
2684
|
+
}
|
|
2685
|
+
this.minimumValue = (_a = data.minimumValue) !== null && _a !== void 0 ? _a : data.size_min;
|
|
2686
|
+
if (data.speed !== undefined) {
|
|
2687
|
+
this.speed = data.speed;
|
|
2688
|
+
}
|
|
2689
|
+
if (data.startValue !== undefined) {
|
|
2690
|
+
this.startValue = data.startValue;
|
|
2691
|
+
}
|
|
2692
|
+
if (data.sync !== undefined) {
|
|
2693
|
+
this.sync = data.sync;
|
|
2694
|
+
}
|
|
2695
|
+
}
|
|
2696
|
+
}
|
|
2470
2697
|
class Size_Size extends(null && ValueWithRandom){
|
|
2471
2698
|
constructor() {
|
|
2472
2699
|
super();
|
|
@@ -2512,6 +2739,27 @@
|
|
|
2512
2739
|
}
|
|
2513
2740
|
}
|
|
2514
2741
|
}
|
|
2742
|
+
class TiltAnimation_TiltAnimation {
|
|
2743
|
+
constructor() {
|
|
2744
|
+
this.enable = false;
|
|
2745
|
+
this.speed = 0;
|
|
2746
|
+
this.sync = false;
|
|
2747
|
+
}
|
|
2748
|
+
load(data) {
|
|
2749
|
+
if (data === undefined) {
|
|
2750
|
+
return;
|
|
2751
|
+
}
|
|
2752
|
+
if (data.enable !== undefined) {
|
|
2753
|
+
this.enable = data.enable;
|
|
2754
|
+
}
|
|
2755
|
+
if (data.speed !== undefined) {
|
|
2756
|
+
this.speed = setRangeValue(data.speed);
|
|
2757
|
+
}
|
|
2758
|
+
if (data.sync !== undefined) {
|
|
2759
|
+
this.sync = data.sync;
|
|
2760
|
+
}
|
|
2761
|
+
}
|
|
2762
|
+
}
|
|
2515
2763
|
class Tilt_Tilt extends(null && ValueWithRandom){
|
|
2516
2764
|
constructor() {
|
|
2517
2765
|
super();
|
|
@@ -2534,6 +2782,43 @@
|
|
|
2534
2782
|
}
|
|
2535
2783
|
}
|
|
2536
2784
|
}
|
|
2785
|
+
class TwinkleValues_TwinkleValues {
|
|
2786
|
+
constructor() {
|
|
2787
|
+
this.enable = false;
|
|
2788
|
+
this.frequency = .05;
|
|
2789
|
+
this.opacity = 1;
|
|
2790
|
+
}
|
|
2791
|
+
load(data) {
|
|
2792
|
+
if (data === undefined) {
|
|
2793
|
+
return;
|
|
2794
|
+
}
|
|
2795
|
+
if (data.color !== undefined) {
|
|
2796
|
+
this.color = OptionsColor.create(this.color, data.color);
|
|
2797
|
+
}
|
|
2798
|
+
if (data.enable !== undefined) {
|
|
2799
|
+
this.enable = data.enable;
|
|
2800
|
+
}
|
|
2801
|
+
if (data.frequency !== undefined) {
|
|
2802
|
+
this.frequency = data.frequency;
|
|
2803
|
+
}
|
|
2804
|
+
if (data.opacity !== undefined) {
|
|
2805
|
+
this.opacity = setRangeValue(data.opacity);
|
|
2806
|
+
}
|
|
2807
|
+
}
|
|
2808
|
+
}
|
|
2809
|
+
class Twinkle_Twinkle {
|
|
2810
|
+
constructor() {
|
|
2811
|
+
this.lines = new TwinkleValues;
|
|
2812
|
+
this.particles = new TwinkleValues;
|
|
2813
|
+
}
|
|
2814
|
+
load(data) {
|
|
2815
|
+
if (data === undefined) {
|
|
2816
|
+
return;
|
|
2817
|
+
}
|
|
2818
|
+
this.lines.load(data.lines);
|
|
2819
|
+
this.particles.load(data.particles);
|
|
2820
|
+
}
|
|
2821
|
+
}
|
|
2537
2822
|
class Wobble_Wobble {
|
|
2538
2823
|
constructor() {
|
|
2539
2824
|
this.distance = 5;
|
|
@@ -2971,7 +3256,7 @@
|
|
|
2971
3256
|
max: getRangeMax(sizeRange) * pxRatio,
|
|
2972
3257
|
min: getRangeMin(sizeRange) * pxRatio,
|
|
2973
3258
|
loops: 0,
|
|
2974
|
-
maxLoops: sizeOptions.animation.count
|
|
3259
|
+
maxLoops: getRangeValue(sizeOptions.animation.count)
|
|
2975
3260
|
};
|
|
2976
3261
|
const sizeAnimation = sizeOptions.animation;
|
|
2977
3262
|
if (sizeAnimation.enable) {
|
|
@@ -3005,6 +3290,12 @@
|
|
|
3005
3290
|
this.initialVelocity = this.calculateVelocity();
|
|
3006
3291
|
this.velocity = this.initialVelocity.copy();
|
|
3007
3292
|
this.moveDecay = 1 - getRangeValue(this.options.move.decay);
|
|
3293
|
+
const gravityOptions = this.options.move.gravity;
|
|
3294
|
+
this.gravity = {
|
|
3295
|
+
enable: gravityOptions.enable,
|
|
3296
|
+
acceleration: getRangeValue(gravityOptions.acceleration),
|
|
3297
|
+
inverse: gravityOptions.inverse
|
|
3298
|
+
};
|
|
3008
3299
|
this.position = this.calcPosition(container, position, clamp(zIndexValue, 0, container.zLayers));
|
|
3009
3300
|
this.initialPosition = this.position.copy();
|
|
3010
3301
|
this.offset = Vector.origin;
|
|
@@ -3212,12 +3503,7 @@
|
|
|
3212
3503
|
return overlaps;
|
|
3213
3504
|
}
|
|
3214
3505
|
calculateVelocity() {
|
|
3215
|
-
const baseVelocity = getParticleBaseVelocity(this.direction)
|
|
3216
|
-
const res = baseVelocity.copy();
|
|
3217
|
-
const moveOptions = this.options.move;
|
|
3218
|
-
const rad = Math.PI / 180 * moveOptions.angle.value;
|
|
3219
|
-
const radOffset = Math.PI / 180 * moveOptions.angle.offset;
|
|
3220
|
-
const range = {
|
|
3506
|
+
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 = {
|
|
3221
3507
|
left: radOffset - rad / 2,
|
|
3222
3508
|
right: radOffset + rad / 2
|
|
3223
3509
|
};
|
|
@@ -3607,13 +3893,13 @@
|
|
|
3607
3893
|
container.canvas.size.height = element.offsetHeight * ratio;
|
|
3608
3894
|
}
|
|
3609
3895
|
const particles = options.particles;
|
|
3610
|
-
this.attractDistance = particles.move.attract.distance * ratio;
|
|
3896
|
+
this.attractDistance = getRangeValue(particles.move.attract.distance) * ratio;
|
|
3611
3897
|
this.linksDistance = particles.links.distance * ratio;
|
|
3612
3898
|
this.linksWidth = particles.links.width * ratio;
|
|
3613
|
-
this.sizeAnimationSpeed = particles.size.animation.speed * ratio;
|
|
3614
|
-
this.maxSpeed = particles.move.gravity.maxSpeed * ratio;
|
|
3899
|
+
this.sizeAnimationSpeed = getRangeValue(particles.size.animation.speed) * ratio;
|
|
3900
|
+
this.maxSpeed = getRangeValue(particles.move.gravity.maxSpeed) * ratio;
|
|
3615
3901
|
if (particles.orbit.radius !== undefined) {
|
|
3616
|
-
this.orbitRadius = particles.orbit.radius * this.container.retina.pixelRatio;
|
|
3902
|
+
this.orbitRadius = getRangeValue(particles.orbit.radius) * this.container.retina.pixelRatio;
|
|
3617
3903
|
}
|
|
3618
3904
|
const modes = options.interactivity.modes;
|
|
3619
3905
|
this.connectModeDistance = modes.connect.distance * ratio;
|
|
@@ -3633,19 +3919,19 @@
|
|
|
3633
3919
|
const ratio = this.pixelRatio;
|
|
3634
3920
|
const moveDistance = options.move.distance;
|
|
3635
3921
|
const props = particle.retina;
|
|
3636
|
-
props.attractDistance = options.move.attract.distance * ratio;
|
|
3922
|
+
props.attractDistance = getRangeValue(options.move.attract.distance) * ratio;
|
|
3637
3923
|
props.linksDistance = options.links.distance * ratio;
|
|
3638
3924
|
props.linksWidth = options.links.width * ratio;
|
|
3639
3925
|
props.moveDrift = getRangeValue(options.move.drift) * ratio;
|
|
3640
3926
|
props.moveSpeed = getRangeValue(options.move.speed) * ratio;
|
|
3641
|
-
props.sizeAnimationSpeed = options.size.animation.speed * ratio;
|
|
3927
|
+
props.sizeAnimationSpeed = getRangeValue(options.size.animation.speed) * ratio;
|
|
3642
3928
|
if (particle.spin) {
|
|
3643
3929
|
props.spinAcceleration = getRangeValue(options.move.spin.acceleration) * ratio;
|
|
3644
3930
|
}
|
|
3645
3931
|
const maxDistance = props.maxDistance;
|
|
3646
3932
|
maxDistance.horizontal = moveDistance.horizontal !== undefined ? moveDistance.horizontal * ratio : undefined;
|
|
3647
3933
|
maxDistance.vertical = moveDistance.vertical !== undefined ? moveDistance.vertical * ratio : undefined;
|
|
3648
|
-
props.maxSpeed = options.move.gravity.maxSpeed * ratio;
|
|
3934
|
+
props.maxSpeed = getRangeValue(options.move.gravity.maxSpeed) * ratio;
|
|
3649
3935
|
}
|
|
3650
3936
|
handleMotionChange(mediaQuery) {
|
|
3651
3937
|
const options = this.container.actualOptions;
|
|
@@ -4977,7 +5263,7 @@
|
|
|
4977
5263
|
function setColorAnimation(colorValue, colorAnimation, reduceFactor) {
|
|
4978
5264
|
colorValue.enable = colorAnimation.enable;
|
|
4979
5265
|
if (colorValue.enable) {
|
|
4980
|
-
colorValue.velocity = colorAnimation.speed / 100 * reduceFactor;
|
|
5266
|
+
colorValue.velocity = getRangeValue(colorAnimation.speed) / 100 * reduceFactor;
|
|
4981
5267
|
if (colorAnimation.sync) {
|
|
4982
5268
|
return;
|
|
4983
5269
|
}
|