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,i){if("object"==typeof exports&&"object"==typeof module)module.exports=i();else if("function"==typeof define&&define.amd)define([],i);else{var s=i();for(var e in s)("object"==typeof exports?exports:t)[e]=s[e]}}(window,(function(){return function(){"use strict";var t={d:function(i,s){for(var e in s)t.o(s,e)&&!t.o(i,e)&&Object.defineProperty(i,e,{enumerable:!0,get:s[e]})},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,{loadAbsorbersPlugin:function(){return I}});class s{constructor(){this.radius=0,this.mass=0}load(t){t&&(void 0!==t.mass&&(this.mass=t.mass),void 0!==t.radius&&(this.radius=t.radius))}}class e{constructor(){this.enable=!1,this.minimumValue=0}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.minimumValue&&(this.minimumValue=t.minimumValue))}}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 r{constructor(t,i){let s,e;if(void 0===i){if("number"==typeof t)throw new Error("tsParticles - Vector not initialized correctly");const i=t;[s,e]=[i.x,i.y]}else[s,e]=[t,i];this.x=s,this.y=e}static clone(t){return r.create(t.x,t.y)}static create(t,i){return new r(t,i)}static get origin(){return r.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 r.create(this.x+t.x,this.y+t.y)}addTo(t){this.x+=t.x,this.y+=t.y}sub(t){return r.create(this.x-t.x,this.y-t.y)}subFrom(t){this.x-=t.x,this.y-=t.y}mult(t){return r.create(this.x*t,this.y*t)}multTo(t){this.x*=t,this.y*=t}div(t){return r.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 r.clone(this)}setTo(t){this.x=t.x,this.y=t.y}rotate(t){return r.create(this.x*Math.cos(t)-this.y*Math.sin(t),this.x*Math.sin(t)+this.y*Math.cos(t))}updateFromAngle(t,i){this.x=Math.cos(t)*i,this.y=Math.sin(t)*i}}new WeakMap,new WeakSet;new WeakMap;new WeakMap;new WeakMap;function n(t){const i=h(t);let s=l(t);return i===s&&(s=0),Math.random()*(i-s)+s}function a(t){return"number"==typeof t?t:n(t)}function l(t){return"number"==typeof t?t:t.min}function h(t){return"number"==typeof t?t:t.max}function d(t,i){if(t===i||void 0===i&&"number"==typeof t)return t;const s=l(t),e=h(t);return void 0!==i?{min:Math.min(s,i),max:Math.max(e,i)}:d(s,e)}function c(t,i){const s=t.x-i.x,e=t.y-i.y;return{dx:s,dy:e,distance:Math.sqrt(s*s+e*e)}}function u(t,i){return c(t,i).distance}function b(t,i){return t===i||i instanceof Array&&i.indexOf(t)>-1}function v(t,i,s=!0){return t[void 0!==i&&s?i%t.length:function(t){return Math.floor(Math.random()*t.length)}(t)]}function y(t,i){return{bottom:t.y+i,left:t.x-i,right:t.x+i,top:t.y-i}}function f(t,i,s){let e=s;return e<0&&(e+=1),e>1&&(e-=1),e<1/6?t+6*(i-t)*e:e<.5?i:e<2/3?t+(i-t)*(2/3-e)*6:t}function g(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=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),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=x(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,s=t.replace(i,((t,i,s,e,o)=>i+i+s+s+e+e+(void 0!==o?o+o:""))),e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(s);return e?{a:void 0!==e[4]?parseInt(e[4],16)/255:1,b:parseInt(e[3],16),g:parseInt(e[2],16),r:parseInt(e[1],16)}:void 0}}function p(t,i,s=!0){var e,r,n;if(void 0===t)return;const a="string"==typeof t?{value:t}:t;let l;if("string"==typeof a.value)l=a.value===o.randomColorValue?M():function(t){return g(t)}(a.value);else if(a.value instanceof Array){l=p({value:v(a.value,i,s)})}else{const t=a.value,i=null!==(e=t.rgb)&&void 0!==e?e:a.value;if(void 0!==i.r)l=i;else{const i=null!==(r=t.hsl)&&void 0!==r?r:a.value;if(void 0!==i.h&&void 0!==i.l)l=m(i);else{const i=null!==(n=t.hsv)&&void 0!==n?n:a.value;void 0!==i.h&&void 0!==i.v&&(l=x(i))}}}return l}function m(t){const i={b:0,g:0,r:0},s={h:t.h/360,l:t.l/100,s:t.s/100};if(0===s.s)i.b=s.l,i.g=s.l,i.r=s.l;else{const t=s.l<.5?s.l*(1+s.s):s.l+s.s-s.l*s.s,e=2*s.l-t;i.r=f(e,t,s.h+1/3),i.g=f(e,t,s.h),i.b=f(e,t,s.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 x(t){const i={b:0,g:0,r:0},s=t.h/60,e=t.s/100,o=t.v/100,r=o*e,n=r*(1-Math.abs(s%2-1));let a;if(s>=0&&s<=1?a={r:r,g:n,b:0}:s>1&&s<=2?a={r:n,g:r,b:0}:s>2&&s<=3?a={r:0,g:r,b:n}:s>3&&s<=4?a={r:0,g:n,b:r}:s>4&&s<=5?a={r:n,g:0,b:r}:s>5&&s<=6&&(a={r:r,g:0,b:n}),a){const t=o-r;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 M(t){const i=null!=t?t:0;return{b:Math.floor(n(d(i,256))),g:Math.floor(n(d(i,256))),r:Math.floor(n(d(i,256)))}}new WeakMap;class w extends class{constructor(){this.random=new e,this.value=0}load(t){t&&("boolean"==typeof t.random?this.random.enable=t.random:this.random.load(t.random),void 0!==t.value&&(this.value=d(t.value,this.random.enable?this.random.minimumValue:void 0)))}}{constructor(){super(),this.density=5,this.random.minimumValue=1,this.value=50,this.limit=new s}load(t){t&&(super.load(t),void 0!==t.density&&(this.density=t.density),"number"==typeof t.limit?this.limit.radius=t.limit:this.limit.load(t.limit))}}class P{constructor(){this.value="#fff"}static create(t,i){const s=new P;return s.load(t),void 0!==i&&("string"==typeof i||i instanceof Array?s.load({value:i}):s.load(i)),s}load(t){void 0!==(null==t?void 0:t.value)&&(this.value=t.value)}}class A{constructor(){this.color=new P,this.color.value="#000000",this.draggable=!1,this.opacity=1,this.destroy=!0,this.orbits=!1,this.size=new w}load(t){void 0!==t&&(void 0!==t.color&&(this.color=P.create(this.color,t.color)),void 0!==t.draggable&&(this.draggable=t.draggable),this.name=t.name,void 0!==t.opacity&&(this.opacity=t.opacity),void 0!==t.position&&(this.position={x:t.position.x,y:t.position.y}),void 0!==t.size&&this.size.load(t.size),void 0!==t.destroy&&(this.destroy=t.destroy),void 0!==t.orbits&&(this.orbits=t.orbits))}}class z{constructor(t,i,s,e){var o,n,l;this.absorbers=t,this.container=i,this.initialPosition=e?r.create(e.x,e.y):void 0,s instanceof A?this.options=s:(this.options=new A,this.options.load(s)),this.dragging=!1,this.name=this.options.name,this.opacity=this.options.opacity,this.size=a(this.options.size.value)*i.retina.pixelRatio,this.mass=this.size*this.options.size.density*i.retina.reduceFactor;const h=this.options.size.limit;this.limit={radius:h.radius*i.retina.pixelRatio*i.retina.reduceFactor,mass:h.mass},this.color=null!==(o=p(this.options.color))&&void 0!==o?o:{b:0,g:0,r:0},this.position=null!==(l=null===(n=this.initialPosition)||void 0===n?void 0:n.copy())&&void 0!==l?l:this.calcPosition()}attract(t){const i=this.container,s=this.options;if(s.draggable){const t=i.interactivity.mouse;if(t.clicking&&t.downPosition){u(this.position,t.downPosition)<=this.size&&(this.dragging=!0)}else this.dragging=!1;this.dragging&&t.position&&(this.position.x=t.position.x,this.position.y=t.position.y)}const e=t.getPosition(),{dx:o,dy:n,distance:a}=c(this.position,e),l=r.create(o,n);if(l.length=this.mass/Math.pow(a,2)*i.retina.reduceFactor,a<this.size+t.getRadius()){const e=.033*t.getRadius()*i.retina.pixelRatio;this.size>t.getRadius()&&a<this.size-t.getRadius()||void 0!==t.absorberOrbit&&t.absorberOrbit.length<0?s.destroy?t.destroy():(t.needsNewPosition=!0,this.updateParticlePosition(t,l)):(s.destroy&&(t.size.value-=e),this.updateParticlePosition(t,l)),(this.limit.radius<=0||this.size<this.limit.radius)&&(this.size+=e),(this.limit.mass<=0||this.mass<this.limit.mass)&&(this.mass+=e*this.options.size.density*i.retina.reduceFactor)}else this.updateParticlePosition(t,l)}resize(){const t=this.initialPosition;var i,s,e,o;this.position=t&&(i=t,s=this.container.canvas.size,function(t,i,s){let e=!0;return s&&"bottom"!==s||(e=t.top<i.height),!e||s&&"left"!==s||(e=t.right>0),!e||s&&"right"!==s||(e=t.left<i.width),!e||s&&"top"!==s||(e=t.bottom>0),e}(y(i,null!=e?e:0),s,o))?t:this.calcPosition()}draw(t){var i,s;t.translate(this.position.x,this.position.y),t.beginPath(),t.arc(0,0,this.size,0,2*Math.PI,!1),t.closePath(),t.fillStyle=(i=this.color,s=this.opacity,`rgba(${i.r}, ${i.g}, ${i.b}, ${null!=s?s:1})`),t.fill()}calcPosition(){var t,i;const s=this.container,e=this.options.position;return r.create((null!==(t=null==e?void 0:e.x)&&void 0!==t?t:100*Math.random())/100*s.canvas.size.width,(null!==(i=null==e?void 0:e.y)&&void 0!==i?i:100*Math.random())/100*s.canvas.size.height)}updateParticlePosition(t,i){var s;if(t.destroyed)return;const e=this.container,o=e.canvas.size;if(t.needsNewPosition&&(t.position.x=Math.floor(Math.random()*o.width),t.position.y=Math.floor(Math.random()*o.height),t.velocity.setTo(t.initialVelocity),t.absorberOrbit=void 0,t.needsNewPosition=!1),this.options.orbits){if(void 0===t.absorberOrbit&&(t.absorberOrbit=r.create(0,0),t.absorberOrbit.length=u(t.getPosition(),this.position),t.absorberOrbit.angle=Math.random()*Math.PI*2),t.absorberOrbit.length<=this.size&&!this.options.destroy){const i=Math.min(o.width,o.height);t.absorberOrbit.length=i*(.2*Math.random()-.1+1)}void 0===t.absorberOrbitDirection&&(t.absorberOrbitDirection=t.velocity.x>=0?"clockwise":"counter-clockwise");const n=t.absorberOrbit.length,a=t.absorberOrbit.angle,l=t.absorberOrbitDirection;t.velocity.x=0,t.velocity.y=0;const h={x:"clockwise"===l?Math.cos:Math.sin,y:"clockwise"===l?Math.sin:Math.cos};t.position.x=this.position.x+n*h.x(a),t.position.y=this.position.y+n*h.y(a),t.absorberOrbit.length-=i.length,t.absorberOrbit.angle+=(null!==(s=t.retina.moveSpeed)&&void 0!==s?s:0)*e.retina.pixelRatio/100*e.retina.reduceFactor}else{const s=r.origin;s.length=i.length,s.angle=i.angle,t.velocity.addTo(s)}}}class O{constructor(t){this.container=t,this.array=[],this.absorbers=[],this.interactivityAbsorbers=[];const i=t;i.getAbsorber=t=>void 0===t||"number"==typeof t?this.array[t||0]:this.array.find((i=>i.name===t)),i.addAbsorber=(t,i)=>this.addAbsorber(t,i)}init(t){var i,s;if(!t)return;t.absorbers&&(t.absorbers instanceof Array?this.absorbers=t.absorbers.map((t=>{const i=new A;return i.load(t),i})):(this.absorbers instanceof Array&&(this.absorbers=new A),this.absorbers.load(t.absorbers)));const e=null===(s=null===(i=t.interactivity)||void 0===i?void 0:i.modes)||void 0===s?void 0:s.absorbers;if(e&&(e instanceof Array?this.interactivityAbsorbers=e.map((t=>{const i=new A;return i.load(t),i})):(this.interactivityAbsorbers instanceof Array&&(this.interactivityAbsorbers=new A),this.interactivityAbsorbers.load(e))),this.absorbers instanceof Array)for(const t of this.absorbers)this.addAbsorber(t);else this.addAbsorber(this.absorbers)}particleUpdate(t){for(const i of this.array)if(i.attract(t),t.destroyed)break}draw(t){for(const i of this.array)t.save(),i.draw(t),t.restore()}stop(){this.array=[]}resize(){for(const t of this.array)t.resize()}handleClickMode(t){const i=this.container,s=this.absorbers,e=this.interactivityAbsorbers;if("absorber"===t){let t;e instanceof Array?e.length>0&&(t=v(e)):t=e;const o=null!=t?t:s instanceof Array?v(s):s,r=i.interactivity.mouse.clickPosition;this.addAbsorber(o,r)}}addAbsorber(t,i){const s=new z(this,this.container,t,i);return this.array.push(s),s}removeAbsorber(t){const i=this.array.indexOf(t);i>=0&&this.array.splice(i,1)}}class k{constructor(){this.id="absorbers"}getPlugin(t){return new O(t)}needsPlugin(t){var i,s,e;if(void 0===t)return!1;const o=t.absorbers;let r=!1;return o instanceof Array?o.length&&(r=!0):(void 0!==o||(null===(e=null===(s=null===(i=t.interactivity)||void 0===i?void 0:i.events)||void 0===s?void 0:s.onClick)||void 0===e?void 0:e.mode)&&b("absorber",t.interactivity.events.onClick.mode))&&(r=!0),r}loadOptions(t,i){var s,e;if(!this.needsPlugin(t)&&!this.needsPlugin(i))return;const o=t;if(null==i?void 0:i.absorbers)if((null==i?void 0:i.absorbers)instanceof Array)o.absorbers=null==i?void 0:i.absorbers.map((t=>{const i=new A;return i.load(t),i}));else{let t=o.absorbers;void 0===(null==t?void 0:t.load)&&(o.absorbers=t=new A),t.load(null==i?void 0:i.absorbers)}const r=null===(e=null===(s=null==i?void 0:i.interactivity)||void 0===s?void 0:s.modes)||void 0===e?void 0:e.absorbers;if(r)if(r instanceof Array)o.interactivity.modes.absorbers=r.map((t=>{const i=new A;return i.load(t),i}));else{let t=o.interactivity.modes.absorbers;void 0===(null==t?void 0:t.load)&&(o.interactivity.modes.absorbers=t=new A),t.load(r)}}}async function I(t){const i=new k;await t.addPlugin(i)}return i}()}));
|
|
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 s=i();for(var o in s)("object"==typeof exports?exports:t)[o]=s[o]}}(window,(function(){return function(){"use strict";var t={d:function(i,s){for(var o in s)t.o(s,o)&&!t.o(i,o)&&Object.defineProperty(i,o,{enumerable:!0,get:s[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,{loadAbsorbersPlugin:function(){return I}});class s{constructor(){this.radius=0,this.mass=0}load(t){t&&(void 0!==t.mass&&(this.mass=t.mass),void 0!==t.radius&&(this.radius=t.radius))}}class o{constructor(){this.enable=!1,this.minimumValue=0}load(t){t&&(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.minimumValue&&(this.minimumValue=t.minimumValue))}}class e{}e.generatedAttribute="generated",e.randomColorValue="random",e.midColorValue="mid",e.touchEndEvent="touchend",e.mouseDownEvent="mousedown",e.mouseUpEvent="mouseup",e.mouseMoveEvent="mousemove",e.touchStartEvent="touchstart",e.touchMoveEvent="touchmove",e.mouseLeaveEvent="mouseleave",e.mouseOutEvent="mouseout",e.touchCancelEvent="touchcancel",e.resizeEvent="resize",e.visibilityChangeEvent="visibilitychange",e.noPolygonDataLoaded="No polygon data loaded.",e.noPolygonFound="No polygon found, you need to specify SVG url in config.";new WeakMap;new WeakMap;class r{constructor(t,i){let s,o;if(void 0===i){if("number"==typeof t)throw new Error("tsParticles - Vector not initialized correctly");const i=t;[s,o]=[i.x,i.y]}else[s,o]=[t,i];this.x=s,this.y=o}static clone(t){return r.create(t.x,t.y)}static create(t,i){return new r(t,i)}static get origin(){return r.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 r.create(this.x+t.x,this.y+t.y)}addTo(t){this.x+=t.x,this.y+=t.y}sub(t){return r.create(this.x-t.x,this.y-t.y)}subFrom(t){this.x-=t.x,this.y-=t.y}mult(t){return r.create(this.x*t,this.y*t)}multTo(t){this.x*=t,this.y*=t}div(t){return r.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 r.clone(this)}setTo(t){this.x=t.x,this.y=t.y}rotate(t){return r.create(this.x*Math.cos(t)-this.y*Math.sin(t),this.x*Math.sin(t)+this.y*Math.cos(t))}updateFromAngle(t,i){this.x=Math.cos(t)*i,this.y=Math.sin(t)*i}}new WeakMap,new WeakSet;new WeakMap;new WeakMap;new WeakMap;function n(t){const i=h(t);let s=l(t);return i===s&&(s=0),Math.random()*(i-s)+s}function a(t){return"number"==typeof t?t:n(t)}function l(t){return"number"==typeof t?t:t.min}function h(t){return"number"==typeof t?t:t.max}function d(t,i){if(t===i||void 0===i&&"number"==typeof t)return t;const s=l(t),o=h(t);return void 0!==i?{min:Math.min(s,i),max:Math.max(o,i)}:d(s,o)}function c(t,i){const s=t.x-i.x,o=t.y-i.y;return{dx:s,dy:o,distance:Math.sqrt(s*s+o*o)}}function u(t,i){return c(t,i).distance}function b(t,i){return t===i||i instanceof Array&&i.indexOf(t)>-1}function v(t,i,s=!0){return t[void 0!==i&&s?i%t.length:function(t){return Math.floor(Math.random()*t.length)}(t)]}function y(t,i){return{bottom:t.y+i,left:t.x-i,right:t.x+i,top:t.y-i}}function f(t,i,s){let o=s;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 p(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=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),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=x(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,s=t.replace(i,((t,i,s,o,e)=>i+i+s+s+o+o+(void 0!==e?e+e:""))),o=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(s);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,s=!0){var o,r,n;if(void 0===t)return;const a="string"==typeof t?{value:t}:t;let l;if("string"==typeof a.value)l=a.value===e.randomColorValue?M():function(t){return p(t)}(a.value);else if(a.value instanceof Array){l=g({value:v(a.value,i,s)})}else{const t=a.value,i=null!==(o=t.rgb)&&void 0!==o?o:a.value;if(void 0!==i.r)l=i;else{const i=null!==(r=t.hsl)&&void 0!==r?r:a.value;if(void 0!==i.h&&void 0!==i.l)l=m(i);else{const i=null!==(n=t.hsv)&&void 0!==n?n:a.value;void 0!==i.h&&void 0!==i.v&&(l=x(i))}}}return l}function m(t){const i={b:0,g:0,r:0},s={h:t.h/360,l:t.l/100,s:t.s/100};if(0===s.s)i.b=s.l,i.g=s.l,i.r=s.l;else{const t=s.l<.5?s.l*(1+s.s):s.l+s.s-s.l*s.s,o=2*s.l-t;i.r=f(o,t,s.h+1/3),i.g=f(o,t,s.h),i.b=f(o,t,s.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 x(t){const i={b:0,g:0,r:0},s=t.h/60,o=t.s/100,e=t.v/100,r=e*o,n=r*(1-Math.abs(s%2-1));let a;if(s>=0&&s<=1?a={r:r,g:n,b:0}:s>1&&s<=2?a={r:n,g:r,b:0}:s>2&&s<=3?a={r:0,g:r,b:n}:s>3&&s<=4?a={r:0,g:n,b:r}:s>4&&s<=5?a={r:n,g:0,b:r}:s>5&&s<=6&&(a={r:r,g:0,b:n}),a){const t=e-r;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 M(t){const i=null!=t?t:0;return{b:Math.floor(n(d(i,256))),g:Math.floor(n(d(i,256))),r:Math.floor(n(d(i,256)))}}new WeakMap;class w extends class{constructor(){this.random=new o,this.value=0}load(t){t&&("boolean"==typeof t.random?this.random.enable=t.random:this.random.load(t.random),void 0!==t.value&&(this.value=d(t.value,this.random.enable?this.random.minimumValue:void 0)))}}{constructor(){super(),this.density=5,this.random.minimumValue=1,this.value=50,this.limit=new s}load(t){t&&(super.load(t),void 0!==t.density&&(this.density=t.density),"number"==typeof t.limit?this.limit.radius=t.limit:this.limit.load(t.limit))}}class P{constructor(){this.value="#fff"}static create(t,i){const s=new P;return s.load(t),void 0!==i&&("string"==typeof i||i instanceof Array?s.load({value:i}):s.load(i)),s}load(t){void 0!==(null==t?void 0:t.value)&&(this.value=t.value)}}class A{constructor(){this.color=new P,this.color.value="#000000",this.draggable=!1,this.opacity=1,this.destroy=!0,this.orbits=!1,this.size=new w}load(t){void 0!==t&&(void 0!==t.color&&(this.color=P.create(this.color,t.color)),void 0!==t.draggable&&(this.draggable=t.draggable),this.name=t.name,void 0!==t.opacity&&(this.opacity=t.opacity),void 0!==t.position&&(this.position={},void 0!==t.position.x&&(this.position.x=d(t.position.x)),void 0!==t.position.y&&(this.position.y=d(t.position.y))),void 0!==t.size&&this.size.load(t.size),void 0!==t.destroy&&(this.destroy=t.destroy),void 0!==t.orbits&&(this.orbits=t.orbits))}}class z{constructor(t,i,s,o){var e,n,l;this.absorbers=t,this.container=i,this.initialPosition=o?r.create(o.x,o.y):void 0,s instanceof A?this.options=s:(this.options=new A,this.options.load(s)),this.dragging=!1,this.name=this.options.name,this.opacity=this.options.opacity,this.size=a(this.options.size.value)*i.retina.pixelRatio,this.mass=this.size*this.options.size.density*i.retina.reduceFactor;const h=this.options.size.limit;this.limit={radius:h.radius*i.retina.pixelRatio*i.retina.reduceFactor,mass:h.mass},this.color=null!==(e=g(this.options.color))&&void 0!==e?e:{b:0,g:0,r:0},this.position=null!==(l=null===(n=this.initialPosition)||void 0===n?void 0:n.copy())&&void 0!==l?l:this.calcPosition()}attract(t){const i=this.container,s=this.options;if(s.draggable){const t=i.interactivity.mouse;if(t.clicking&&t.downPosition){u(this.position,t.downPosition)<=this.size&&(this.dragging=!0)}else this.dragging=!1;this.dragging&&t.position&&(this.position.x=t.position.x,this.position.y=t.position.y)}const o=t.getPosition(),{dx:e,dy:n,distance:a}=c(this.position,o),l=r.create(e,n);if(l.length=this.mass/Math.pow(a,2)*i.retina.reduceFactor,a<this.size+t.getRadius()){const o=.033*t.getRadius()*i.retina.pixelRatio;this.size>t.getRadius()&&a<this.size-t.getRadius()||void 0!==t.absorberOrbit&&t.absorberOrbit.length<0?s.destroy?t.destroy():(t.needsNewPosition=!0,this.updateParticlePosition(t,l)):(s.destroy&&(t.size.value-=o),this.updateParticlePosition(t,l)),(this.limit.radius<=0||this.size<this.limit.radius)&&(this.size+=o),(this.limit.mass<=0||this.mass<this.limit.mass)&&(this.mass+=o*this.options.size.density*i.retina.reduceFactor)}else this.updateParticlePosition(t,l)}resize(){const t=this.initialPosition;var i,s,o,e;this.position=t&&(i=t,s=this.container.canvas.size,function(t,i,s){let o=!0;return s&&"bottom"!==s||(o=t.top<i.height),!o||s&&"left"!==s||(o=t.right>0),!o||s&&"right"!==s||(o=t.left<i.width),!o||s&&"top"!==s||(o=t.bottom>0),o}(y(i,null!=o?o:0),s,e))?t:this.calcPosition()}draw(t){var i,s;t.translate(this.position.x,this.position.y),t.beginPath(),t.arc(0,0,this.size,0,2*Math.PI,!1),t.closePath(),t.fillStyle=(i=this.color,s=this.opacity,`rgba(${i.r}, ${i.g}, ${i.b}, ${null!=s?s:1})`),t.fill()}calcPosition(){var t,i;const s=this.container,o=this.options.position;return r.create(a(null!==(t=null==o?void 0:o.x)&&void 0!==t?t:100*Math.random())/100*s.canvas.size.width,a(null!==(i=null==o?void 0:o.y)&&void 0!==i?i:100*Math.random())/100*s.canvas.size.height)}updateParticlePosition(t,i){var s;if(t.destroyed)return;const o=this.container,e=o.canvas.size;if(t.needsNewPosition&&(t.position.x=Math.floor(Math.random()*e.width),t.position.y=Math.floor(Math.random()*e.height),t.velocity.setTo(t.initialVelocity),t.absorberOrbit=void 0,t.needsNewPosition=!1),this.options.orbits){if(void 0===t.absorberOrbit&&(t.absorberOrbit=r.create(0,0),t.absorberOrbit.length=u(t.getPosition(),this.position),t.absorberOrbit.angle=Math.random()*Math.PI*2),t.absorberOrbit.length<=this.size&&!this.options.destroy){const i=Math.min(e.width,e.height);t.absorberOrbit.length=i*(.2*Math.random()-.1+1)}void 0===t.absorberOrbitDirection&&(t.absorberOrbitDirection=t.velocity.x>=0?"clockwise":"counter-clockwise");const n=t.absorberOrbit.length,a=t.absorberOrbit.angle,l=t.absorberOrbitDirection;t.velocity.x=0,t.velocity.y=0;const h={x:"clockwise"===l?Math.cos:Math.sin,y:"clockwise"===l?Math.sin:Math.cos};t.position.x=this.position.x+n*h.x(a),t.position.y=this.position.y+n*h.y(a),t.absorberOrbit.length-=i.length,t.absorberOrbit.angle+=(null!==(s=t.retina.moveSpeed)&&void 0!==s?s:0)*o.retina.pixelRatio/100*o.retina.reduceFactor}else{const s=r.origin;s.length=i.length,s.angle=i.angle,t.velocity.addTo(s)}}}class O{constructor(t){this.container=t,this.array=[],this.absorbers=[],this.interactivityAbsorbers=[];const i=t;i.getAbsorber=t=>void 0===t||"number"==typeof t?this.array[t||0]:this.array.find((i=>i.name===t)),i.addAbsorber=(t,i)=>this.addAbsorber(t,i)}init(t){var i,s;if(!t)return;t.absorbers&&(t.absorbers instanceof Array?this.absorbers=t.absorbers.map((t=>{const i=new A;return i.load(t),i})):(this.absorbers instanceof Array&&(this.absorbers=new A),this.absorbers.load(t.absorbers)));const o=null===(s=null===(i=t.interactivity)||void 0===i?void 0:i.modes)||void 0===s?void 0:s.absorbers;if(o&&(o instanceof Array?this.interactivityAbsorbers=o.map((t=>{const i=new A;return i.load(t),i})):(this.interactivityAbsorbers instanceof Array&&(this.interactivityAbsorbers=new A),this.interactivityAbsorbers.load(o))),this.absorbers instanceof Array)for(const t of this.absorbers)this.addAbsorber(t);else this.addAbsorber(this.absorbers)}particleUpdate(t){for(const i of this.array)if(i.attract(t),t.destroyed)break}draw(t){for(const i of this.array)t.save(),i.draw(t),t.restore()}stop(){this.array=[]}resize(){for(const t of this.array)t.resize()}handleClickMode(t){const i=this.container,s=this.absorbers,o=this.interactivityAbsorbers;if("absorber"===t){let t;o instanceof Array?o.length>0&&(t=v(o)):t=o;const e=null!=t?t:s instanceof Array?v(s):s,r=i.interactivity.mouse.clickPosition;this.addAbsorber(e,r)}}addAbsorber(t,i){const s=new z(this,this.container,t,i);return this.array.push(s),s}removeAbsorber(t){const i=this.array.indexOf(t);i>=0&&this.array.splice(i,1)}}class k{constructor(){this.id="absorbers"}getPlugin(t){return new O(t)}needsPlugin(t){var i,s,o;if(void 0===t)return!1;const e=t.absorbers;let r=!1;return e instanceof Array?e.length&&(r=!0):(void 0!==e||(null===(o=null===(s=null===(i=t.interactivity)||void 0===i?void 0:i.events)||void 0===s?void 0:s.onClick)||void 0===o?void 0:o.mode)&&b("absorber",t.interactivity.events.onClick.mode))&&(r=!0),r}loadOptions(t,i){var s,o;if(!this.needsPlugin(t)&&!this.needsPlugin(i))return;const e=t;if(null==i?void 0:i.absorbers)if((null==i?void 0:i.absorbers)instanceof Array)e.absorbers=null==i?void 0:i.absorbers.map((t=>{const i=new A;return i.load(t),i}));else{let t=e.absorbers;void 0===(null==t?void 0:t.load)&&(e.absorbers=t=new A),t.load(null==i?void 0:i.absorbers)}const r=null===(o=null===(s=null==i?void 0:i.interactivity)||void 0===s?void 0:s.modes)||void 0===o?void 0:o.absorbers;if(r)if(r instanceof Array)e.interactivity.modes.absorbers=r.map((t=>{const i=new A;return i.load(t),i}));else{let t=e.interactivity.modes.absorbers;void 0===(null==t?void 0:t.load)&&(e.interactivity.modes.absorbers=t=new A),t.load(r)}}}async function I(t){const i=new k;await t.addPlugin(i)}return i}()}));
|