@tsparticles/plugin-absorbers 4.0.0-beta.11 → 4.0.0-beta.15
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/browser/browser.js +5 -0
- package/browser/index.lazy.js +6 -0
- package/browser/interaction.js +7 -8
- package/browser/interaction.lazy.js +14 -0
- package/browser/plugin.js +4 -5
- package/browser/plugin.lazy.js +10 -0
- package/cjs/browser.js +5 -0
- package/cjs/index.lazy.js +6 -0
- package/cjs/interaction.js +7 -8
- package/cjs/interaction.lazy.js +14 -0
- package/cjs/plugin.js +4 -5
- package/cjs/plugin.lazy.js +10 -0
- package/esm/browser.js +5 -0
- package/esm/index.lazy.js +6 -0
- package/esm/interaction.js +7 -8
- package/esm/interaction.lazy.js +14 -0
- package/esm/plugin.js +4 -5
- package/esm/plugin.lazy.js +10 -0
- package/package.json +24 -3
- package/report.html +4949 -94
- package/tsparticles.plugin.absorbers.js +604 -361
- package/tsparticles.plugin.absorbers.min.js +1 -2
- package/types/browser.d.ts +1 -0
- package/types/getAbsorbersInstancesManager.d.ts +1 -1
- package/types/index.lazy.d.ts +3 -0
- package/types/interaction.lazy.d.ts +3 -0
- package/types/plugin.lazy.d.ts +3 -0
- package/523.min.js +0 -1
- package/547.min.js +0 -1
- package/555.min.js +0 -1
- package/564.min.js +0 -1
- package/63.min.js +0 -1
- package/986.min.js +0 -1
- package/dist_browser_AbsorberInstance_js.js +0 -70
- package/dist_browser_AbsorbersInstancesManager_js.js +0 -30
- package/dist_browser_AbsorbersInteractor_js.js +0 -70
- package/dist_browser_AbsorbersPluginInstance_js.js +0 -30
- package/dist_browser_AbsorbersPlugin_js.js +0 -70
- package/dist_browser_getAbsorbersInstancesManager_js.js +0 -30
|
@@ -1,2 +1 @@
|
|
|
1
|
-
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/plugin-interactivity"),require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/plugin-interactivity","@tsparticles/engine"],t);else{var r="object"==typeof exports?t(require("@tsparticles/plugin-interactivity"),require("@tsparticles/engine")):t(e.window,e.window);for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}(this,(e,t)=>(()=>{"use strict";var r,n,i,o={303(e){e.exports=t},702(t){t.exports=e}},a={};function s(e){var t=a[e];if(void 0!==t)return t.exports;var r=a[e]={exports:{}};return o[e](r,r.exports,s),r.exports}s.m=o,l=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,s.t=function(e,t){if(1&t&&(e=this(e)),8&t||"object"==typeof e&&e&&(4&t&&e.__esModule||16&t&&"function"==typeof e.then))return e;var r=Object.create(null);s.r(r);var n={};c=c||[null,l({}),l([]),l(l)];for(var i=2&t&&e;("object"==typeof i||"function"==typeof i)&&!~c.indexOf(i);i=l(i))Object.getOwnPropertyNames(i).forEach(t=>n[t]=()=>e[t]);return n.default=()=>e,s.d(r,n),r},s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.f={},s.e=e=>Promise.all(Object.keys(s.f).reduce((t,r)=>(s.f[r](e,t),t),[])),s.u=e=>""+e+".min.js",s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),p={},s.l=(e,t,r,n)=>{if(p[e])return void p[e].push(t);if(void 0!==r)for(var i,o,a=document.getElementsByTagName("script"),c=0;c<a.length;c++){var l=a[c];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")=="@tsparticles/plugin-absorbers:"+r){i=l;break}}i||(o=!0,(i=document.createElement("script")).charset="utf-8",s.nc&&i.setAttribute("nonce",s.nc),i.setAttribute("data-webpack","@tsparticles/plugin-absorbers:"+r),i.src=e),p[e]=[t];var u=(t,r)=>{i.onerror=i.onload=null,clearTimeout(d);var n=p[e];if(delete p[e],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach(e=>e(r)),t)return t(r)},d=setTimeout(u.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=u.bind(null,i.onerror),i.onload=u.bind(null,i.onload),o&&document.head.appendChild(i)},s.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.g.importScripts&&(u=s.g.location+"");var c,l,p,u,d=s.g.document;if(!u&&d&&(d.currentScript&&"SCRIPT"===d.currentScript.tagName.toUpperCase()&&(u=d.currentScript.src),!u)){var f=d.getElementsByTagName("script");if(f.length)for(var b=f.length-1;b>-1&&(!u||!/^http(s?):/.test(u));)u=f[b--].src}if(!u)throw Error("Automatic publicPath is not supported in this browser");s.p=u=u.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r={425:0},s.f.j=(e,t)=>{var n=s.o(r,e)?r[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise((t,i)=>n=r[e]=[t,i]);t.push(n[2]=i);var o=s.p+s.u(e),a=Error();s.l(o,t=>{if(s.o(r,e)&&(0!==(n=r[e])&&(r[e]=void 0),n)){var i=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;a.message="Loading chunk "+e+` failed.
|
|
2
|
-
(`+i+": "+o+")",a.name="ChunkLoadError",a.type=i,a.request=o,n[1](a)}},"chunk-"+e,e)}},n=(e,t)=>{var n,i,[o,a,c]=t,l=0;if(o.some(e=>0!==r[e])){for(n in a)s.o(a,n)&&(s.m[n]=a[n]);c&&c(s)}for(e&&e(t);l<o.length;l++)i=o[l],s.o(r,i)&&r[i]&&r[i][0](),r[i]=0},(i=this.webpackChunk_tsparticles_plugin_absorbers=this.webpackChunk_tsparticles_plugin_absorbers||[]).forEach(n.bind(null,0)),i.push=n.bind(null,i.push.bind(i));var g={};async function h(e){e.checkVersion("4.0.0-beta.11"),await e.pluginManager.register(async e=>{let[{ensureInteractivityPluginLoaded:t},{getAbsorbersInstancesManager:r}]=await Promise.all([Promise.resolve().then(s.t.bind(s,702,19)),s.e(63).then(s.bind(s,63))]),n=e.pluginManager,i=await r(e);t(e),n.addInteractor?.("externalAbsorbers",async e=>{let{AbsorbersInteractor:t}=await s.e(555).then(s.bind(s,555));return new t(e,i)})})}async function y(e){e.checkVersion("4.0.0-beta.11"),await e.pluginManager.register(async e=>{let[{getAbsorbersInstancesManager:t},{AbsorbersPlugin:r}]=await Promise.all([s.e(63).then(s.bind(s,63)),s.e(547).then(s.bind(s,547))]),n=e.pluginManager,i=await t(e);n.addPlugin(new r(i))})}async function m(e){await y(e),await h(e)}return s.r(g),s.d(g,{loadAbsorbersPlugin:()=>m}),g})());
|
|
1
|
+
!function(t){t.__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.bundles=t.__tsParticlesInternals.bundles||{},t.__tsParticlesInternals.effects=t.__tsParticlesInternals.effects||{},t.__tsParticlesInternals.engine=t.__tsParticlesInternals.engine||{},t.__tsParticlesInternals.interactions=t.__tsParticlesInternals.interactions||{},t.__tsParticlesInternals.palettes=t.__tsParticlesInternals.palettes||{},t.__tsParticlesInternals.paths=t.__tsParticlesInternals.paths||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins.emittersShapes=t.__tsParticlesInternals.plugins.emittersShapes||{},t.__tsParticlesInternals.presets=t.__tsParticlesInternals.presets||{},t.__tsParticlesInternals.shapes=t.__tsParticlesInternals.shapes||{},t.__tsParticlesInternals.updaters=t.__tsParticlesInternals.updaters||{},t.__tsParticlesInternals.utils=t.__tsParticlesInternals.utils||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas.utils=t.__tsParticlesInternals.canvas.utils||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path.utils=t.__tsParticlesInternals.path.utils||{};var s="undefined"!=typeof Proxy?function(t){return new Proxy(t,{get:function(t,s){return s in t||(t[s]={}),t[s]}})}:function(t){return t};t.__tsParticlesInternals.bundles=s(t.__tsParticlesInternals.bundles),t.__tsParticlesInternals.effects=s(t.__tsParticlesInternals.effects),t.__tsParticlesInternals.interactions=s(t.__tsParticlesInternals.interactions),t.__tsParticlesInternals.palettes=s(t.__tsParticlesInternals.palettes),t.__tsParticlesInternals.paths=s(t.__tsParticlesInternals.paths),t.__tsParticlesInternals.plugins=s(t.__tsParticlesInternals.plugins),t.__tsParticlesInternals.plugins.emittersShapes=s(t.__tsParticlesInternals.plugins.emittersShapes),t.__tsParticlesInternals.presets=s(t.__tsParticlesInternals.presets),t.__tsParticlesInternals.shapes=s(t.__tsParticlesInternals.shapes),t.__tsParticlesInternals.updaters=s(t.__tsParticlesInternals.updaters),t.__tsParticlesInternals.utils=s(t.__tsParticlesInternals.utils),t.__tsParticlesInternals.canvas=s(t.__tsParticlesInternals.canvas),t.__tsParticlesInternals.path=s(t.__tsParticlesInternals.path),t.tsparticlesInternalExports=t.tsparticlesInternalExports||{}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:this),function(t,s){"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("@tsparticles/plugin-interactivity"),require("@tsparticles/engine")):"function"==typeof define&&define.amd?define(["exports","@tsparticles/plugin-interactivity","@tsparticles/engine"],s):s(((t="undefined"!=typeof globalThis?globalThis:t||self).__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins.absorbers=t.__tsParticlesInternals.plugins.absorbers||{}),t.__tsParticlesInternals.plugins.interactivity,t.__tsParticlesInternals.engine)}(this,function(t,s,i){"use strict";class e{count;delay;duration;wait;constructor(){this.wait=!1}load(t){i.isNull(t)||(void 0!==t.count&&(this.count=t.count),void 0!==t.delay&&(this.delay=i.setRangeValue(t.delay)),void 0!==t.duration&&(this.duration=i.setRangeValue(t.duration)),void 0!==t.wait&&(this.wait=t.wait))}}class n{mass;radius;constructor(){this.radius=0,this.mass=0}load(t){i.isNull(t)||(void 0!==t.mass&&(this.mass=t.mass),void 0!==t.radius&&(this.radius=t.radius))}}class a extends i.ValueWithRandom{density;limit;constructor(){super(),this.density=5,this.value=50,this.limit=new n}load(t){i.isNull(t)||(super.load(t),void 0!==t.density&&(this.density=t.density),i.isNumber(t.limit)?this.limit.radius=t.limit:this.limit.load(t.limit))}}class r{color;destroy;draggable;life;name;opacity;orbits;position;size;constructor(){this.color=new i.OptionsColor,this.color.value="#000000",this.draggable=!1,this.opacity=1,this.destroy=!0,this.orbits=!1,this.life=new e,this.size=new a}load(t){i.isNull(t)||(void 0!==t.color&&(this.color=i.OptionsColor.create(this.color,t.color)),void 0!==t.draggable&&(this.draggable=t.draggable),void 0!==t.life&&this.life.load(t.life),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=i.setRangeValue(t.position.x)),void 0!==t.position.y&&(this.position.y=i.setRangeValue(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))}}const o="absorbers";class l extends s.ExternalInteractorBase{handleClickMode;maxDistance;_dragging=!1;_draggingAbsorber;_instancesManager;constructor(t,s){super(t),this.maxDistance=0,this._instancesManager=s,this._instancesManager.initContainer(t),this.handleClickMode=(t,e)=>{const n=this.container,a=n.actualOptions.interactivity.modes.absorbers;if(!a||t!==o)return;const{clickPosition:l}=e.mouse;if(l){if(s.getArray(this.container).some(t=>i.getDistance(t.position,l)<t.size))return}const c=i.itemFromArray(a)??new r;this._instancesManager.addAbsorber(n,c,l)}}clear(){}init(){}interact(t,s){for(const e of this.container.particles.filter(s=>this.isEnabled(t,s)))for(const n of this._instancesManager.getArray(this.container)){if(n.options.draggable){const s=t.mouse;if(s.clicking&&s.downPosition){i.getDistance(n.position,s.downPosition)<=n.size&&(this._dragging=!0,this._draggingAbsorber=n)}else this._dragging=!1,this._draggingAbsorber=void 0;this._dragging&&this._draggingAbsorber==n&&s.position&&(n.position.x=s.position.x,n.position.y=s.position.y)}if(n.attract(e,s),e.destroyed)break}}isEnabled(t,s){const e=this.container.actualOptions,n=t.mouse,a=(s?.interactivity??e.interactivity).events;return!(!n.clickPosition||!a.onClick.enable)&&i.isInArray(o,a.onClick.mode)}loadModeOptions(t,...s){t.absorbers??=[];for(const e of s)if(e)if(i.isArray(e.absorbers))for(const s of e.absorbers){const i=new r;i.load(s),t.absorbers.push(i)}else{const s=new r;s.load(e.absorbers),t.absorbers.push(s)}}reset(){}}const c=new WeakMap;function _(t){const s=t.pluginManager;let i=c.get(s);return i||(i=Promise.resolve().then(function(){return p}).then(({AbsorbersInstancesManager:t})=>new t(s)).catch(t=>{throw c.delete(s),t}),c.set(s,i)),i}class h{id="absorbers";_instancesManager;constructor(t){this._instancesManager=t}async getPlugin(t){const{AbsorbersPluginInstance:s}=await Promise.resolve().then(function(){return g});return new s(t,this._instancesManager)}loadOptions(t,s,e){(this.needsPlugin(s)||this.needsPlugin(e))&&e?.absorbers&&(s.absorbers=i.executeOnSingleOrMultiple(e.absorbers,t=>{const s=new r;return s.load(t),s}))}needsPlugin(t){if(!t)return!1;const s=t.absorbers;return i.isArray(s)?!!s.length:!!s}}async function d(t){await async function(t){t.checkVersion("4.0.0-beta.15"),await t.pluginManager.register(async t=>{const s=t.pluginManager,i=await _(t);s.addPlugin(new h(i))})}(t),await async function(t){t.checkVersion("4.0.0-beta.15"),await t.pluginManager.register(async t=>{const i=t.pluginManager,e=await _(t);s.ensureInteractivityPluginLoaded(t),i.addInteractor?.("externalAbsorbers",t=>Promise.resolve(new l(t,e)))})}(t)}const u=globalThis;u.__tsParticlesInternals=u.__tsParticlesInternals??{},u.loadAbsorbersPlugin=d;var p=Object.freeze({__proto__:null,AbsorbersInstancesManager:class{_containerArrays;_pluginManager;constructor(t){this._pluginManager=t,this._containerArrays=new Map}async addAbsorber(t,s,i){const{AbsorberInstance:e}=await Promise.resolve().then(function(){return y}),n=new e(this._pluginManager,t,s,i);return this.getArray(t).push(n),n}clear(t){this.initContainer(t),this._containerArrays.set(t,[])}getArray(t){this.initContainer(t);let s=this._containerArrays.get(t);return s||(s=[],this._containerArrays.set(t,s)),s}initContainer(t){this._containerArrays.has(t)||(this._containerArrays.set(t,[]),t.getAbsorber??=s=>{const e=this.getArray(t);return void 0===s||i.isNumber(s)?e[s??0]:e.find(t=>t.name===s)},t.addAbsorber??=(s,i)=>this.addAbsorber(t,s,i))}removeAbsorber(t,s){const i=this.getArray(t).indexOf(s);i>=0&&this.getArray(t).splice(i,1)}}});var g=Object.freeze({__proto__:null,AbsorbersPluginInstance:class{_container;_instancesManager;constructor(t,s){this._container=t,this._instancesManager=s,this._instancesManager.initContainer(t)}draw(t){for(const s of this._instancesManager.getArray(this._container))s.draw(t)}async init(){const t=this._container.actualOptions.absorbers,s=i.executeOnSingleOrMultiple(t,async t=>{await this._instancesManager.addAbsorber(this._container,t)});i.isArray(s)?await Promise.all(s):await s}particleUpdate(t,s){for(const i of this._instancesManager.getArray(this._container))if(i.attract(t,s),t.destroyed)break}resize(){for(const t of this._instancesManager.getArray(this._container))t.resize()}stop(){this._instancesManager.clear(this._container)}}});const b=i.doublePI,P=i.identity/360;var y=Object.freeze({__proto__:null,AbsorberInstance:class{color;limit;mass;name;opacity;options;position;size;_container;_currentDuration;_currentSpawnDelay;_duration;_firstSpawn;_immortal;_lifeCount;_pluginManager;_spawnDelay;initialPosition;constructor(t,s,e,n){this._container=s,this._pluginManager=t,this._currentDuration=0,this._currentSpawnDelay=0,this.initialPosition=n?i.Vector.create(n.x,n.y):void 0,e instanceof r?this.options=e:(this.options=new r,this.options.load(e)),this.name=this.options.name,this.opacity=this.options.opacity,this.size=i.getRangeValue(this.options.size.value)*s.retina.pixelRatio,this.mass=this.size*this.options.size.density*s.retina.reduceFactor;const a=this.options.size.limit;this.limit={radius:a.radius*s.retina.pixelRatio*s.retina.reduceFactor,mass:a.mass},this.color=i.rangeColorToRgb(this._pluginManager,this.options.color)??{b:0,g:0,r:0},this.position=this.initialPosition?.copy()??this._calcPosition(),this._firstSpawn=!this.options.life.wait,this._lifeCount=this.options.life.count??-1,this._immortal=this._lifeCount<=0,this._spawnDelay=s.retina.reduceFactor?i.getRangeValue(this.options.life.delay??0)*i.millisecondsToSeconds/s.retina.reduceFactor:1/0}attract(t,s){const e=this._container,n=this.options,a=t.getPosition(),{dx:r,dy:o,distance:l}=i.getDistances(this.position,a),c=i.Vector.create(r,o);if(c.length=this.mass/Math.pow(l,2)*e.retina.reduceFactor,l<this.size+t.getRadius()){const i=.033*t.getRadius()*e.retina.pixelRatio*s.factor;this.size>t.getRadius()&&l<this.size-t.getRadius()||void 0!==t.absorberOrbit&&t.absorberOrbit.length<0?n.destroy?t.destroy():(t.needsNewPosition=!0,this._updateParticlePosition(t,s,c)):(n.destroy&&(t.size.value-=i),this._updateParticlePosition(t,s,c)),(this.limit.radius<=0||this.size<this.limit.radius)&&(this.size+=i),(this.limit.mass<=0||this.mass<this.limit.mass)&&(this.mass+=i*this.options.size.density*e.retina.reduceFactor)}else this._updateParticlePosition(t,s,c)}draw(t){t.translate(this.position.x,this.position.y),t.beginPath(),t.arc(i.originPoint.x,i.originPoint.y,this.size,0,b,!1),t.closePath(),t.fillStyle=i.getStyleFromRgb(this.color,this._container.hdr,this.opacity),t.fill()}resize(){const t=this.initialPosition;this.position=t&&i.isPointInside(t,this._container.canvas.size,i.Vector.origin)?t:this._calcPosition()}update(t){this._firstSpawn&&(this._firstSpawn=!1,this._currentSpawnDelay=this._spawnDelay??0),void 0!==this._duration&&(this._currentDuration+=t.value,this._currentDuration>=this._duration&&(this._immortal||this._lifeCount--,(this._lifeCount>0||this._immortal)&&(this.position=this._calcPosition(),this._spawnDelay=this._container.retina.reduceFactor?i.getRangeValue(this.options.life.delay??0)*i.millisecondsToSeconds/this._container.retina.reduceFactor:1/0),this._currentDuration-=this._duration,delete this._duration)),void 0!==this._spawnDelay&&(this._currentSpawnDelay+=t.value,this._currentSpawnDelay>=this._spawnDelay&&(this.play(),this._currentSpawnDelay-=this._spawnDelay,delete this._spawnDelay))}_calcPosition=()=>{const t=i.calcPositionOrRandomFromSizeRanged({size:this._container.canvas.size,position:this.options.position});return i.Vector.create(t.x,t.y)};_prepareToDie=()=>{const t=void 0!==this.options.life.duration?i.getRangeValue(this.options.life.duration):void 0;(this._lifeCount>0||this._immortal)&&void 0!==t&&t>0&&(this._duration=t*i.millisecondsToSeconds)};_updateParticlePosition=(t,s,e)=>{if(t.destroyed)return;const n=this._container,a=n.canvas.size;if(t.needsNewPosition){const s=i.calcPositionOrRandomFromSize({size:a});t.position.setTo(s),t.velocity.setTo(t.initialVelocity),t.absorberOrbit=void 0,t.needsNewPosition=!1}if(this.options.orbits){if(void 0===t.absorberOrbit&&(t.absorberOrbit=i.Vector.origin,t.absorberOrbit.length=i.getDistance(t.getPosition(),this.position),t.absorberOrbit.angle=i.getRandom()*b),t.absorberOrbit.length<=this.size&&!this.options.destroy){const s=Math.min(a.width,a.height),e=1,n=.1,r=.2;t.absorberOrbit.length=s*(e+(i.getRandom()*r-n))}t.absorberOrbitDirection??=t.velocity.x>=0?i.RotateDirection.clockwise:i.RotateDirection.counterClockwise;const r=t.absorberOrbit.length,o=t.absorberOrbit.angle,l=t.absorberOrbitDirection;t.velocity.setTo(i.Vector.origin);const c=i.getRangeMax(t.options.size.value)*n.retina.pixelRatio,_=t.options.move.size?t.getRadius()/c:i.identity,h=s.factor||i.identity,d=t.retina.moveSpeed*_*h*i.half;t.position.x=this.position.x+r*Math.cos(o),t.position.y=this.position.y+r*(l===i.RotateDirection.clockwise?i.identity:-i.identity)*Math.sin(o),t.absorberOrbit.length=Math.max(0,t.absorberOrbit.length-e.length),t.absorberOrbit.angle+=d*P*n.retina.reduceFactor}else t.velocity.addTo(e)};play=()=>{(this._lifeCount>0||this._immortal||!this.options.life.count)&&(this._firstSpawn||this._currentSpawnDelay>=(this._spawnDelay??0))&&(this._lifeCount>0||this._immortal)&&this._prepareToDie()}}});t.loadAbsorbersPlugin=d}),Object.assign(globalThis.window||globalThis,{loadAbsorbersPlugin:(globalThis.__tsParticlesInternals.plugins.absorbers||{}).loadAbsorbersPlugin}),delete(globalThis.window||globalThis).tsparticlesInternalExports;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./index.js";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { AbsorbersInstancesManager } from "./AbsorbersInstancesManager.js";
|
|
2
1
|
import type { Engine } from "@tsparticles/engine";
|
|
2
|
+
import type { AbsorbersInstancesManager } from "./AbsorbersInstancesManager.js";
|
|
3
3
|
export declare function getAbsorbersInstancesManager(e: Engine): Promise<AbsorbersInstancesManager>;
|
package/523.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_plugin_absorbers=this.webpackChunk_tsparticles_plugin_absorbers||[]).push([[523],{523(r,t,e){e.d(t,{AbsorbersInstancesManager:()=>a});var s=e(303);class a{_containerArrays;_pluginManager;constructor(r){this._pluginManager=r,this._containerArrays=new Map}async addAbsorber(r,t,s){let{AbsorberInstance:a}=await e.e(986).then(e.bind(e,986)),i=new a(this._pluginManager,r,t,s);return this.getArray(r).push(i),i}clear(r){this.initContainer(r),this._containerArrays.set(r,[])}getArray(r){this.initContainer(r);let t=this._containerArrays.get(r);return t||(t=[],this._containerArrays.set(r,t)),t}initContainer(r){this._containerArrays.has(r)||(this._containerArrays.set(r,[]),r.getAbsorber??=t=>{let e=this.getArray(r);return void 0===t||(0,s.isNumber)(t)?e[t??0]:e.find(r=>r.name===t)},r.addAbsorber??=(t,e)=>this.addAbsorber(r,t,e))}removeAbsorber(r,t){let e=this.getArray(r).indexOf(t);e>=0&&this.getArray(r).splice(e,1)}}}}]);
|
package/547.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_plugin_absorbers=this.webpackChunk_tsparticles_plugin_absorbers||[]).push([[547],{547(i,s,t){t.r(s),t.d(s,{AbsorbersPlugin:()=>a});var o=t(303),e=t(510);class a{id="absorbers";_instancesManager;constructor(i){this._instancesManager=i}async getPlugin(i){let{AbsorbersPluginInstance:s}=await t.e(564).then(t.bind(t,564));return new s(i,this._instancesManager)}loadOptions(i,s,t){(this.needsPlugin(s)||this.needsPlugin(t))&&t?.absorbers&&(s.absorbers=(0,o.executeOnSingleOrMultiple)(t.absorbers,i=>{let s=new e.h;return s.load(i),s}))}needsPlugin(i){if(!i)return!1;let s=i.absorbers;return(0,o.isArray)(s)?!!s.length:!!s}}},510(i,s,t){t.d(s,{h:()=>l});var o=t(303);class e{count;delay;duration;wait;constructor(){this.wait=!1}load(i){(0,o.isNull)(i)||(void 0!==i.count&&(this.count=i.count),void 0!==i.delay&&(this.delay=(0,o.setRangeValue)(i.delay)),void 0!==i.duration&&(this.duration=(0,o.setRangeValue)(i.duration)),void 0!==i.wait&&(this.wait=i.wait))}}class a{mass;radius;constructor(){this.radius=0,this.mass=0}load(i){(0,o.isNull)(i)||(void 0!==i.mass&&(this.mass=i.mass),void 0!==i.radius&&(this.radius=i.radius))}}class r extends o.ValueWithRandom{density;limit;constructor(){super(),this.density=5,this.value=50,this.limit=new a}load(i){(0,o.isNull)(i)||(super.load(i),void 0!==i.density&&(this.density=i.density),(0,o.isNumber)(i.limit)?this.limit.radius=i.limit:this.limit.load(i.limit))}}class l{color;destroy;draggable;life;name;opacity;orbits;position;size;constructor(){this.color=new o.OptionsColor,this.color.value="#000000",this.draggable=!1,this.opacity=1,this.destroy=!0,this.orbits=!1,this.life=new e,this.size=new r}load(i){(0,o.isNull)(i)||(void 0!==i.color&&(this.color=o.OptionsColor.create(this.color,i.color)),void 0!==i.draggable&&(this.draggable=i.draggable),void 0!==i.life&&this.life.load(i.life),this.name=i.name,void 0!==i.opacity&&(this.opacity=i.opacity),void 0!==i.position&&(this.position={},void 0!==i.position.x&&(this.position.x=(0,o.setRangeValue)(i.position.x)),void 0!==i.position.y&&(this.position.y=(0,o.setRangeValue)(i.position.y))),void 0!==i.size&&this.size.load(i.size),void 0!==i.destroy&&(this.destroy=i.destroy),void 0!==i.orbits&&(this.orbits=i.orbits))}}}}]);
|
package/555.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_plugin_absorbers=this.webpackChunk_tsparticles_plugin_absorbers||[]).push([[555],{555(i,s,t){t.d(s,{AbsorbersInteractor:()=>n});var o=t(702),e=t(303),a=t(510);let r="absorbers";class n extends o.ExternalInteractorBase{handleClickMode;maxDistance;_dragging=!1;_draggingAbsorber;_instancesManager;constructor(i,s){super(i),this.maxDistance=0,this._instancesManager=s,this._instancesManager.initContainer(i),this.handleClickMode=(i,t)=>{let o=this.container,n=o.actualOptions.interactivity.modes.absorbers;if(!n||i!==r)return;let{clickPosition:l}=t.mouse;if(l&&s.getArray(this.container).some(i=>(0,e.getDistance)(i.position,l)<i.size))return;let d=(0,e.itemFromArray)(n)??new a.h;this._instancesManager.addAbsorber(o,d,l)}}clear(){}init(){}interact(i,s){for(let t of this.container.particles.filter(s=>this.isEnabled(i,s)))for(let o of this._instancesManager.getArray(this.container)){if(o.options.draggable){let s=i.mouse;s.clicking&&s.downPosition?(0,e.getDistance)(o.position,s.downPosition)<=o.size&&(this._dragging=!0,this._draggingAbsorber=o):(this._dragging=!1,this._draggingAbsorber=void 0),this._dragging&&this._draggingAbsorber==o&&s.position&&(o.position.x=s.position.x,o.position.y=s.position.y)}if(o.attract(t,s),t.destroyed)break}}isEnabled(i,s){let t=this.container.actualOptions,o=i.mouse,a=(s?.interactivity??t.interactivity).events;return!!o.clickPosition&&!!a.onClick.enable&&(0,e.isInArray)(r,a.onClick.mode)}loadModeOptions(i,...s){for(let t of(i.absorbers??=[],s))if(t)if((0,e.isArray)(t.absorbers))for(let s of t.absorbers){let t=new a.h;t.load(s),i.absorbers.push(t)}else{let s=new a.h;s.load(t.absorbers),i.absorbers.push(s)}}reset(){}}},510(i,s,t){t.d(s,{h:()=>n});var o=t(303);class e{count;delay;duration;wait;constructor(){this.wait=!1}load(i){(0,o.isNull)(i)||(void 0!==i.count&&(this.count=i.count),void 0!==i.delay&&(this.delay=(0,o.setRangeValue)(i.delay)),void 0!==i.duration&&(this.duration=(0,o.setRangeValue)(i.duration)),void 0!==i.wait&&(this.wait=i.wait))}}class a{mass;radius;constructor(){this.radius=0,this.mass=0}load(i){(0,o.isNull)(i)||(void 0!==i.mass&&(this.mass=i.mass),void 0!==i.radius&&(this.radius=i.radius))}}class r extends o.ValueWithRandom{density;limit;constructor(){super(),this.density=5,this.value=50,this.limit=new a}load(i){(0,o.isNull)(i)||(super.load(i),void 0!==i.density&&(this.density=i.density),(0,o.isNumber)(i.limit)?this.limit.radius=i.limit:this.limit.load(i.limit))}}class n{color;destroy;draggable;life;name;opacity;orbits;position;size;constructor(){this.color=new o.OptionsColor,this.color.value="#000000",this.draggable=!1,this.opacity=1,this.destroy=!0,this.orbits=!1,this.life=new e,this.size=new r}load(i){(0,o.isNull)(i)||(void 0!==i.color&&(this.color=o.OptionsColor.create(this.color,i.color)),void 0!==i.draggable&&(this.draggable=i.draggable),void 0!==i.life&&this.life.load(i.life),this.name=i.name,void 0!==i.opacity&&(this.opacity=i.opacity),void 0!==i.position&&(this.position={},void 0!==i.position.x&&(this.position.x=(0,o.setRangeValue)(i.position.x)),void 0!==i.position.y&&(this.position.y=(0,o.setRangeValue)(i.position.y))),void 0!==i.size&&this.size.load(i.size),void 0!==i.destroy&&(this.destroy=i.destroy),void 0!==i.orbits&&(this.orbits=i.orbits))}}}}]);
|
package/564.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_plugin_absorbers=this.webpackChunk_tsparticles_plugin_absorbers||[]).push([[564],{564(a,t,s){s.d(t,{AbsorbersPluginInstance:()=>n});var e=s(303);class n{_container;_instancesManager;constructor(a,t){this._container=a,this._instancesManager=t,this._instancesManager.initContainer(a)}draw(a){for(let t of this._instancesManager.getArray(this._container))t.draw(a)}async init(){let a=this._container.actualOptions.absorbers,t=(0,e.executeOnSingleOrMultiple)(a,async a=>{await this._instancesManager.addAbsorber(this._container,a)});(0,e.isArray)(t)?await Promise.all(t):await t}particleUpdate(a,t){for(let s of this._instancesManager.getArray(this._container))if(s.attract(a,t),a.destroyed)break}resize(){for(let a of this._instancesManager.getArray(this._container))a.resize()}stop(){this._instancesManager.clear(this._container)}}}}]);
|
package/63.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_plugin_absorbers=this.webpackChunk_tsparticles_plugin_absorbers||[]).push([[63],{63(e,t,s){s.r(t),s.d(t,{getAbsorbersInstancesManager:()=>r});let n=new WeakMap;function r(e){let t=e.pluginManager,r=n.get(t);return r||(r=s.e(523).then(s.bind(s,523)).then(({AbsorbersInstancesManager:e})=>new e(t)).catch(e=>{throw n.delete(t),e}),n.set(t,r)),r}}}]);
|
package/986.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_plugin_absorbers=this.webpackChunk_tsparticles_plugin_absorbers||[]).push([[986],{986(i,t,s){s.d(t,{AbsorberInstance:()=>r});var o=s(303),e=s(510);let a=o.doublePI,n=o.identity/360;class r{color;limit;mass;name;opacity;options;position;size;_container;_currentDuration;_currentSpawnDelay;_duration;_firstSpawn;_immortal;_lifeCount;_pluginManager;_spawnDelay;initialPosition;constructor(i,t,s,a){this._container=t,this._pluginManager=i,this._currentDuration=0,this._currentSpawnDelay=0,this.initialPosition=a?o.Vector.create(a.x,a.y):void 0,s instanceof e.h?this.options=s:(this.options=new e.h,this.options.load(s)),this.name=this.options.name,this.opacity=this.options.opacity,this.size=(0,o.getRangeValue)(this.options.size.value)*t.retina.pixelRatio,this.mass=this.size*this.options.size.density*t.retina.reduceFactor;const n=this.options.size.limit;this.limit={radius:n.radius*t.retina.pixelRatio*t.retina.reduceFactor,mass:n.mass},this.color=(0,o.rangeColorToRgb)(this._pluginManager,this.options.color)??{b:0,g:0,r:0},this.position=this.initialPosition?.copy()??this._calcPosition(),this._firstSpawn=!this.options.life.wait,this._lifeCount=this.options.life.count??-1,this._immortal=this._lifeCount<=0,this._spawnDelay=t.retina.reduceFactor?(0,o.getRangeValue)(this.options.life.delay??0)*o.millisecondsToSeconds/t.retina.reduceFactor:1/0}attract(i,t){let s=this._container,e=this.options,a=i.getPosition(),{dx:n,dy:r,distance:l}=(0,o.getDistances)(this.position,a),h=o.Vector.create(n,r);if(h.length=this.mass/Math.pow(l,2)*s.retina.reduceFactor,l<this.size+i.getRadius()){let o=.033*i.getRadius()*s.retina.pixelRatio*t.factor;this.size>i.getRadius()&&l<this.size-i.getRadius()||void 0!==i.absorberOrbit&&i.absorberOrbit.length<0?e.destroy?i.destroy():(i.needsNewPosition=!0,this._updateParticlePosition(i,t,h)):(e.destroy&&(i.size.value-=o),this._updateParticlePosition(i,t,h)),(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*s.retina.reduceFactor)}else this._updateParticlePosition(i,t,h)}draw(i){i.translate(this.position.x,this.position.y),i.beginPath(),i.arc(o.originPoint.x,o.originPoint.y,this.size,0,a,!1),i.closePath(),i.fillStyle=(0,o.getStyleFromRgb)(this.color,this._container.hdr,this.opacity),i.fill()}resize(){let i=this.initialPosition;this.position=i&&(0,o.isPointInside)(i,this._container.canvas.size,o.Vector.origin)?i:this._calcPosition()}update(i){this._firstSpawn&&(this._firstSpawn=!1,this._currentSpawnDelay=this._spawnDelay??0),void 0!==this._duration&&(this._currentDuration+=i.value,this._currentDuration>=this._duration&&(!this._immortal&&this._lifeCount--,(this._lifeCount>0||this._immortal)&&(this.position=this._calcPosition(),this._spawnDelay=this._container.retina.reduceFactor?(0,o.getRangeValue)(this.options.life.delay??0)*o.millisecondsToSeconds/this._container.retina.reduceFactor:1/0),this._currentDuration-=this._duration,delete this._duration)),void 0!==this._spawnDelay&&(this._currentSpawnDelay+=i.value,this._currentSpawnDelay>=this._spawnDelay&&(this.play(),this._currentSpawnDelay-=this._spawnDelay,delete this._spawnDelay))}_calcPosition=()=>{let i=(0,o.calcPositionOrRandomFromSizeRanged)({size:this._container.canvas.size,position:this.options.position});return o.Vector.create(i.x,i.y)};_prepareToDie=()=>{let i=void 0!==this.options.life.duration?(0,o.getRangeValue)(this.options.life.duration):void 0;(this._lifeCount>0||this._immortal)&&void 0!==i&&i>0&&(this._duration=i*o.millisecondsToSeconds)};_updateParticlePosition=(i,t,s)=>{if(i.destroyed)return;let e=this._container,r=e.canvas.size;if(i.needsNewPosition){let t=(0,o.calcPositionOrRandomFromSize)({size:r});i.position.setTo(t),i.velocity.setTo(i.initialVelocity),i.absorberOrbit=void 0,i.needsNewPosition=!1}if(this.options.orbits){if(void 0===i.absorberOrbit&&(i.absorberOrbit=o.Vector.origin,i.absorberOrbit.length=(0,o.getDistance)(i.getPosition(),this.position),i.absorberOrbit.angle=(0,o.getRandom)()*a),i.absorberOrbit.length<=this.size&&!this.options.destroy){let t=Math.min(r.width,r.height);i.absorberOrbit.length=t*(1+(.2*(0,o.getRandom)()-.1))}i.absorberOrbitDirection??=i.velocity.x>=0?o.RotateDirection.clockwise:o.RotateDirection.counterClockwise;let l=i.absorberOrbit.length,h=i.absorberOrbit.angle,c=i.absorberOrbitDirection;i.velocity.setTo(o.Vector.origin);let d=(0,o.getRangeMax)(i.options.size.value)*e.retina.pixelRatio,u=i.options.move.size?i.getRadius()/d:o.identity,p=t.factor||o.identity,_=i.retina.moveSpeed*u*p*o.half;i.position.x=this.position.x+l*Math.cos(h),i.position.y=this.position.y+l*(c===o.RotateDirection.clockwise?o.identity:-o.identity)*Math.sin(h),i.absorberOrbit.length=Math.max(0,i.absorberOrbit.length-s.length),i.absorberOrbit.angle+=_*n*e.retina.reduceFactor}else i.velocity.addTo(s)};play=()=>{(this._lifeCount>0||this._immortal||!this.options.life.count)&&(this._firstSpawn||this._currentSpawnDelay>=(this._spawnDelay??0))&&(this._lifeCount>0||this._immortal)&&this._prepareToDie()}}},510(i,t,s){s.d(t,{h:()=>r});var o=s(303);class e{count;delay;duration;wait;constructor(){this.wait=!1}load(i){(0,o.isNull)(i)||(void 0!==i.count&&(this.count=i.count),void 0!==i.delay&&(this.delay=(0,o.setRangeValue)(i.delay)),void 0!==i.duration&&(this.duration=(0,o.setRangeValue)(i.duration)),void 0!==i.wait&&(this.wait=i.wait))}}class a{mass;radius;constructor(){this.radius=0,this.mass=0}load(i){(0,o.isNull)(i)||(void 0!==i.mass&&(this.mass=i.mass),void 0!==i.radius&&(this.radius=i.radius))}}class n extends o.ValueWithRandom{density;limit;constructor(){super(),this.density=5,this.value=50,this.limit=new a}load(i){(0,o.isNull)(i)||(super.load(i),void 0!==i.density&&(this.density=i.density),(0,o.isNumber)(i.limit)?this.limit.radius=i.limit:this.limit.load(i.limit))}}class r{color;destroy;draggable;life;name;opacity;orbits;position;size;constructor(){this.color=new o.OptionsColor,this.color.value="#000000",this.draggable=!1,this.opacity=1,this.destroy=!0,this.orbits=!1,this.life=new e,this.size=new n}load(i){(0,o.isNull)(i)||(void 0!==i.color&&(this.color=o.OptionsColor.create(this.color,i.color)),void 0!==i.draggable&&(this.draggable=i.draggable),void 0!==i.life&&this.life.load(i.life),this.name=i.name,void 0!==i.opacity&&(this.opacity=i.opacity),void 0!==i.position&&(this.position={},void 0!==i.position.x&&(this.position.x=(0,o.setRangeValue)(i.position.x)),void 0!==i.position.y&&(this.position.y=(0,o.setRangeValue)(i.position.y))),void 0!==i.size&&this.size.load(i.size),void 0!==i.destroy&&(this.destroy=i.destroy),void 0!==i.orbits&&(this.orbits=i.orbits))}}}}]);
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Author : Matteo Bruni
|
|
3
|
-
* MIT license: https://opensource.org/licenses/MIT
|
|
4
|
-
* Demo / Generator : https://particles.js.org/
|
|
5
|
-
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
|
-
* How to use? : Check the GitHub README
|
|
7
|
-
* v4.0.0-beta.11
|
|
8
|
-
*/
|
|
9
|
-
"use strict";
|
|
10
|
-
/*
|
|
11
|
-
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
12
|
-
* This devtool is neither made for production nor for readable output files.
|
|
13
|
-
* It uses "eval()" calls to create a separate source file in the browser devtools.
|
|
14
|
-
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
15
|
-
* or disable the default devtool with "devtool: false".
|
|
16
|
-
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
17
|
-
*/
|
|
18
|
-
(this["webpackChunk_tsparticles_plugin_absorbers"] = this["webpackChunk_tsparticles_plugin_absorbers"] || []).push([["dist_browser_AbsorberInstance_js"],{
|
|
19
|
-
|
|
20
|
-
/***/ "./dist/browser/AbsorberInstance.js"
|
|
21
|
-
/*!******************************************!*\
|
|
22
|
-
!*** ./dist/browser/AbsorberInstance.js ***!
|
|
23
|
-
\******************************************/
|
|
24
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
25
|
-
|
|
26
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberInstance: () => (/* binding */ AbsorberInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Absorber.js */ \"./dist/browser/Options/Classes/Absorber.js\");\n\n\nconst squareExp = 2, absorbFactor = 0.033, minOrbitLength = 0, minRadius = 0, minMass = 0, minAngle = 0, maxAngle = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.doublePI, maxDegreeAngle = 360, angleIncrementFactor = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.identity / maxDegreeAngle, minVelocity = 0, defaultLifeDelay = 0, minLifeCount = 0, defaultSpawnDelay = 0, defaultLifeCount = -1;\nclass AbsorberInstance {\n color;\n limit;\n mass;\n name;\n opacity;\n options;\n position;\n size;\n _container;\n _currentDuration;\n _currentSpawnDelay;\n _duration;\n _firstSpawn;\n _immortal;\n _lifeCount;\n _pluginManager;\n _spawnDelay;\n initialPosition;\n constructor(pluginManager, container, options, position){\n this._container = container;\n this._pluginManager = pluginManager;\n this._currentDuration = 0;\n this._currentSpawnDelay = 0;\n this.initialPosition = position ? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.create(position.x, position.y) : undefined;\n if (options instanceof _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_1__.Absorber) {\n this.options = options;\n } else {\n this.options = new _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_1__.Absorber();\n this.options.load(options);\n }\n this.name = this.options.name;\n this.opacity = this.options.opacity;\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.size.value) * container.retina.pixelRatio;\n this.mass = this.size * this.options.size.density * container.retina.reduceFactor;\n const limit = this.options.size.limit;\n this.limit = {\n radius: limit.radius * container.retina.pixelRatio * container.retina.reduceFactor,\n mass: limit.mass\n };\n this.color = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToRgb)(this._pluginManager, this.options.color) ?? {\n b: 0,\n g: 0,\n r: 0\n };\n this.position = this.initialPosition?.copy() ?? this._calcPosition();\n this._firstSpawn = !this.options.life.wait;\n this._lifeCount = this.options.life.count ?? defaultLifeCount;\n this._immortal = this._lifeCount <= minLifeCount;\n this._spawnDelay = container.retina.reduceFactor ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity;\n }\n attract(particle, delta) {\n const container = this._container, options = this.options, pos = particle.getPosition(), { dx, dy, distance } = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistances)(this.position, pos), v = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.create(dx, dy);\n v.length = this.mass / Math.pow(distance, squareExp) * container.retina.reduceFactor;\n if (distance < this.size + particle.getRadius()) {\n const sizeFactor = particle.getRadius() * absorbFactor * container.retina.pixelRatio * delta.factor;\n if (this.size > particle.getRadius() && distance < this.size - particle.getRadius() || particle.absorberOrbit !== undefined && particle.absorberOrbit.length < minOrbitLength) {\n if (options.destroy) {\n particle.destroy();\n } else {\n particle.needsNewPosition = true;\n this._updateParticlePosition(particle, delta, v);\n }\n } else {\n if (options.destroy) {\n particle.size.value -= sizeFactor;\n }\n this._updateParticlePosition(particle, delta, v);\n }\n if (this.limit.radius <= minRadius || this.size < this.limit.radius) {\n this.size += sizeFactor;\n }\n if (this.limit.mass <= minMass || this.mass < this.limit.mass) {\n this.mass += sizeFactor * this.options.size.density * container.retina.reduceFactor;\n }\n } else {\n this._updateParticlePosition(particle, delta, v);\n }\n }\n draw(context) {\n context.translate(this.position.x, this.position.y);\n context.beginPath();\n context.arc(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, this.size, minAngle, maxAngle, false);\n context.closePath();\n context.fillStyle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromRgb)(this.color, this._container.hdr, this.opacity);\n context.fill();\n }\n resize() {\n const initialPosition = this.initialPosition;\n this.position = initialPosition && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isPointInside)(initialPosition, this._container.canvas.size, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin) ? initialPosition : this._calcPosition();\n }\n update(delta) {\n if (this._firstSpawn) {\n this._firstSpawn = false;\n this._currentSpawnDelay = this._spawnDelay ?? defaultSpawnDelay;\n }\n if (this._duration !== undefined) {\n this._currentDuration += delta.value;\n if (this._currentDuration >= this._duration) {\n if (!this._immortal) {\n this._lifeCount--;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this.position = this._calcPosition();\n this._spawnDelay = this._container.retina.reduceFactor ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / this._container.retina.reduceFactor : Infinity;\n }\n this._currentDuration -= this._duration;\n delete this._duration;\n }\n }\n if (this._spawnDelay !== undefined) {\n this._currentSpawnDelay += delta.value;\n if (this._currentSpawnDelay >= this._spawnDelay) {\n this.play();\n this._currentSpawnDelay -= this._spawnDelay;\n delete this._spawnDelay;\n }\n }\n }\n _calcPosition = ()=>{\n const exactPosition = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.calcPositionOrRandomFromSizeRanged)({\n size: this._container.canvas.size,\n position: this.options.position\n });\n return _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.create(exactPosition.x, exactPosition.y);\n };\n _prepareToDie = ()=>{\n const duration = this.options.life.duration !== undefined ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.duration) : undefined, minDuration = 0;\n if ((this._lifeCount > minLifeCount || this._immortal) && duration !== undefined && duration > minDuration) {\n this._duration = duration * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds;\n }\n };\n _updateParticlePosition = (particle, delta, v)=>{\n if (particle.destroyed) {\n return;\n }\n const container = this._container, canvasSize = container.canvas.size;\n if (particle.needsNewPosition) {\n const newPosition = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.calcPositionOrRandomFromSize)({\n size: canvasSize\n });\n particle.position.setTo(newPosition);\n particle.velocity.setTo(particle.initialVelocity);\n particle.absorberOrbit = undefined;\n particle.needsNewPosition = false;\n }\n if (this.options.orbits) {\n if (particle.absorberOrbit === undefined) {\n particle.absorberOrbit = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin;\n particle.absorberOrbit.length = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistance)(particle.getPosition(), this.position);\n particle.absorberOrbit.angle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * maxAngle;\n }\n if (particle.absorberOrbit.length <= this.size && !this.options.destroy) {\n const minSize = Math.min(canvasSize.width, canvasSize.height), offset = 1, randomOffset = 0.1, randomFactor = 0.2;\n particle.absorberOrbit.length = minSize * (offset + ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * randomFactor - randomOffset));\n }\n particle.absorberOrbitDirection ??= particle.velocity.x >= minVelocity ? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.RotateDirection.clockwise : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.RotateDirection.counterClockwise;\n const orbitRadius = particle.absorberOrbit.length, orbitAngle = particle.absorberOrbit.angle, orbitDirection = particle.absorberOrbitDirection;\n particle.velocity.setTo(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin);\n const maxSize = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeMax)(particle.options.size.value) * container.retina.pixelRatio, sizeFactor = particle.options.move.size ? particle.getRadius() / maxSize : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.identity, deltaFactor = delta.factor || _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.identity, baseSpeed = particle.retina.moveSpeed, moveSpeed = baseSpeed * sizeFactor * deltaFactor * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half;\n particle.position.x = this.position.x + orbitRadius * Math.cos(orbitAngle);\n particle.position.y = this.position.y + orbitRadius * (orbitDirection === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.RotateDirection.clockwise ? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.identity : -_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.identity) * Math.sin(orbitAngle);\n particle.absorberOrbit.length = Math.max(minOrbitLength, particle.absorberOrbit.length - v.length);\n particle.absorberOrbit.angle += moveSpeed * angleIncrementFactor * container.retina.reduceFactor;\n } else {\n particle.velocity.addTo(v);\n }\n };\n play = ()=>{\n if (!((this._lifeCount > minLifeCount || this._immortal || !this.options.life.count) && (this._firstSpawn || this._currentSpawnDelay >= (this._spawnDelay ?? defaultSpawnDelay)))) {\n return;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this._prepareToDie();\n }\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/AbsorberInstance.js?\n}");
|
|
27
|
-
|
|
28
|
-
/***/ },
|
|
29
|
-
|
|
30
|
-
/***/ "./dist/browser/Options/Classes/Absorber.js"
|
|
31
|
-
/*!**************************************************!*\
|
|
32
|
-
!*** ./dist/browser/Options/Classes/Absorber.js ***!
|
|
33
|
-
\**************************************************/
|
|
34
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
35
|
-
|
|
36
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Absorber: () => (/* binding */ Absorber)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _AbsorberLife_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AbsorberLife.js */ \"./dist/browser/Options/Classes/AbsorberLife.js\");\n/* harmony import */ var _AbsorberSize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AbsorberSize.js */ \"./dist/browser/Options/Classes/AbsorberSize.js\");\n\n\n\nclass Absorber {\n color;\n destroy;\n draggable;\n life;\n name;\n opacity;\n orbits;\n position;\n size;\n constructor(){\n this.color = new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor();\n this.color.value = \"#000000\";\n this.draggable = false;\n this.opacity = 1;\n this.destroy = true;\n this.orbits = false;\n this.life = new _AbsorberLife_js__WEBPACK_IMPORTED_MODULE_1__.AbsorberLife();\n this.size = new _AbsorberSize_js__WEBPACK_IMPORTED_MODULE_2__.AbsorberSize();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n }\n if (data.draggable !== undefined) {\n this.draggable = data.draggable;\n }\n if (data.life !== undefined) {\n this.life.load(data.life);\n }\n this.name = data.name;\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.size !== undefined) {\n this.size.load(data.size);\n }\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n if (data.orbits !== undefined) {\n this.orbits = data.orbits;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/Options/Classes/Absorber.js?\n}");
|
|
37
|
-
|
|
38
|
-
/***/ },
|
|
39
|
-
|
|
40
|
-
/***/ "./dist/browser/Options/Classes/AbsorberLife.js"
|
|
41
|
-
/*!******************************************************!*\
|
|
42
|
-
!*** ./dist/browser/Options/Classes/AbsorberLife.js ***!
|
|
43
|
-
\******************************************************/
|
|
44
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
45
|
-
|
|
46
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberLife: () => (/* binding */ AbsorberLife)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n\nclass AbsorberLife {\n count;\n delay;\n duration;\n wait;\n constructor(){\n this.wait = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n if (data.delay !== undefined) {\n this.delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.delay);\n }\n if (data.duration !== undefined) {\n this.duration = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.duration);\n }\n if (data.wait !== undefined) {\n this.wait = data.wait;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/Options/Classes/AbsorberLife.js?\n}");
|
|
47
|
-
|
|
48
|
-
/***/ },
|
|
49
|
-
|
|
50
|
-
/***/ "./dist/browser/Options/Classes/AbsorberSize.js"
|
|
51
|
-
/*!******************************************************!*\
|
|
52
|
-
!*** ./dist/browser/Options/Classes/AbsorberSize.js ***!
|
|
53
|
-
\******************************************************/
|
|
54
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
55
|
-
|
|
56
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberSize: () => (/* binding */ AbsorberSize)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _AbsorberSizeLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AbsorberSizeLimit.js */ \"./dist/browser/Options/Classes/AbsorberSizeLimit.js\");\n\n\nclass AbsorberSize extends _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n density;\n limit;\n constructor(){\n super();\n this.density = 5;\n this.value = 50;\n this.limit = new _AbsorberSizeLimit_js__WEBPACK_IMPORTED_MODULE_1__.AbsorberSizeLimit();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n super.load(data);\n if (data.density !== undefined) {\n this.density = data.density;\n }\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(data.limit)) {\n this.limit.radius = data.limit;\n } else {\n this.limit.load(data.limit);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/Options/Classes/AbsorberSize.js?\n}");
|
|
57
|
-
|
|
58
|
-
/***/ },
|
|
59
|
-
|
|
60
|
-
/***/ "./dist/browser/Options/Classes/AbsorberSizeLimit.js"
|
|
61
|
-
/*!***********************************************************!*\
|
|
62
|
-
!*** ./dist/browser/Options/Classes/AbsorberSizeLimit.js ***!
|
|
63
|
-
\***********************************************************/
|
|
64
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
65
|
-
|
|
66
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberSizeLimit: () => (/* binding */ AbsorberSizeLimit)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n\nclass AbsorberSizeLimit {\n mass;\n radius;\n constructor(){\n this.radius = 0;\n this.mass = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.mass !== undefined) {\n this.mass = data.mass;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/Options/Classes/AbsorberSizeLimit.js?\n}");
|
|
67
|
-
|
|
68
|
-
/***/ }
|
|
69
|
-
|
|
70
|
-
}]);
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Author : Matteo Bruni
|
|
3
|
-
* MIT license: https://opensource.org/licenses/MIT
|
|
4
|
-
* Demo / Generator : https://particles.js.org/
|
|
5
|
-
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
|
-
* How to use? : Check the GitHub README
|
|
7
|
-
* v4.0.0-beta.11
|
|
8
|
-
*/
|
|
9
|
-
"use strict";
|
|
10
|
-
/*
|
|
11
|
-
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
12
|
-
* This devtool is neither made for production nor for readable output files.
|
|
13
|
-
* It uses "eval()" calls to create a separate source file in the browser devtools.
|
|
14
|
-
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
15
|
-
* or disable the default devtool with "devtool: false".
|
|
16
|
-
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
17
|
-
*/
|
|
18
|
-
(this["webpackChunk_tsparticles_plugin_absorbers"] = this["webpackChunk_tsparticles_plugin_absorbers"] || []).push([["dist_browser_AbsorbersInstancesManager_js"],{
|
|
19
|
-
|
|
20
|
-
/***/ "./dist/browser/AbsorbersInstancesManager.js"
|
|
21
|
-
/*!***************************************************!*\
|
|
22
|
-
!*** ./dist/browser/AbsorbersInstancesManager.js ***!
|
|
23
|
-
\***************************************************/
|
|
24
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
25
|
-
|
|
26
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorbersInstancesManager: () => (/* binding */ AbsorbersInstancesManager)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n\nconst defaultIndex = 0;\nclass AbsorbersInstancesManager {\n _containerArrays;\n _pluginManager;\n constructor(pluginManager){\n this._pluginManager = pluginManager;\n this._containerArrays = new Map();\n }\n async addAbsorber(container, options, position) {\n const { AbsorberInstance } = await __webpack_require__.e(/*! import() */ \"dist_browser_AbsorberInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorberInstance.js */ \"./dist/browser/AbsorberInstance.js\")), absorber = new AbsorberInstance(this._pluginManager, container, options, position), array = this.getArray(container);\n array.push(absorber);\n return absorber;\n }\n clear(container) {\n this.initContainer(container);\n this._containerArrays.set(container, []);\n }\n getArray(container) {\n this.initContainer(container);\n let array = this._containerArrays.get(container);\n if (!array) {\n array = [];\n this._containerArrays.set(container, array);\n }\n return array;\n }\n initContainer(container) {\n if (this._containerArrays.has(container)) {\n return;\n }\n this._containerArrays.set(container, []);\n container.getAbsorber ??= (idxOrName)=>{\n const array = this.getArray(container);\n return idxOrName === undefined || (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(idxOrName) ? array[idxOrName ?? defaultIndex] : array.find((t)=>t.name === idxOrName);\n };\n container.addAbsorber ??= (options, position)=>{\n return this.addAbsorber(container, options, position);\n };\n }\n removeAbsorber(container, absorber) {\n const index = this.getArray(container).indexOf(absorber), deleteCount = 1;\n if (index >= defaultIndex) {\n this.getArray(container).splice(index, deleteCount);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/AbsorbersInstancesManager.js?\n}");
|
|
27
|
-
|
|
28
|
-
/***/ }
|
|
29
|
-
|
|
30
|
-
}]);
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Author : Matteo Bruni
|
|
3
|
-
* MIT license: https://opensource.org/licenses/MIT
|
|
4
|
-
* Demo / Generator : https://particles.js.org/
|
|
5
|
-
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
|
-
* How to use? : Check the GitHub README
|
|
7
|
-
* v4.0.0-beta.11
|
|
8
|
-
*/
|
|
9
|
-
"use strict";
|
|
10
|
-
/*
|
|
11
|
-
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
12
|
-
* This devtool is neither made for production nor for readable output files.
|
|
13
|
-
* It uses "eval()" calls to create a separate source file in the browser devtools.
|
|
14
|
-
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
15
|
-
* or disable the default devtool with "devtool: false".
|
|
16
|
-
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
17
|
-
*/
|
|
18
|
-
(this["webpackChunk_tsparticles_plugin_absorbers"] = this["webpackChunk_tsparticles_plugin_absorbers"] || []).push([["dist_browser_AbsorbersInteractor_js"],{
|
|
19
|
-
|
|
20
|
-
/***/ "./dist/browser/AbsorbersInteractor.js"
|
|
21
|
-
/*!*********************************************!*\
|
|
22
|
-
!*** ./dist/browser/AbsorbersInteractor.js ***!
|
|
23
|
-
\*********************************************/
|
|
24
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
25
|
-
|
|
26
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorbersInteractor: () => (/* binding */ AbsorbersInteractor)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_plugin_interactivity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/plugin-interactivity */ \"@tsparticles/plugin-interactivity\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Options/Classes/Absorber.js */ \"./dist/browser/Options/Classes/Absorber.js\");\n\n\n\nconst absorbersMode = \"absorbers\";\nclass AbsorbersInteractor extends _tsparticles_plugin_interactivity__WEBPACK_IMPORTED_MODULE_0__.ExternalInteractorBase {\n handleClickMode;\n maxDistance;\n _dragging = false;\n _draggingAbsorber;\n _instancesManager;\n constructor(container, instancesManager){\n super(container);\n this.maxDistance = 0;\n this._instancesManager = instancesManager;\n this._instancesManager.initContainer(container);\n this.handleClickMode = (mode, interactivityData)=>{\n const container = this.container, options = container.actualOptions, absorbers = options.interactivity.modes.absorbers;\n if (!absorbers || mode !== absorbersMode) {\n return;\n }\n const { clickPosition } = interactivityData.mouse;\n if (clickPosition) {\n const existingAbsorber = instancesManager.getArray(this.container).some((t)=>(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getDistance)(t.position, clickPosition) < t.size);\n if (existingAbsorber) {\n return;\n }\n }\n const absorbersModeOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.itemFromArray)(absorbers) ?? new _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_2__.Absorber();\n void this._instancesManager.addAbsorber(container, absorbersModeOptions, clickPosition);\n };\n }\n clear() {}\n init() {}\n interact(interactivityData, delta) {\n for (const particle of this.container.particles.filter((p)=>this.isEnabled(interactivityData, p))){\n for (const absorber of this._instancesManager.getArray(this.container)){\n if (absorber.options.draggable) {\n const mouse = interactivityData.mouse;\n if (mouse.clicking && mouse.downPosition) {\n const mouseDist = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getDistance)(absorber.position, mouse.downPosition);\n if (mouseDist <= absorber.size) {\n this._dragging = true;\n this._draggingAbsorber = absorber;\n }\n } else {\n this._dragging = false;\n this._draggingAbsorber = undefined;\n }\n if (this._dragging && this._draggingAbsorber == absorber && mouse.position) {\n absorber.position.x = mouse.position.x;\n absorber.position.y = mouse.position.y;\n }\n }\n absorber.attract(particle, delta);\n if (particle.destroyed) {\n break;\n }\n }\n }\n }\n isEnabled(interactivityData, particle) {\n const container = this.container, options = container.actualOptions, mouse = interactivityData.mouse, events = (particle?.interactivity ?? options.interactivity).events;\n if (!mouse.clickPosition || !events.onClick.enable) {\n return false;\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isInArray)(absorbersMode, events.onClick.mode);\n }\n loadModeOptions(options, ...sources) {\n options.absorbers ??= [];\n for (const source of sources){\n if (!source) {\n continue;\n }\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isArray)(source.absorbers)) {\n for (const absorber of source.absorbers){\n const tmp = new _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_2__.Absorber();\n tmp.load(absorber);\n options.absorbers.push(tmp);\n }\n } else {\n const tmp = new _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_2__.Absorber();\n tmp.load(source.absorbers);\n options.absorbers.push(tmp);\n }\n }\n }\n reset() {}\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/AbsorbersInteractor.js?\n}");
|
|
27
|
-
|
|
28
|
-
/***/ },
|
|
29
|
-
|
|
30
|
-
/***/ "./dist/browser/Options/Classes/Absorber.js"
|
|
31
|
-
/*!**************************************************!*\
|
|
32
|
-
!*** ./dist/browser/Options/Classes/Absorber.js ***!
|
|
33
|
-
\**************************************************/
|
|
34
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
35
|
-
|
|
36
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Absorber: () => (/* binding */ Absorber)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _AbsorberLife_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AbsorberLife.js */ \"./dist/browser/Options/Classes/AbsorberLife.js\");\n/* harmony import */ var _AbsorberSize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AbsorberSize.js */ \"./dist/browser/Options/Classes/AbsorberSize.js\");\n\n\n\nclass Absorber {\n color;\n destroy;\n draggable;\n life;\n name;\n opacity;\n orbits;\n position;\n size;\n constructor(){\n this.color = new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor();\n this.color.value = \"#000000\";\n this.draggable = false;\n this.opacity = 1;\n this.destroy = true;\n this.orbits = false;\n this.life = new _AbsorberLife_js__WEBPACK_IMPORTED_MODULE_1__.AbsorberLife();\n this.size = new _AbsorberSize_js__WEBPACK_IMPORTED_MODULE_2__.AbsorberSize();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n }\n if (data.draggable !== undefined) {\n this.draggable = data.draggable;\n }\n if (data.life !== undefined) {\n this.life.load(data.life);\n }\n this.name = data.name;\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.size !== undefined) {\n this.size.load(data.size);\n }\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n if (data.orbits !== undefined) {\n this.orbits = data.orbits;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/Options/Classes/Absorber.js?\n}");
|
|
37
|
-
|
|
38
|
-
/***/ },
|
|
39
|
-
|
|
40
|
-
/***/ "./dist/browser/Options/Classes/AbsorberLife.js"
|
|
41
|
-
/*!******************************************************!*\
|
|
42
|
-
!*** ./dist/browser/Options/Classes/AbsorberLife.js ***!
|
|
43
|
-
\******************************************************/
|
|
44
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
45
|
-
|
|
46
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberLife: () => (/* binding */ AbsorberLife)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n\nclass AbsorberLife {\n count;\n delay;\n duration;\n wait;\n constructor(){\n this.wait = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n if (data.delay !== undefined) {\n this.delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.delay);\n }\n if (data.duration !== undefined) {\n this.duration = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.duration);\n }\n if (data.wait !== undefined) {\n this.wait = data.wait;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/Options/Classes/AbsorberLife.js?\n}");
|
|
47
|
-
|
|
48
|
-
/***/ },
|
|
49
|
-
|
|
50
|
-
/***/ "./dist/browser/Options/Classes/AbsorberSize.js"
|
|
51
|
-
/*!******************************************************!*\
|
|
52
|
-
!*** ./dist/browser/Options/Classes/AbsorberSize.js ***!
|
|
53
|
-
\******************************************************/
|
|
54
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
55
|
-
|
|
56
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberSize: () => (/* binding */ AbsorberSize)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _AbsorberSizeLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AbsorberSizeLimit.js */ \"./dist/browser/Options/Classes/AbsorberSizeLimit.js\");\n\n\nclass AbsorberSize extends _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n density;\n limit;\n constructor(){\n super();\n this.density = 5;\n this.value = 50;\n this.limit = new _AbsorberSizeLimit_js__WEBPACK_IMPORTED_MODULE_1__.AbsorberSizeLimit();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n super.load(data);\n if (data.density !== undefined) {\n this.density = data.density;\n }\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(data.limit)) {\n this.limit.radius = data.limit;\n } else {\n this.limit.load(data.limit);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/Options/Classes/AbsorberSize.js?\n}");
|
|
57
|
-
|
|
58
|
-
/***/ },
|
|
59
|
-
|
|
60
|
-
/***/ "./dist/browser/Options/Classes/AbsorberSizeLimit.js"
|
|
61
|
-
/*!***********************************************************!*\
|
|
62
|
-
!*** ./dist/browser/Options/Classes/AbsorberSizeLimit.js ***!
|
|
63
|
-
\***********************************************************/
|
|
64
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
65
|
-
|
|
66
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberSizeLimit: () => (/* binding */ AbsorberSizeLimit)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n\nclass AbsorberSizeLimit {\n mass;\n radius;\n constructor(){\n this.radius = 0;\n this.mass = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.mass !== undefined) {\n this.mass = data.mass;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/Options/Classes/AbsorberSizeLimit.js?\n}");
|
|
67
|
-
|
|
68
|
-
/***/ }
|
|
69
|
-
|
|
70
|
-
}]);
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Author : Matteo Bruni
|
|
3
|
-
* MIT license: https://opensource.org/licenses/MIT
|
|
4
|
-
* Demo / Generator : https://particles.js.org/
|
|
5
|
-
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
|
-
* How to use? : Check the GitHub README
|
|
7
|
-
* v4.0.0-beta.11
|
|
8
|
-
*/
|
|
9
|
-
"use strict";
|
|
10
|
-
/*
|
|
11
|
-
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
12
|
-
* This devtool is neither made for production nor for readable output files.
|
|
13
|
-
* It uses "eval()" calls to create a separate source file in the browser devtools.
|
|
14
|
-
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
15
|
-
* or disable the default devtool with "devtool: false".
|
|
16
|
-
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
17
|
-
*/
|
|
18
|
-
(this["webpackChunk_tsparticles_plugin_absorbers"] = this["webpackChunk_tsparticles_plugin_absorbers"] || []).push([["dist_browser_AbsorbersPluginInstance_js"],{
|
|
19
|
-
|
|
20
|
-
/***/ "./dist/browser/AbsorbersPluginInstance.js"
|
|
21
|
-
/*!*************************************************!*\
|
|
22
|
-
!*** ./dist/browser/AbsorbersPluginInstance.js ***!
|
|
23
|
-
\*************************************************/
|
|
24
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
25
|
-
|
|
26
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorbersPluginInstance: () => (/* binding */ AbsorbersPluginInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n\nclass AbsorbersPluginInstance {\n _container;\n _instancesManager;\n constructor(container, instancesManager){\n this._container = container;\n this._instancesManager = instancesManager;\n this._instancesManager.initContainer(container);\n }\n draw(context) {\n for (const absorber of this._instancesManager.getArray(this._container)){\n absorber.draw(context);\n }\n }\n async init() {\n const absorbers = this._container.actualOptions.absorbers, promises = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(absorbers, async (absorber)=>{\n await this._instancesManager.addAbsorber(this._container, absorber);\n });\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(promises)) {\n await Promise.all(promises);\n } else {\n await promises;\n }\n }\n particleUpdate(particle, delta) {\n for (const absorber of this._instancesManager.getArray(this._container)){\n absorber.attract(particle, delta);\n if (particle.destroyed) {\n break;\n }\n }\n }\n resize() {\n for (const absorber of this._instancesManager.getArray(this._container)){\n absorber.resize();\n }\n }\n stop() {\n this._instancesManager.clear(this._container);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/AbsorbersPluginInstance.js?\n}");
|
|
27
|
-
|
|
28
|
-
/***/ }
|
|
29
|
-
|
|
30
|
-
}]);
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Author : Matteo Bruni
|
|
3
|
-
* MIT license: https://opensource.org/licenses/MIT
|
|
4
|
-
* Demo / Generator : https://particles.js.org/
|
|
5
|
-
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
|
-
* How to use? : Check the GitHub README
|
|
7
|
-
* v4.0.0-beta.11
|
|
8
|
-
*/
|
|
9
|
-
"use strict";
|
|
10
|
-
/*
|
|
11
|
-
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
12
|
-
* This devtool is neither made for production nor for readable output files.
|
|
13
|
-
* It uses "eval()" calls to create a separate source file in the browser devtools.
|
|
14
|
-
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
15
|
-
* or disable the default devtool with "devtool: false".
|
|
16
|
-
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
17
|
-
*/
|
|
18
|
-
(this["webpackChunk_tsparticles_plugin_absorbers"] = this["webpackChunk_tsparticles_plugin_absorbers"] || []).push([["dist_browser_AbsorbersPlugin_js"],{
|
|
19
|
-
|
|
20
|
-
/***/ "./dist/browser/AbsorbersPlugin.js"
|
|
21
|
-
/*!*****************************************!*\
|
|
22
|
-
!*** ./dist/browser/AbsorbersPlugin.js ***!
|
|
23
|
-
\*****************************************/
|
|
24
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
25
|
-
|
|
26
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorbersPlugin: () => (/* binding */ AbsorbersPlugin)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Absorber.js */ \"./dist/browser/Options/Classes/Absorber.js\");\n\n\nclass AbsorbersPlugin {\n id = \"absorbers\";\n _instancesManager;\n constructor(instancesManager){\n this._instancesManager = instancesManager;\n }\n async getPlugin(container) {\n const { AbsorbersPluginInstance } = await __webpack_require__.e(/*! import() */ \"dist_browser_AbsorbersPluginInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersPluginInstance.js */ \"./dist/browser/AbsorbersPluginInstance.js\"));\n return new AbsorbersPluginInstance(container, this._instancesManager);\n }\n loadOptions(_container, options, source) {\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n if (source?.absorbers) {\n options.absorbers = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(source.absorbers, (absorber)=>{\n const tmp = new _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_1__.Absorber();\n tmp.load(absorber);\n return tmp;\n });\n }\n }\n needsPlugin(options) {\n if (!options) {\n return false;\n }\n const absorbers = options.absorbers;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(absorbers)) {\n return !!absorbers.length;\n } else if (absorbers) {\n return true;\n }\n return false;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/AbsorbersPlugin.js?\n}");
|
|
27
|
-
|
|
28
|
-
/***/ },
|
|
29
|
-
|
|
30
|
-
/***/ "./dist/browser/Options/Classes/Absorber.js"
|
|
31
|
-
/*!**************************************************!*\
|
|
32
|
-
!*** ./dist/browser/Options/Classes/Absorber.js ***!
|
|
33
|
-
\**************************************************/
|
|
34
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
35
|
-
|
|
36
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Absorber: () => (/* binding */ Absorber)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _AbsorberLife_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AbsorberLife.js */ \"./dist/browser/Options/Classes/AbsorberLife.js\");\n/* harmony import */ var _AbsorberSize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AbsorberSize.js */ \"./dist/browser/Options/Classes/AbsorberSize.js\");\n\n\n\nclass Absorber {\n color;\n destroy;\n draggable;\n life;\n name;\n opacity;\n orbits;\n position;\n size;\n constructor(){\n this.color = new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor();\n this.color.value = \"#000000\";\n this.draggable = false;\n this.opacity = 1;\n this.destroy = true;\n this.orbits = false;\n this.life = new _AbsorberLife_js__WEBPACK_IMPORTED_MODULE_1__.AbsorberLife();\n this.size = new _AbsorberSize_js__WEBPACK_IMPORTED_MODULE_2__.AbsorberSize();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n }\n if (data.draggable !== undefined) {\n this.draggable = data.draggable;\n }\n if (data.life !== undefined) {\n this.life.load(data.life);\n }\n this.name = data.name;\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.size !== undefined) {\n this.size.load(data.size);\n }\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n if (data.orbits !== undefined) {\n this.orbits = data.orbits;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/Options/Classes/Absorber.js?\n}");
|
|
37
|
-
|
|
38
|
-
/***/ },
|
|
39
|
-
|
|
40
|
-
/***/ "./dist/browser/Options/Classes/AbsorberLife.js"
|
|
41
|
-
/*!******************************************************!*\
|
|
42
|
-
!*** ./dist/browser/Options/Classes/AbsorberLife.js ***!
|
|
43
|
-
\******************************************************/
|
|
44
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
45
|
-
|
|
46
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberLife: () => (/* binding */ AbsorberLife)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n\nclass AbsorberLife {\n count;\n delay;\n duration;\n wait;\n constructor(){\n this.wait = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n if (data.delay !== undefined) {\n this.delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.delay);\n }\n if (data.duration !== undefined) {\n this.duration = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.duration);\n }\n if (data.wait !== undefined) {\n this.wait = data.wait;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/Options/Classes/AbsorberLife.js?\n}");
|
|
47
|
-
|
|
48
|
-
/***/ },
|
|
49
|
-
|
|
50
|
-
/***/ "./dist/browser/Options/Classes/AbsorberSize.js"
|
|
51
|
-
/*!******************************************************!*\
|
|
52
|
-
!*** ./dist/browser/Options/Classes/AbsorberSize.js ***!
|
|
53
|
-
\******************************************************/
|
|
54
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
55
|
-
|
|
56
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberSize: () => (/* binding */ AbsorberSize)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _AbsorberSizeLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AbsorberSizeLimit.js */ \"./dist/browser/Options/Classes/AbsorberSizeLimit.js\");\n\n\nclass AbsorberSize extends _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n density;\n limit;\n constructor(){\n super();\n this.density = 5;\n this.value = 50;\n this.limit = new _AbsorberSizeLimit_js__WEBPACK_IMPORTED_MODULE_1__.AbsorberSizeLimit();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n super.load(data);\n if (data.density !== undefined) {\n this.density = data.density;\n }\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(data.limit)) {\n this.limit.radius = data.limit;\n } else {\n this.limit.load(data.limit);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/Options/Classes/AbsorberSize.js?\n}");
|
|
57
|
-
|
|
58
|
-
/***/ },
|
|
59
|
-
|
|
60
|
-
/***/ "./dist/browser/Options/Classes/AbsorberSizeLimit.js"
|
|
61
|
-
/*!***********************************************************!*\
|
|
62
|
-
!*** ./dist/browser/Options/Classes/AbsorberSizeLimit.js ***!
|
|
63
|
-
\***********************************************************/
|
|
64
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
65
|
-
|
|
66
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberSizeLimit: () => (/* binding */ AbsorberSizeLimit)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n\nclass AbsorberSizeLimit {\n mass;\n radius;\n constructor(){\n this.radius = 0;\n this.mass = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.mass !== undefined) {\n this.mass = data.mass;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/Options/Classes/AbsorberSizeLimit.js?\n}");
|
|
67
|
-
|
|
68
|
-
/***/ }
|
|
69
|
-
|
|
70
|
-
}]);
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Author : Matteo Bruni
|
|
3
|
-
* MIT license: https://opensource.org/licenses/MIT
|
|
4
|
-
* Demo / Generator : https://particles.js.org/
|
|
5
|
-
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
|
-
* How to use? : Check the GitHub README
|
|
7
|
-
* v4.0.0-beta.11
|
|
8
|
-
*/
|
|
9
|
-
"use strict";
|
|
10
|
-
/*
|
|
11
|
-
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
12
|
-
* This devtool is neither made for production nor for readable output files.
|
|
13
|
-
* It uses "eval()" calls to create a separate source file in the browser devtools.
|
|
14
|
-
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
15
|
-
* or disable the default devtool with "devtool: false".
|
|
16
|
-
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
17
|
-
*/
|
|
18
|
-
(this["webpackChunk_tsparticles_plugin_absorbers"] = this["webpackChunk_tsparticles_plugin_absorbers"] || []).push([["dist_browser_getAbsorbersInstancesManager_js"],{
|
|
19
|
-
|
|
20
|
-
/***/ "./dist/browser/getAbsorbersInstancesManager.js"
|
|
21
|
-
/*!******************************************************!*\
|
|
22
|
-
!*** ./dist/browser/getAbsorbersInstancesManager.js ***!
|
|
23
|
-
\******************************************************/
|
|
24
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
25
|
-
|
|
26
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getAbsorbersInstancesManager: () => (/* binding */ getAbsorbersInstancesManager)\n/* harmony export */ });\nconst instancesManagers = new WeakMap();\nfunction getAbsorbersInstancesManager(e) {\n const pluginManager = e.pluginManager;\n let manager = instancesManagers.get(pluginManager);\n if (!manager) {\n manager = __webpack_require__.e(/*! import() */ \"dist_browser_AbsorbersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersInstancesManager.js */ \"./dist/browser/AbsorbersInstancesManager.js\")).then(({ AbsorbersInstancesManager })=>new AbsorbersInstancesManager(pluginManager)).catch((error)=>{\n instancesManagers.delete(pluginManager);\n throw error;\n });\n instancesManagers.set(pluginManager, manager);\n }\n return manager;\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/getAbsorbersInstancesManager.js?\n}");
|
|
27
|
-
|
|
28
|
-
/***/ }
|
|
29
|
-
|
|
30
|
-
}]);
|