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.
|
|
1
|
+
/*! tsParticles v1.42.2 by Matteo Bruni */
|
|
2
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 n=e();for(var i in n)("object"==typeof exports?exports:t)[i]=n[i]}}(window,(function(){return function(){"use strict";var t,e,n,i,o,r={},s={};function a(t){var e=s[t];if(void 0!==e)return e.exports;var n=s[t]={exports:{}};return r[t](n,n.exports,a),n.exports}a.m=r,t=[],a.O=function(e,n,i,o){if(!n){var r=1/0;for(c=0;c<t.length;c++){n=t[c][0],i=t[c][1],o=t[c][2];for(var s=!0,l=0;l<n.length;l++)(!1&o||r>=o)&&Object.keys(a.O).every((function(t){return a.O[t](n[l])}))?n.splice(l--,1):(s=!1,o<r&&(r=o));if(s){t.splice(c--,1);var h=i();void 0!==h&&(e=h)}}return e}o=o||0;for(var c=t.length;c>0&&t[c-1][2]>o;c--)t[c]=t[c-1];t[c]=[n,i,o]},a.F={},a.E=function(t){Object.keys(a.F).map((function(e){a.F[e](t)}))},n=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},a.t=function(t,i){if(1&i&&(t=this(t)),8&i)return t;if("object"==typeof t&&t){if(4&i&&t.__esModule)return t;if(16&i&&"function"==typeof t.then)return t}var o=Object.create(null);a.r(o);var r={};e=e||[null,n({}),n([]),n(n)];for(var s=2&i&&t;"object"==typeof s&&!~e.indexOf(s);s=n(s))Object.getOwnPropertyNames(s).forEach((function(e){r[e]=function(){return t[e]}}));return r.default=function(){return t},a.d(o,r),o},a.d=function(t,e){for(var n in e)a.o(e,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},a.f={},a.e=function(t){return Promise.all(Object.keys(a.f).reduce((function(e,n){return a.f[n](t,e),e}),[]))},a.u=function(t){return"tsparticles.pathseg.min.js"},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i={},o="tsparticles:",a.l=function(t,e,n,r){if(i[t])i[t].push(e);else{var s,l;if(void 0!==n)for(var h=document.getElementsByTagName("script"),c=0;c<h.length;c++){var u=h[c];if(u.getAttribute("src")==t||u.getAttribute("data-webpack")==o+n){s=u;break}}s||(l=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,a.nc&&s.setAttribute("nonce",a.nc),s.setAttribute("data-webpack",o+n),s.src=t),i[t]=[e];var d=function(e,n){s.onerror=s.onload=null,clearTimeout(p);var o=i[t];if(delete i[t],s.parentNode&&s.parentNode.removeChild(s),o&&o.forEach((function(t){return t(n)})),e)return e(n)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=d.bind(null,s.onerror),s.onload=d.bind(null,s.onload),l&&document.head.appendChild(s)}},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},function(){var t;a.g.importScripts&&(t=a.g.location+"");var e=a.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");n.length&&(t=n[n.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=t}(),function(){var t={475:0,143:0};a.f.j=function(e,n){var i=a.o(t,e)?t[e]:void 0;if(0!==i)if(i)n.push(i[2]);else{var o=new Promise((function(n,o){i=t[e]=[n,o]}));n.push(i[2]=o);var r=a.p+a.u(e),s=new Error;a.l(r,(function(n){if(a.o(t,e)&&(0!==(i=t[e])&&(t[e]=void 0),i)){var o=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;s.message="Loading chunk "+e+" failed.\n("+o+": "+r+")",s.name="ChunkLoadError",s.type=o,s.request=r,i[1](s)}}),"chunk-"+e,e)}},a.F.j=function(e){if(!a.o(t,e)||void 0===t[e]){t[e]=null;var n=document.createElement("link");a.nc&&n.setAttribute("nonce",a.nc),n.rel="prefetch",n.as="script",n.href=a.p+a.u(e),document.head.appendChild(n)}},a.O.j=function(e){return 0===t[e]};var e=function(e,n){var i,o,r=n[0],s=n[1],l=n[2],h=0;if(r.some((function(e){return 0!==t[e]}))){for(i in s)a.o(s,i)&&(a.m[i]=s[i]);if(l)var c=l(a)}for(e&&e(n);h<r.length;h++)o=r[h],a.o(t,o)&&t[o]&&t[o][0](),t[o]=0;return a.O(c)},n=window.webpackChunktsparticles=window.webpackChunktsparticles||[];n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))}(),a.O(0,[475],(function(){a.E(404)}),5);var l={};a.r(l),a.d(l,{loadPolygonMaskPlugin:function(){return G}});class h{constructor(){this.value="#fff"}static create(t,e){const n=new h;return n.load(t),void 0!==e&&("string"==typeof e||e instanceof Array?n.load({value:e}):n.load(e)),n}load(t){void 0!==(null==t?void 0:t.value)&&(this.value=t.value)}}class c{}c.generatedAttribute="generated",c.randomColorValue="random",c.midColorValue="mid",c.touchEndEvent="touchend",c.mouseDownEvent="mousedown",c.mouseUpEvent="mouseup",c.mouseMoveEvent="mousemove",c.touchStartEvent="touchstart",c.touchMoveEvent="touchmove",c.mouseLeaveEvent="mouseleave",c.mouseOutEvent="mouseout",c.touchCancelEvent="touchcancel",c.resizeEvent="resize",c.visibilityChangeEvent="visibilitychange",c.noPolygonDataLoaded="No polygon data loaded.",c.noPolygonFound="No polygon found, you need to specify SVG url in config.";new WeakMap;new WeakMap;class u{constructor(t,e){let n,i;if(void 0===e){if("number"==typeof t)throw new Error("tsParticles - Vector not initialized correctly");const e=t;[n,i]=[e.x,e.y]}else[n,i]=[t,e];this.x=n,this.y=i}static clone(t){return u.create(t.x,t.y)}static create(t,e){return new u(t,e)}static get origin(){return u.create(0,0)}get angle(){return Math.atan2(this.y,this.x)}set angle(t){this.updateFromAngle(t,this.length)}get length(){return Math.sqrt(this.x**2+this.y**2)}set length(t){this.updateFromAngle(this.angle,t)}add(t){return u.create(this.x+t.x,this.y+t.y)}addTo(t){this.x+=t.x,this.y+=t.y}sub(t){return u.create(this.x-t.x,this.y-t.y)}subFrom(t){this.x-=t.x,this.y-=t.y}mult(t){return u.create(this.x*t,this.y*t)}multTo(t){this.x*=t,this.y*=t}div(t){return u.create(this.x/t,this.y/t)}divTo(t){this.x/=t,this.y/=t}distanceTo(t){return this.sub(t).length}getLengthSq(){return this.x**2+this.y**2}distanceToSq(t){return this.sub(t).getLengthSq()}manhattanDistanceTo(t){return Math.abs(t.x-this.x)+Math.abs(t.y-this.y)}copy(){return u.clone(this)}setTo(t){this.x=t.x,this.y=t.y}rotate(t){return u.create(this.x*Math.cos(t)-this.y*Math.sin(t),this.x*Math.sin(t)+this.y*Math.cos(t))}updateFromAngle(t,e){this.x=Math.cos(t)*e,this.y=Math.sin(t)*e}}new WeakMap,new WeakSet;new WeakMap;new WeakMap;new WeakMap;function d(t){const e=f(t);let n=p(t);return e===n&&(n=0),Math.random()*(e-n)+n}function p(t){return"number"==typeof t?t:t.min}function f(t){return"number"==typeof t?t:t.max}function v(t,e){if(t===e||void 0===e&&"number"==typeof t)return t;const n=p(t),i=f(t);return void 0!==e?{min:Math.min(n,e),max:Math.max(i,e)}:v(n,i)}function y(t,e){const n=t.x-e.x,i=t.y-e.y;return{dx:n,dy:i,distance:Math.sqrt(n*n+i*i)}}function g(){return"undefined"==typeof window||!window||void 0===window.document||!window.document}function w(t,e,n=!0){return t[void 0!==e&&n?e%t.length:function(t){return Math.floor(Math.random()*t.length)}(t)]}function m(t,...e){for(const n of e){if(null==n)continue;if("object"!=typeof n){t=n;continue}const e=Array.isArray(n);!e||"object"==typeof t&&t&&Array.isArray(t)?e||"object"==typeof t&&t&&!Array.isArray(t)||(t={}):t=[];for(const e in n){if("__proto__"===e)continue;const i=n[e],o="object"==typeof i,r=t;r[e]=o&&Array.isArray(i)?i.map((t=>m(r[e],t))):m(r[e],i)}}return t}function b(t,e,n){let i=n;return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}function x(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=E(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=T(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,n=t.replace(e,((t,e,n,i,o)=>e+e+n+n+i+i+(void 0!==o?o+o:""))),i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(n);return i?{a:void 0!==i[4]?parseInt(i[4],16)/255:1,b:parseInt(i[3],16),g:parseInt(i[2],16),r:parseInt(i[1],16)}:void 0}}function P(t,e,n=!0){var i,o,r;if(void 0===t)return;const s="string"==typeof t?{value:t}:t;let a;if("string"==typeof s.value)a=s.value===c.randomColorValue?A():function(t){return x(t)}(s.value);else if(s.value instanceof Array){a=P({value:w(s.value,e,n)})}else{const t=s.value,e=null!==(i=t.rgb)&&void 0!==i?i:s.value;if(void 0!==e.r)a=e;else{const e=null!==(o=t.hsl)&&void 0!==o?o:s.value;if(void 0!==e.h&&void 0!==e.l)a=E(e);else{const e=null!==(r=t.hsv)&&void 0!==r?r:s.value;void 0!==e.h&&void 0!==e.v&&(a=T(e))}}}return a}function E(t){const e={b:0,g:0,r:0},n={h:t.h/360,l:t.l/100,s:t.s/100};if(0===n.s)e.b=n.l,e.g=n.l,e.r=n.l;else{const t=n.l<.5?n.l*(1+n.s):n.l+n.s-n.l*n.s,i=2*n.l-t;e.r=b(i,t,n.h+1/3),e.g=b(i,t,n.h),e.b=b(i,t,n.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 T(t){const e={b:0,g:0,r:0},n=t.h/60,i=t.s/100,o=t.v/100,r=o*i,s=r*(1-Math.abs(n%2-1));let a;if(n>=0&&n<=1?a={r:r,g:s,b:0}:n>1&&n<=2?a={r:s,g:r,b:0}:n>2&&n<=3?a={r:0,g:r,b:s}:n>3&&n<=4?a={r:0,g:s,b:r}:n>4&&n<=5?a={r:s,g:0,b:r}:n>5&&n<=6&&(a={r:r,g:0,b:s}),a){const t=o-r;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 A(t){const e=null!=t?t:0;return{b:Math.floor(d(v(e,256))),g:Math.floor(d(v(e,256))),r:Math.floor(d(v(e,256)))}}function S(t,e){return`rgba(${t.r}, ${t.g}, ${t.b}, ${null!=e?e:1})`}new WeakMap;class _{constructor(){this.color=new h,this.width=.5,this.opacity=1}load(t){var e;t&&(this.color=h.create(this.color,t.color),"string"==typeof this.color.value&&(this.opacity=null!==(e=function(t){var e;return null===(e=x(t))||void 0===e?void 0:e.a}(this.color.value))&&void 0!==e?e:this.opacity),void 0!==t.opacity&&(this.opacity=t.opacity),void 0!==t.width&&(this.width=t.width))}}class M{constructor(){this.enable=!1,this.stroke=new _}get lineWidth(){return this.stroke.width}set lineWidth(t){this.stroke.width=t}get lineColor(){return this.stroke.color}set lineColor(t){this.stroke.color=h.create(this.stroke.color,t)}load(t){var e;if(!t)return;void 0!==t.enable&&(this.enable=t.enable);const n=null!==(e=t.stroke)&&void 0!==e?e:{color:t.lineColor,width:t.lineWidth};this.stroke.load(n)}}class O{constructor(){this.arrangement="one-per-point"}load(t){t&&void 0!==t.arrangement&&(this.arrangement=t.arrangement)}}class k{constructor(){this.path=[],this.size={height:0,width:0}}load(t){t&&(void 0!==t.path&&(this.path=t.path),void 0!==t.size&&(void 0!==t.size.width&&(this.size.width=t.size.width),void 0!==t.size.height&&(this.size.height=t.size.height)))}}class I{constructor(){this.radius=10,this.type="path"}load(t){t&&(void 0!==t.radius&&(this.radius=t.radius),void 0!==t.type&&(this.type=t.type))}}class R{constructor(){this.draw=new M,this.enable=!1,this.inline=new O,this.move=new I,this.scale=1,this.type="none"}get inlineArrangement(){return this.inline.arrangement}set inlineArrangement(t){this.inline.arrangement=t}load(t){var e;if(!t)return;this.draw.load(t.draw);const n=null!==(e=t.inline)&&void 0!==e?e:{arrangement:t.inlineArrangement};void 0!==n&&this.inline.load(n),this.move.load(t.move),void 0!==t.scale&&(this.scale=t.scale),void 0!==t.type&&(this.type=t.type),void 0!==t.enable?this.enable=t.enable:this.enable="none"!==this.type,void 0!==t.url&&(this.url=t.url),void 0!==t.data&&("string"==typeof t.data?this.data=t.data:(this.data=new k,this.data.load(t.data))),void 0!==t.position&&(this.position=m({},t.position))}}function C(t,e,n){const i=P(n.color);if(i){t.beginPath(),t.moveTo(e[0].x,e[0].y);for(const n of e)t.lineTo(n.x,n.y);t.closePath(),t.strokeStyle=S(i),t.lineWidth=n.width,t.stroke()}}function L(t,e,n,i){t.translate(i.x,i.y);const o=P(n.color);o&&(t.strokeStyle=S(o,n.opacity),t.lineWidth=n.width,t.stroke(e))}function j(t,e,n){const{dx:i,dy:o}=y(n,t),{dx:r,dy:s}=y(e,t),a=(i*r+o*s)/(r**2+s**2),l={x:t.x+r*a,y:t.x+s*a,isOnSegment:a>=0&&a<=1};return a<0?(l.x=t.x,l.y=t.y):a>1&&(l.x=e.x,l.y=e.y),l}function B(t,e,n){const{dx:i,dy:o}=y(t,e),r=Math.atan2(o,i),s=u.create(Math.sin(r),-Math.cos(r)),a=2*(n.x*s.x+n.y*s.y);s.multTo(a),n.subFrom(s)}class H{constructor(t){this.container=t,this.dimension={height:0,width:0},this.path2DSupported=!!window.Path2D,this.options=new R,this.polygonMaskMoveRadius=this.options.move.radius*t.retina.pixelRatio}async initAsync(t){this.options.load(null==t?void 0:t.polygon);const e=this.options;this.polygonMaskMoveRadius=e.move.radius*this.container.retina.pixelRatio,e.enable&&await this.initRawData()}resize(){const t=this.container,e=this.options;e.enable&&"none"!==e.type&&(this.redrawTimeout&&clearTimeout(this.redrawTimeout),this.redrawTimeout=window.setTimeout((async()=>{await this.initRawData(!0),await t.particles.redraw()}),250))}stop(){delete this.raw,delete this.paths}particlesInitialization(){const t=this.options;return!(!t.enable||"inline"!==t.type||"one-per-point"!==t.inline.arrangement&&"per-point"!==t.inline.arrangement)&&(this.drawPoints(),!0)}particlePosition(t){var e,n;if(this.options.enable&&(null!==(n=null===(e=this.raw)||void 0===e?void 0:e.length)&&void 0!==n?n:0)>0)return m({},t||this.randomPoint())}particleBounce(t,e,n){return this.polygonBounce(t,e,n)}clickPositionValid(t){const e=this.options;return e.enable&&"none"!==e.type&&"inline"!==e.type&&this.checkInsidePolygon(t)}draw(t){var e;if(!(null===(e=this.paths)||void 0===e?void 0:e.length))return;const n=this.options,i=n.draw;if(!n.enable||!i.enable)return;const o=this.raw;for(const e of this.paths){const n=e.path2d,r=this.path2DSupported;t&&(r&&n&&this.offset?L(t,n,i.stroke,this.offset):o&&C(t,o,i.stroke))}}polygonBounce(t,e,n){const i=this.options;if(!this.raw||!i.enable||"top"!==n)return!1;if("inside"===i.type||"outside"===i.type){let e,n,i;const o=t.getPosition(),r=t.getRadius();for(let s=0,a=this.raw.length-1;s<this.raw.length;a=s++){const l=this.raw[s],h=this.raw[a];e=j(l,h,o);const c=y(o,e);if([n,i]=[c.dx,c.dy],c.distance<r)return B(l,h,t.velocity),!0}if(e&&void 0!==n&&void 0!==i&&!this.checkInsidePolygon(o)){const n={x:1,y:1};return t.position.x>=e.x&&(n.x=-1),t.position.y>=e.y&&(n.y=-1),t.position.x=e.x+2*r*n.x,t.position.y=e.y+2*r*n.y,t.velocity.mult(-1),!0}}else if("inline"===i.type&&t.initialPosition){if((o=t.initialPosition,r=t.getPosition(),y(o,r).distance)>this.polygonMaskMoveRadius)return t.velocity.x=t.velocity.y/2-t.velocity.x,t.velocity.y=t.velocity.x/2-t.velocity.y,!0}var o,r;return!1}checkInsidePolygon(t){var e,n;const i=this.container,o=this.options;if(!o.enable||"none"===o.type||"inline"===o.type)return!0;if(!this.raw)throw new Error(c.noPolygonFound);const r=i.canvas.size,s=null!==(e=null==t?void 0:t.x)&&void 0!==e?e:Math.random()*r.width,a=null!==(n=null==t?void 0:t.y)&&void 0!==n?n:Math.random()*r.height;let l=!1;for(let t=0,e=this.raw.length-1;t<this.raw.length;e=t++){const n=this.raw[t],i=this.raw[e];n.y>a!=i.y>a&&s<(i.x-n.x)*(a-n.y)/(i.y-n.y)+n.x&&(l=!l)}return"inside"===o.type?l:"outside"===o.type&&!l}parseSvgPath(t,e){var n,i,o;const r=null!=e&&e;if(void 0!==this.paths&&!r)return this.raw;const s=this.container,a=this.options,l=(new DOMParser).parseFromString(t,"image/svg+xml"),h=l.getElementsByTagName("svg")[0];let c=h.getElementsByTagName("path");c.length||(c=l.getElementsByTagName("path")),this.paths=[];for(let t=0;t<c.length;t++){const e=c.item(t);e&&this.paths.push({element:e,length:e.getTotalLength()})}const u=s.retina.pixelRatio,d=a.scale/u;this.dimension.width=parseFloat(null!==(n=h.getAttribute("width"))&&void 0!==n?n:"0")*d,this.dimension.height=parseFloat(null!==(i=h.getAttribute("height"))&&void 0!==i?i:"0")*d;const p=null!==(o=a.position)&&void 0!==o?o:{x:50,y:50};return this.offset={x:s.canvas.size.width*p.x/(100*u)-this.dimension.width/2,y:s.canvas.size.height*p.y/(100*u)-this.dimension.height/2},function(t,e,n){var i;const o=[];for(const r of t){const t=r.element.pathSegList,s=null!==(i=null==t?void 0:t.numberOfItems)&&void 0!==i?i:0,a={x:0,y:0};for(let i=0;i<s;i++){const r=null==t?void 0:t.getItem(i),s=window.SVGPathSeg;switch(null==r?void 0:r.pathSegType){case s.PATHSEG_MOVETO_ABS:case s.PATHSEG_LINETO_ABS:case s.PATHSEG_CURVETO_CUBIC_ABS:case s.PATHSEG_CURVETO_QUADRATIC_ABS:case s.PATHSEG_ARC_ABS:case s.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:case s.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:{const t=r;a.x=t.x,a.y=t.y;break}case s.PATHSEG_LINETO_HORIZONTAL_ABS:a.x=r.x;break;case s.PATHSEG_LINETO_VERTICAL_ABS:a.y=r.y;break;case s.PATHSEG_LINETO_REL:case s.PATHSEG_MOVETO_REL:case s.PATHSEG_CURVETO_CUBIC_REL:case s.PATHSEG_CURVETO_QUADRATIC_REL:case s.PATHSEG_ARC_REL:case s.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:case s.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:{const t=r;a.x+=t.x,a.y+=t.y;break}case s.PATHSEG_LINETO_HORIZONTAL_REL:a.x+=r.x;break;case s.PATHSEG_LINETO_VERTICAL_REL:a.y+=r.y;break;case s.PATHSEG_UNKNOWN:case s.PATHSEG_CLOSEPATH:continue}o.push({x:a.x*e+n.x,y:a.y*e+n.y})}}return o}(this.paths,d,this.offset)}async downloadSvgPath(t,e){const n=this.options,i=t||n.url,o=null!=e&&e;if(!i||void 0!==this.paths&&!o)return this.raw;const r=await fetch(i);if(!r.ok)throw new Error("tsParticles Error - Error occurred during polygon mask download");return this.parseSvgPath(await r.text(),e)}drawPoints(){if(this.raw)for(const t of this.raw)this.container.particles.addParticle({x:t.x,y:t.y})}randomPoint(){const t=this.container,e=this.options;let n;if("inline"===e.type)switch(e.inline.arrangement){case"random-point":n=this.getRandomPoint();break;case"random-length":n=this.getRandomPointByLength();break;case"equidistant":n=this.getEquidistantPointByIndex(t.particles.count);break;case"one-per-point":case"per-point":default:n=this.getPointByIndex(t.particles.count)}else n={x:Math.random()*t.canvas.size.width,y:Math.random()*t.canvas.size.height};return this.checkInsidePolygon(n)?n:this.randomPoint()}getRandomPoint(){if(!this.raw||!this.raw.length)throw new Error(c.noPolygonDataLoaded);const t=w(this.raw);return{x:t.x,y:t.y}}getRandomPointByLength(){var t,e,n;const i=this.options;if(!this.raw||!this.raw.length||!(null===(t=this.paths)||void 0===t?void 0:t.length))throw new Error(c.noPolygonDataLoaded);const o=w(this.paths),r=Math.floor(Math.random()*o.length)+1,s=o.element.getPointAtLength(r);return{x:s.x*i.scale+((null===(e=this.offset)||void 0===e?void 0:e.x)||0),y:s.y*i.scale+((null===(n=this.offset)||void 0===n?void 0:n.y)||0)}}getEquidistantPointByIndex(t){var e,n,i,o,r,s,a;const l=this.container.actualOptions,h=this.options;if(!this.raw||!this.raw.length||!(null===(e=this.paths)||void 0===e?void 0:e.length))throw new Error(c.noPolygonDataLoaded);let u,d=0;const p=this.paths.reduce(((t,e)=>t+e.length),0)/l.particles.number.value;for(const e of this.paths){const n=p*t-d;if(n<=e.length){u=e.element.getPointAtLength(n);break}d+=e.length}return{x:(null!==(n=null==u?void 0:u.x)&&void 0!==n?n:0)*h.scale+(null!==(o=null===(i=this.offset)||void 0===i?void 0:i.x)&&void 0!==o?o:0),y:(null!==(r=null==u?void 0:u.y)&&void 0!==r?r:0)*h.scale+(null!==(a=null===(s=this.offset)||void 0===s?void 0:s.y)&&void 0!==a?a:0)}}getPointByIndex(t){if(!this.raw||!this.raw.length)throw new Error(c.noPolygonDataLoaded);const e=this.raw[t%this.raw.length];return{x:e.x,y:e.y}}createPath2D(){var t,e;const n=this.options;if(this.path2DSupported&&(null===(t=this.paths)||void 0===t?void 0:t.length))for(const t of this.paths){const i=null===(e=t.element)||void 0===e?void 0:e.getAttribute("d");if(i){const e=new Path2D(i),o=document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGMatrix(),r=new Path2D,s=o.scale(n.scale);r.addPath?(r.addPath(e,s),t.path2d=r):delete t.path2d}else delete t.path2d;!t.path2d&&this.raw&&(t.path2d=new Path2D,t.path2d.moveTo(this.raw[0].x,this.raw[0].y),this.raw.forEach(((e,n)=>{var i;n>0&&(null===(i=t.path2d)||void 0===i||i.lineTo(e.x,e.y))})),t.path2d.closePath())}}async initRawData(t){const e=this.options;if(e.url)this.raw=await this.downloadSvgPath(e.url,t);else if(e.data){const n=e.data;let i;if("string"!=typeof n){const t=n.path instanceof Array?n.path.map((t=>`<path d="${t}" />`)).join(""):`<path d="${n.path}" />`;i=`<svg ${'xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"'} width="${n.size.width}" height="${n.size.height}">${t}</svg>`}else i=n;this.raw=this.parseSvgPath(i,t)}this.createPath2D()}}class D{constructor(){this.id="polygonMask"}getPlugin(t){return new H(t)}needsPlugin(t){var e,n,i;return null!==(n=null===(e=null==t?void 0:t.polygon)||void 0===e?void 0:e.enable)&&void 0!==n?n:void 0!==(null===(i=null==t?void 0:t.polygon)||void 0===i?void 0:i.type)&&"none"!==t.polygon.type}loadOptions(t,e){if(!this.needsPlugin(e))return;const n=t;let i=n.polygon;void 0===(null==i?void 0:i.load)&&(n.polygon=i=new R),i.load(null==e?void 0:e.polygon)}}async function G(t){g()||"SVGPathSeg"in window||await a.e(404).then(a.t.bind(a,167,23));const e=new D;await t.addPlugin(e)}return l=a.O(l)}()}));
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! tsParticles v1.
|
|
1
|
+
/*! tsParticles v1.42.2 by Matteo Bruni */
|
|
2
2
|
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var o=t();for(var n in o)("object"==typeof exports?exports:e)[n]=o[n]}}(window,(function(){return function(){"use strict";var e={d:function(t,o){for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{loadCircleShape:function(){return n}});class o{getSidesCount(){return 12}draw(e,t,o){e.arc(0,0,o,0,2*Math.PI,!1)}}async function n(e){await e.addShape("circle",new o)}return t}()}));
|
|
@@ -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 = getRangeValue(colorAnimation.speed) / 100 * reduceFactor;
|
|
4600
4886
|
if (colorAnimation.sync) {
|
|
4601
4887
|
return;
|
|
4602
4888
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! tsParticles v1.
|
|
1
|
+
/*! tsParticles v1.42.2 by Matteo Bruni */
|
|
2
2
|
!function(e,o){if("object"==typeof exports&&"object"==typeof module)module.exports=o();else if("function"==typeof define&&define.amd)define([],o);else{var t=o();for(var r in t)("object"==typeof exports?exports:e)[r]=t[r]}}(window,(function(){return function(){"use strict";var e={d:function(o,t){for(var r in t)e.o(t,r)&&!e.o(o,r)&&Object.defineProperty(o,r,{enumerable:!0,get:t[r]})},o:function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};e.r(o),e.d(o,{loadImageShape:function(){return g}});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 r(e,o){return`hsla(${e.h}, ${e.s}%, ${e.l}%, ${null!=o?o:1})`}new WeakMap;const a=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d.]+%?\))|currentcolor/gi;async function n(e){return new Promise((o=>{e.loading=!0;const t=new Image;t.addEventListener("load",(()=>{e.element=t,e.loading=!1,o()})),t.addEventListener("error",(()=>{e.error=!0,e.loading=!1,console.error(`Error tsParticles - loading image: ${e.source}`),o()})),t.src=e.source}))}async function i(e){if("svg"!==e.type)return void await n(e);e.loading=!0;const o=await fetch(e.source);e.loading=!1,o.ok||(console.error("Error tsParticles - Image not found"),e.error=!0),e.error||(e.svgData=await o.text())}function s(e,o,t,i){var s,l,c;const d=function(e,o,t){const{svgData:n}=e;if(!n)return"";const i=r(o,t);if(n.includes("fill"))return n.replace(a,(()=>i));const s=n.indexOf(">");return`${n.substring(0,s)} fill="${i}"${n.substring(s)}`}(e,t,null!==(l=null===(s=i.opacity)||void 0===s?void 0:s.value)&&void 0!==l?l:1),u=new Blob([d],{type:"image/svg+xml"}),g=URL||window.URL||window.webkitURL||window,f=g.createObjectURL(u),v=new Image,m={data:Object.assign(Object.assign({},e),{svgData:d}),ratio:o.width/o.height,replaceColor:null!==(c=o.replaceColor)&&void 0!==c?c:o.replace_color,source:o.src};return v.addEventListener("load",(()=>{const o=i.image;o&&(o.loaded=!0,e.element=v),g.revokeObjectURL(f)})),v.addEventListener("error",(()=>{g.revokeObjectURL(f);const o=Object.assign(Object.assign({},e),{error:!1,loading:!0});n(o).then((()=>{const t=i.image;t&&(e.element=o.element,t.loaded=!0)}))})),v.src=f,m}var l,c=function(e,o,t,r,a){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!a)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof o?e!==o||!a:!o.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?a.call(e,t):a?a.value=t:o.set(e,t),t},d=function(e,o,t,r){if("a"===t&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof o?e!==o||!r:!o.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?r:"a"===t?r.call(e):r?r.value:o.get(e)};class u{constructor(){l.set(this,void 0),c(this,l,[],"f")}getSidesCount(){return 12}getImages(e){const o=d(this,l,"f").find((o=>o.id===e.id));return o||(d(this,l,"f").push({id:e.id,images:[]}),this.getImages(e))}addImage(e,o){const t=this.getImages(e);null==t||t.images.push(o)}destroy(){c(this,l,[],"f")}async loadImageShape(e,o){const t=o.src;if(!t)throw new Error("Error tsParticles - No image.src");try{const r={source:t,type:t.substr(t.length-3),error:!1,loading:!0};this.addImage(e,r);const a=o.replaceColor?i:n;await a(r)}catch(e){throw new Error(`tsParticles error - ${o.src} not found`)}}draw(e,o,t,r){var a,n;const i=o.image,s=null===(a=null==i?void 0:i.data)||void 0===a?void 0:a.element;if(!s)return;const l=null!==(n=null==i?void 0:i.ratio)&&void 0!==n?n:1,c={x:-t,y:-t};(null==i?void 0:i.data.svgData)&&(null==i?void 0:i.replaceColor)||(e.globalAlpha=r),e.drawImage(s,c.x,c.y,2*t,2*t/l),(null==i?void 0:i.data.svgData)&&(null==i?void 0:i.replaceColor)||(e.globalAlpha=1)}loadShape(e){var o,t,r;if("image"!==e.shape&&"images"!==e.shape)return;const a=this.getImages(e.container).images,n=e.shapeData,i=a.find((e=>e.source===n.src));let l;if(!i)return void this.loadImageShape(e.container,n).then((()=>{this.loadShape(e)}));if(i.error)return;const c=e.getFillColor();l=i.svgData&&n.replaceColor&&c?s(i,n,c,e):{data:i,loaded:!0,ratio:n.width/n.height,replaceColor:null!==(o=n.replaceColor)&&void 0!==o?o:n.replace_color,source:n.src},l.ratio||(l.ratio=1);const d={image:l,fill:null!==(t=n.fill)&&void 0!==t?t:e.fill,close:null!==(r=n.close)&&void 0!==r?r:e.close};e.image=d.image,e.fill=d.fill,e.close=d.close}}async function g(e){const o=new u;await e.addShape("image",o),await e.addShape("images",o)}return l=new WeakMap,o}()}));
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! tsParticles v1.
|
|
1
|
+
/*! tsParticles v1.42.2 by Matteo Bruni */
|
|
2
2
|
!function(e,o){if("object"==typeof exports&&"object"==typeof module)module.exports=o();else if("function"==typeof define&&define.amd)define([],o);else{var t=o();for(var n in t)("object"==typeof exports?exports:e)[n]=t[n]}}(window,(function(){return function(){"use strict";var e={d:function(o,t){for(var n in t)e.o(t,n)&&!e.o(o,n)&&Object.defineProperty(o,n,{enumerable:!0,get:t[n]})},o:function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};e.r(o),e.d(o,{loadLineShape:function(){return n}});class t{getSidesCount(){return 1}draw(e,o,t){e.moveTo(-t/2,0),e.lineTo(t/2,0)}}async function n(e){await e.addShape("line",new t)}return o}()}));
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! tsParticles v1.
|
|
1
|
+
/*! tsParticles v1.42.2 by Matteo Bruni */
|
|
2
2
|
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var o in n)("object"==typeof exports?exports:e)[o]=n[o]}}(window,(function(){return function(){"use strict";var e={d:function(t,n){for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{loadGenericPolygonShape:function(){return a},loadPolygonShape:function(){return u},loadTriangleShape:function(){return i}});class n{getSidesCount(e){var t,n;const o=e.shapeData;return null!==(n=null!==(t=null==o?void 0:o.sides)&&void 0!==t?t:null==o?void 0:o.nb_sides)&&void 0!==n?n:5}draw(e,t,n){const o=this.getCenter(t,n),r=this.getSidesData(t,n),a=r.count.numerator*r.count.denominator,i=r.count.numerator/r.count.denominator,u=180*(i-2)/i,l=Math.PI-Math.PI*u/180;if(e){e.beginPath(),e.translate(o.x,o.y),e.moveTo(0,0);for(let t=0;t<a;t++)e.lineTo(r.length,0),e.translate(r.length,0),e.rotate(l)}}}class o extends n{getSidesData(e,t){var n,o;const r=e.shapeData,a=null!==(o=null!==(n=null==r?void 0:r.sides)&&void 0!==n?n:null==r?void 0:r.nb_sides)&&void 0!==o?o:5;return{count:{denominator:1,numerator:a},length:2.66*t/(a/3)}}getCenter(e,t){return{x:-t/(this.getSidesCount(e)/3.5),y:-t/.76}}}class r extends n{getSidesCount(){return 3}getSidesData(e,t){return{count:{denominator:2,numerator:3},length:2*t}}getCenter(e,t){return{x:-t,y:t/1.66}}}async function a(e){await e.addShape("polygon",new o)}async function i(e){await e.addShape("triangle",new r)}async function u(e){await a(e),await i(e)}return t}()}));
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! tsParticles v1.
|
|
1
|
+
/*! tsParticles v1.42.2 by Matteo Bruni */
|
|
2
2
|
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var o=t();for(var n in o)("object"==typeof exports?exports:e)[n]=o[n]}}(window,(function(){return function(){"use strict";var e={d:function(t,o){for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{loadSquareShape:function(){return r}});const o=Math.sqrt(2);class n{getSidesCount(){return 4}draw(e,t,n){e.rect(-n/o,-n/o,2*n/o,2*n/o)}}async function r(e){const t=new n;await e.addShape("edge",t),await e.addShape("square",t)}return t}()}));
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! tsParticles v1.
|
|
1
|
+
/*! tsParticles v1.42.2 by Matteo Bruni */
|
|
2
2
|
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var o=t();for(var n in o)("object"==typeof exports?exports:e)[n]=o[n]}}(window,(function(){return function(){"use strict";var e={d:function(t,o){for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{loadStarShape:function(){return n}});class o{getSidesCount(e){var t,o;const n=e.shapeData;return null!==(o=null!==(t=null==n?void 0:n.sides)&&void 0!==t?t:null==n?void 0:n.nb_sides)&&void 0!==o?o:5}draw(e,t,o){var n;const r=t.shapeData,i=this.getSidesCount(t),a=null!==(n=null==r?void 0:r.inset)&&void 0!==n?n:2;e.moveTo(0,0-o);for(let t=0;t<i;t++)e.rotate(Math.PI/i),e.lineTo(0,0-o*a),e.rotate(Math.PI/i),e.lineTo(0,0-o)}}async function n(e){await e.addShape("star",new o)}return t}()}));
|