@tsparticles/plugin-absorbers 4.0.0-beta.0 → 4.0.0-beta.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/122.min.js +1 -0
- package/{497.min.js → 285.min.js} +1 -1
- package/677.min.js +1 -0
- package/698.min.js +1 -0
- package/920.min.js +1 -0
- package/998.min.js +1 -0
- package/README.md +2 -2
- package/browser/AbsorberInstance.js +18 -24
- package/browser/AbsorbersInstancesManager.js +4 -4
- package/browser/getAbsorbersInstancesManager.js +11 -0
- package/browser/index.js +5 -14
- package/browser/interaction.js +15 -0
- package/browser/plugin.js +11 -0
- package/cjs/AbsorberInstance.js +18 -24
- package/cjs/AbsorbersInstancesManager.js +4 -4
- package/cjs/getAbsorbersInstancesManager.js +11 -0
- package/cjs/index.js +5 -14
- package/cjs/interaction.js +15 -0
- package/cjs/plugin.js +11 -0
- package/dist_browser_AbsorberInstance_js.js +2 -2
- package/dist_browser_AbsorbersInstancesManager_js.js +2 -2
- package/dist_browser_AbsorbersInteractor_js.js +1 -1
- package/dist_browser_AbsorbersPluginInstance_js.js +1 -1
- package/dist_browser_AbsorbersPlugin_js.js +1 -1
- package/dist_browser_getAbsorbersInstancesManager_js.js +30 -0
- package/esm/AbsorberInstance.js +18 -24
- package/esm/AbsorbersInstancesManager.js +4 -4
- package/esm/getAbsorbersInstancesManager.js +11 -0
- package/esm/index.js +5 -14
- package/esm/interaction.js +15 -0
- package/esm/plugin.js +11 -0
- package/package.json +24 -6
- package/report.html +84 -29
- package/tsparticles.plugin.absorbers.js +26 -6
- package/tsparticles.plugin.absorbers.min.js +2 -2
- package/types/AbsorberInstance.d.ts +4 -4
- package/types/AbsorbersInstancesManager.d.ts +3 -3
- package/types/AbsorbersPluginInstance.d.ts +2 -2
- package/types/getAbsorbersInstancesManager.d.ts +3 -0
- package/types/interaction.d.ts +3 -0
- package/types/plugin.d.ts +3 -0
- package/162.min.js +0 -1
- package/166.min.js +0 -1
- package/49.min.js +0 -1
- package/598.min.js +0 -1
- package/umd/AbsorberContainer.js +0 -12
- package/umd/AbsorberInstance.js +0 -217
- package/umd/AbsorbersInstancesManager.js +0 -97
- package/umd/AbsorbersInteractor.js +0 -109
- package/umd/AbsorbersPlugin.js +0 -86
- package/umd/AbsorbersPluginInstance.js +0 -56
- package/umd/Options/Classes/Absorber.js +0 -74
- package/umd/Options/Classes/AbsorberLife.js +0 -41
- package/umd/Options/Classes/AbsorberSize.js +0 -41
- package/umd/Options/Classes/AbsorberSizeLimit.js +0 -34
- package/umd/Options/Interfaces/IAbsorber.js +0 -12
- package/umd/Options/Interfaces/IAbsorberLife.js +0 -12
- package/umd/Options/Interfaces/IAbsorberSize.js +0 -12
- package/umd/Options/Interfaces/IAbsorberSizeLimit.js +0 -12
- package/umd/index.js +0 -63
- package/umd/types.js +0 -12
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v4.0.0-beta.
|
|
7
|
+
* v4.0.0-beta.2
|
|
8
8
|
*/
|
|
9
9
|
/*
|
|
10
10
|
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
@@ -16,14 +16,14 @@
|
|
|
16
16
|
*/
|
|
17
17
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
18
18
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
19
|
-
module.exports = factory(require("@tsparticles/
|
|
19
|
+
module.exports = factory(require("@tsparticles/engine"), require("@tsparticles/plugin-interactivity"));
|
|
20
20
|
else if(typeof define === 'function' && define.amd)
|
|
21
|
-
define(["@tsparticles/
|
|
21
|
+
define(["@tsparticles/engine", "@tsparticles/plugin-interactivity"], factory);
|
|
22
22
|
else {
|
|
23
|
-
var a = typeof exports === 'object' ? factory(require("@tsparticles/
|
|
23
|
+
var a = typeof exports === 'object' ? factory(require("@tsparticles/engine"), require("@tsparticles/plugin-interactivity")) : factory(root["window"], root["window"]);
|
|
24
24
|
for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
|
|
25
25
|
}
|
|
26
|
-
})(this, (
|
|
26
|
+
})(this, (__WEBPACK_EXTERNAL_MODULE__tsparticles_engine__, __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_interactivity__) => {
|
|
27
27
|
return /******/ (() => { // webpackBootstrap
|
|
28
28
|
/******/ "use strict";
|
|
29
29
|
/******/ var __webpack_modules__ = ({
|
|
@@ -54,7 +54,27 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_interactivity__;
|
|
|
54
54
|
\*******************************/
|
|
55
55
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
56
56
|
|
|
57
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadAbsorbersPlugin: () => (/* binding */ loadAbsorbersPlugin)\n/* harmony export */ });\
|
|
57
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadAbsorbersPlugin: () => (/* binding */ loadAbsorbersPlugin)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _interaction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./interaction.js */ \"./dist/browser/interaction.js\");\n/* harmony import */ var _plugin_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./plugin.js */ \"./dist/browser/plugin.js\");\n\n\n\nasync function loadAbsorbersPlugin(engine) {\n await (0,_plugin_js__WEBPACK_IMPORTED_MODULE_2__.loadAbsorbersPluginSimple)(engine);\n await (0,_interaction_js__WEBPACK_IMPORTED_MODULE_1__.loadAbsorbersInteraction)(engine);\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/index.js?\n}");
|
|
58
|
+
|
|
59
|
+
/***/ },
|
|
60
|
+
|
|
61
|
+
/***/ "./dist/browser/interaction.js"
|
|
62
|
+
/*!*************************************!*\
|
|
63
|
+
!*** ./dist/browser/interaction.js ***!
|
|
64
|
+
\*************************************/
|
|
65
|
+
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
66
|
+
|
|
67
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadAbsorbersInteraction: () => (/* binding */ loadAbsorbersInteraction)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n\nasync function loadAbsorbersInteraction(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { getAbsorbersInstancesManager }] = await Promise.all([\n Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"@tsparticles/plugin-interactivity\", 19)),\n __webpack_require__.e(/*! import() */ \"dist_browser_getAbsorbersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./getAbsorbersInstancesManager.js */ \"./dist/browser/getAbsorbersInstancesManager.js\"))\n ]), pluginManager = e.pluginManager, instancesManager = await getAbsorbersInstancesManager(e);\n ensureInteractivityPluginLoaded(e);\n pluginManager.addInteractor?.(\"externalAbsorbers\", async (container)=>{\n const { AbsorbersInteractor } = await __webpack_require__.e(/*! import() */ \"dist_browser_AbsorbersInteractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersInteractor.js */ \"./dist/browser/AbsorbersInteractor.js\"));\n return new AbsorbersInteractor(container, instancesManager);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/interaction.js?\n}");
|
|
68
|
+
|
|
69
|
+
/***/ },
|
|
70
|
+
|
|
71
|
+
/***/ "./dist/browser/plugin.js"
|
|
72
|
+
/*!********************************!*\
|
|
73
|
+
!*** ./dist/browser/plugin.js ***!
|
|
74
|
+
\********************************/
|
|
75
|
+
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
76
|
+
|
|
77
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadAbsorbersPluginSimple: () => (/* binding */ loadAbsorbersPluginSimple)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n\nasync function loadAbsorbersPluginSimple(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register(async (e)=>{\n const [{ getAbsorbersInstancesManager }, { AbsorbersPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"dist_browser_getAbsorbersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./getAbsorbersInstancesManager.js */ \"./dist/browser/getAbsorbersInstancesManager.js\")),\n __webpack_require__.e(/*! import() */ \"dist_browser_AbsorbersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersPlugin.js */ \"./dist/browser/AbsorbersPlugin.js\"))\n ]), pluginManager = e.pluginManager, instancesManager = await getAbsorbersInstancesManager(e);\n pluginManager.addPlugin(new AbsorbersPlugin(instancesManager));\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-absorbers/./dist/browser/plugin.js?\n}");
|
|
58
78
|
|
|
59
79
|
/***/ }
|
|
60
80
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/
|
|
2
|
-
(`+i+": "+
|
|
1
|
+
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/engine"),require("@tsparticles/plugin-interactivity"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine","@tsparticles/plugin-interactivity"],t);else{var r="object"==typeof exports?t(require("@tsparticles/engine"),require("@tsparticles/plugin-interactivity")):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(t){t.exports=e},702(e){e.exports=t}},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.2"),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(920).then(s.bind(s,920))]),n=e.pluginManager,i=await r(e);t(e),n.addInteractor?.("externalAbsorbers",async e=>{let{AbsorbersInteractor:t}=await s.e(698).then(s.bind(s,698));return new t(e,i)})})}async function y(e){e.checkVersion("4.0.0-beta.2"),await e.pluginManager.register(async e=>{let[{getAbsorbersInstancesManager:t},{AbsorbersPlugin:r}]=await Promise.all([s.e(920).then(s.bind(s,920)),s.e(998).then(s.bind(s,998))]),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}),s(303),g})());
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type CanvasContextType, type Container, type ICoordinates, type IDelta, type IRgb, type Particle, type PluginManager, type RecursivePartial, RotateDirection, Vector } from "@tsparticles/engine";
|
|
2
2
|
import { Absorber } from "./Options/Classes/Absorber.js";
|
|
3
3
|
import type { IAbsorber } from "./Options/Interfaces/IAbsorber.js";
|
|
4
4
|
import type { IAbsorberSizeLimit } from "./Options/Interfaces/IAbsorberSizeLimit.js";
|
|
@@ -20,15 +20,15 @@ export declare class AbsorberInstance {
|
|
|
20
20
|
private _currentDuration;
|
|
21
21
|
private _currentSpawnDelay;
|
|
22
22
|
private _duration?;
|
|
23
|
-
private readonly _engine;
|
|
24
23
|
private _firstSpawn;
|
|
25
24
|
private readonly _immortal;
|
|
26
25
|
private _lifeCount;
|
|
26
|
+
private readonly _pluginManager;
|
|
27
27
|
private _spawnDelay?;
|
|
28
28
|
private readonly initialPosition?;
|
|
29
|
-
constructor(
|
|
29
|
+
constructor(pluginManager: PluginManager, container: Container, options: RecursivePartial<IAbsorber>, position?: ICoordinates);
|
|
30
30
|
attract(particle: OrbitingParticle, delta: IDelta): void;
|
|
31
|
-
draw(context:
|
|
31
|
+
draw(context: CanvasContextType): void;
|
|
32
32
|
resize(): void;
|
|
33
33
|
update(delta: IDelta): void;
|
|
34
34
|
private readonly _calcPosition;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type ICoordinates, type PluginManager, type RecursivePartial } from "@tsparticles/engine";
|
|
2
2
|
import type { AbsorberContainer } from "./AbsorberContainer.js";
|
|
3
3
|
import type { AbsorberInstance } from "./AbsorberInstance.js";
|
|
4
4
|
import type { IAbsorber } from "./Options/Interfaces/IAbsorber.js";
|
|
5
5
|
export declare class AbsorbersInstancesManager {
|
|
6
6
|
private readonly _containerArrays;
|
|
7
|
-
private readonly
|
|
8
|
-
constructor(
|
|
7
|
+
private readonly _pluginManager;
|
|
8
|
+
constructor(pluginManager: PluginManager);
|
|
9
9
|
addAbsorber(container: AbsorberContainer, options: RecursivePartial<IAbsorber>, position?: ICoordinates): Promise<AbsorberInstance>;
|
|
10
10
|
clear(container: AbsorberContainer): void;
|
|
11
11
|
getArray(container: AbsorberContainer): AbsorberInstance[];
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { type IContainerPlugin, type IDelta, type Particle } from "@tsparticles/engine";
|
|
1
|
+
import { type CanvasContextType, type IContainerPlugin, type IDelta, type Particle } from "@tsparticles/engine";
|
|
2
2
|
import type { AbsorberContainer } from "./AbsorberContainer.js";
|
|
3
3
|
import type { AbsorbersInstancesManager } from "./AbsorbersInstancesManager.js";
|
|
4
4
|
export declare class AbsorbersPluginInstance implements IContainerPlugin {
|
|
5
5
|
private readonly _container;
|
|
6
6
|
private readonly _instancesManager;
|
|
7
7
|
constructor(container: AbsorberContainer, instancesManager: AbsorbersInstancesManager);
|
|
8
|
-
draw(context:
|
|
8
|
+
draw(context: CanvasContextType): void;
|
|
9
9
|
init(): Promise<void>;
|
|
10
10
|
particleUpdate(particle: Particle, delta: IDelta): void;
|
|
11
11
|
resize(): void;
|
package/162.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_plugin_absorbers=this.webpackChunk_tsparticles_plugin_absorbers||[]).push([[162],{162(i,s,t){t.r(s),t.d(s,{AbsorbersPlugin:()=>a});var o=t(303),e=t(866);class a{id="absorbers";_instancesManager;constructor(i){this._instancesManager=i}async getPlugin(i){let{AbsorbersPluginInstance:s}=await t.e(497).then(t.bind(t,497));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}}},866(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/166.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_plugin_absorbers=this.webpackChunk_tsparticles_plugin_absorbers||[]).push([[166],{166(i,s,t){t.d(s,{AbsorbersInteractor:()=>n});var o=t(702),e=t(303),a=t(866);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(){}}},866(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/49.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_plugin_absorbers=this.webpackChunk_tsparticles_plugin_absorbers||[]).push([[49],{49(i,t,s){s.d(t,{AbsorberInstance:()=>n});var o=s(303),e=s(866);let a=o.doublePI;class n{color;limit;mass;name;opacity;options;position;size;_container;_currentDuration;_currentSpawnDelay;_duration;_engine;_firstSpawn;_immortal;_lifeCount;_spawnDelay;initialPosition;constructor(i,t,s,a){this._container=t,this._engine=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._engine,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,h)):(e.destroy&&(i.size.value-=o),this._updateParticlePosition(i,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,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)=>{if(i.destroyed)return;let s=this._container,e=s.canvas.size;if(i.needsNewPosition){let t=(0,o.calcPositionOrRandomFromSize)({size:e});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(e.width,e.height);i.absorberOrbit.length=t*(1+(.2*(0,o.getRandom)()-.1))}i.absorberOrbitDirection??=i.velocity.x>=0?o.RotateDirection.clockwise:o.RotateDirection.counterClockwise;let n=i.absorberOrbit.length,r=i.absorberOrbit.angle,l=i.absorberOrbitDirection;i.velocity.setTo(o.Vector.origin);let h={x:l===o.RotateDirection.clockwise?Math.cos:Math.sin,y:l===o.RotateDirection.clockwise?Math.sin:Math.cos};i.position.x=this.position.x+n*h.x(r),i.position.y=this.position.y+n*h.y(r),i.absorberOrbit.length-=t.length,i.absorberOrbit.angle+=(i.retina.moveSpeed??0)*s.retina.pixelRatio/o.percentDenominator*s.retina.reduceFactor}else{let s=o.Vector.origin;s.length=t.length,s.angle=t.angle,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()}}},866(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))}}}}]);
|
package/598.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_plugin_absorbers=this.webpackChunk_tsparticles_plugin_absorbers||[]).push([[598],{598(r,e,t){t.r(e),t.d(e,{AbsorbersInstancesManager:()=>i});var s=t(303);class i{_containerArrays;_engine;constructor(r){this._containerArrays=new Map,this._engine=r}async addAbsorber(r,e,s){let{AbsorberInstance:i}=await t.e(49).then(t.bind(t,49)),n=new i(this._engine,r,e,s);return this.getArray(r).push(n),n}clear(r){this.initContainer(r),this._containerArrays.set(r,[])}getArray(r){this.initContainer(r);let e=this._containerArrays.get(r);return e||(e=[],this._containerArrays.set(r,e)),e}initContainer(r){this._containerArrays.has(r)||(this._containerArrays.set(r,[]),r.getAbsorber??=e=>{let t=this.getArray(r);return void 0===e||(0,s.isNumber)(e)?t[e??0]:t.find(r=>r.name===e)},r.addAbsorber??=(e,t)=>this.addAbsorber(r,e,t))}removeAbsorber(r,e){let t=this.getArray(r).indexOf(e);t>=0&&this.getArray(r).splice(t,1)}}}}]);
|
package/umd/AbsorberContainer.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
});
|
package/umd/AbsorberInstance.js
DELETED
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "@tsparticles/engine", "./Options/Classes/Absorber.js"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.AbsorberInstance = void 0;
|
|
13
|
-
const engine_1 = require("@tsparticles/engine");
|
|
14
|
-
const Absorber_js_1 = require("./Options/Classes/Absorber.js");
|
|
15
|
-
const squareExp = 2, absorbFactor = 0.033, minOrbitLength = 0, minRadius = 0, minMass = 0, minAngle = 0, maxAngle = engine_1.doublePI, minVelocity = 0, defaultLifeDelay = 0, minLifeCount = 0, defaultSpawnDelay = 0, defaultLifeCount = -1;
|
|
16
|
-
class AbsorberInstance {
|
|
17
|
-
color;
|
|
18
|
-
limit;
|
|
19
|
-
mass;
|
|
20
|
-
name;
|
|
21
|
-
opacity;
|
|
22
|
-
options;
|
|
23
|
-
position;
|
|
24
|
-
size;
|
|
25
|
-
_container;
|
|
26
|
-
_currentDuration;
|
|
27
|
-
_currentSpawnDelay;
|
|
28
|
-
_duration;
|
|
29
|
-
_engine;
|
|
30
|
-
_firstSpawn;
|
|
31
|
-
_immortal;
|
|
32
|
-
_lifeCount;
|
|
33
|
-
_spawnDelay;
|
|
34
|
-
initialPosition;
|
|
35
|
-
constructor(engine, container, options, position) {
|
|
36
|
-
this._container = container;
|
|
37
|
-
this._engine = engine;
|
|
38
|
-
this._currentDuration = 0;
|
|
39
|
-
this._currentSpawnDelay = 0;
|
|
40
|
-
this.initialPosition = position ? engine_1.Vector.create(position.x, position.y) : undefined;
|
|
41
|
-
if (options instanceof Absorber_js_1.Absorber) {
|
|
42
|
-
this.options = options;
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
this.options = new Absorber_js_1.Absorber();
|
|
46
|
-
this.options.load(options);
|
|
47
|
-
}
|
|
48
|
-
this.name = this.options.name;
|
|
49
|
-
this.opacity = this.options.opacity;
|
|
50
|
-
this.size = (0, engine_1.getRangeValue)(this.options.size.value) * container.retina.pixelRatio;
|
|
51
|
-
this.mass = this.size * this.options.size.density * container.retina.reduceFactor;
|
|
52
|
-
const limit = this.options.size.limit;
|
|
53
|
-
this.limit = {
|
|
54
|
-
radius: limit.radius * container.retina.pixelRatio * container.retina.reduceFactor,
|
|
55
|
-
mass: limit.mass,
|
|
56
|
-
};
|
|
57
|
-
this.color = (0, engine_1.rangeColorToRgb)(this._engine, this.options.color) ?? {
|
|
58
|
-
b: 0,
|
|
59
|
-
g: 0,
|
|
60
|
-
r: 0,
|
|
61
|
-
};
|
|
62
|
-
this.position = this.initialPosition?.copy() ?? this._calcPosition();
|
|
63
|
-
this._firstSpawn = !this.options.life.wait;
|
|
64
|
-
this._lifeCount = this.options.life.count ?? defaultLifeCount;
|
|
65
|
-
this._immortal = this._lifeCount <= minLifeCount;
|
|
66
|
-
this._spawnDelay = container.retina.reduceFactor
|
|
67
|
-
? ((0, engine_1.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * engine_1.millisecondsToSeconds) /
|
|
68
|
-
container.retina.reduceFactor
|
|
69
|
-
: Infinity;
|
|
70
|
-
}
|
|
71
|
-
attract(particle, delta) {
|
|
72
|
-
const container = this._container, options = this.options, pos = particle.getPosition(), { dx, dy, distance } = (0, engine_1.getDistances)(this.position, pos), v = engine_1.Vector.create(dx, dy);
|
|
73
|
-
v.length = (this.mass / Math.pow(distance, squareExp)) * container.retina.reduceFactor;
|
|
74
|
-
if (distance < this.size + particle.getRadius()) {
|
|
75
|
-
const sizeFactor = particle.getRadius() * absorbFactor * container.retina.pixelRatio * delta.factor;
|
|
76
|
-
if ((this.size > particle.getRadius() && distance < this.size - particle.getRadius()) ||
|
|
77
|
-
(particle.absorberOrbit !== undefined && particle.absorberOrbit.length < minOrbitLength)) {
|
|
78
|
-
if (options.destroy) {
|
|
79
|
-
particle.destroy();
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
particle.needsNewPosition = true;
|
|
83
|
-
this._updateParticlePosition(particle, v);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
if (options.destroy) {
|
|
88
|
-
particle.size.value -= sizeFactor;
|
|
89
|
-
}
|
|
90
|
-
this._updateParticlePosition(particle, v);
|
|
91
|
-
}
|
|
92
|
-
if (this.limit.radius <= minRadius || this.size < this.limit.radius) {
|
|
93
|
-
this.size += sizeFactor;
|
|
94
|
-
}
|
|
95
|
-
if (this.limit.mass <= minMass || this.mass < this.limit.mass) {
|
|
96
|
-
this.mass += sizeFactor * this.options.size.density * container.retina.reduceFactor;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
this._updateParticlePosition(particle, v);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
draw(context) {
|
|
104
|
-
context.translate(this.position.x, this.position.y);
|
|
105
|
-
context.beginPath();
|
|
106
|
-
context.arc(engine_1.originPoint.x, engine_1.originPoint.y, this.size, minAngle, maxAngle, false);
|
|
107
|
-
context.closePath();
|
|
108
|
-
context.fillStyle = (0, engine_1.getStyleFromRgb)(this.color, this._container.hdr, this.opacity);
|
|
109
|
-
context.fill();
|
|
110
|
-
}
|
|
111
|
-
resize() {
|
|
112
|
-
const initialPosition = this.initialPosition;
|
|
113
|
-
this.position =
|
|
114
|
-
initialPosition && (0, engine_1.isPointInside)(initialPosition, this._container.canvas.size, engine_1.Vector.origin)
|
|
115
|
-
? initialPosition
|
|
116
|
-
: this._calcPosition();
|
|
117
|
-
}
|
|
118
|
-
update(delta) {
|
|
119
|
-
if (this._firstSpawn) {
|
|
120
|
-
this._firstSpawn = false;
|
|
121
|
-
this._currentSpawnDelay = this._spawnDelay ?? defaultSpawnDelay;
|
|
122
|
-
}
|
|
123
|
-
if (this._duration !== undefined) {
|
|
124
|
-
this._currentDuration += delta.value;
|
|
125
|
-
if (this._currentDuration >= this._duration) {
|
|
126
|
-
if (!this._immortal) {
|
|
127
|
-
this._lifeCount--;
|
|
128
|
-
}
|
|
129
|
-
if (this._lifeCount > minLifeCount || this._immortal) {
|
|
130
|
-
this.position = this._calcPosition();
|
|
131
|
-
this._spawnDelay = this._container.retina.reduceFactor
|
|
132
|
-
? ((0, engine_1.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * engine_1.millisecondsToSeconds) /
|
|
133
|
-
this._container.retina.reduceFactor
|
|
134
|
-
: Infinity;
|
|
135
|
-
}
|
|
136
|
-
this._currentDuration -= this._duration;
|
|
137
|
-
delete this._duration;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
if (this._spawnDelay !== undefined) {
|
|
141
|
-
this._currentSpawnDelay += delta.value;
|
|
142
|
-
if (this._currentSpawnDelay >= this._spawnDelay) {
|
|
143
|
-
this.play();
|
|
144
|
-
this._currentSpawnDelay -= this._spawnDelay;
|
|
145
|
-
delete this._spawnDelay;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
_calcPosition = () => {
|
|
150
|
-
const exactPosition = (0, engine_1.calcPositionOrRandomFromSizeRanged)({
|
|
151
|
-
size: this._container.canvas.size,
|
|
152
|
-
position: this.options.position,
|
|
153
|
-
});
|
|
154
|
-
return engine_1.Vector.create(exactPosition.x, exactPosition.y);
|
|
155
|
-
};
|
|
156
|
-
_prepareToDie = () => {
|
|
157
|
-
const duration = this.options.life.duration !== undefined ? (0, engine_1.getRangeValue)(this.options.life.duration) : undefined, minDuration = 0;
|
|
158
|
-
if ((this._lifeCount > minLifeCount || this._immortal) && duration !== undefined && duration > minDuration) {
|
|
159
|
-
this._duration = duration * engine_1.millisecondsToSeconds;
|
|
160
|
-
}
|
|
161
|
-
};
|
|
162
|
-
_updateParticlePosition = (particle, v) => {
|
|
163
|
-
if (particle.destroyed) {
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
const container = this._container, canvasSize = container.canvas.size;
|
|
167
|
-
if (particle.needsNewPosition) {
|
|
168
|
-
const newPosition = (0, engine_1.calcPositionOrRandomFromSize)({ size: canvasSize });
|
|
169
|
-
particle.position.setTo(newPosition);
|
|
170
|
-
particle.velocity.setTo(particle.initialVelocity);
|
|
171
|
-
particle.absorberOrbit = undefined;
|
|
172
|
-
particle.needsNewPosition = false;
|
|
173
|
-
}
|
|
174
|
-
if (this.options.orbits) {
|
|
175
|
-
if (particle.absorberOrbit === undefined) {
|
|
176
|
-
particle.absorberOrbit = engine_1.Vector.origin;
|
|
177
|
-
particle.absorberOrbit.length = (0, engine_1.getDistance)(particle.getPosition(), this.position);
|
|
178
|
-
particle.absorberOrbit.angle = (0, engine_1.getRandom)() * maxAngle;
|
|
179
|
-
}
|
|
180
|
-
if (particle.absorberOrbit.length <= this.size && !this.options.destroy) {
|
|
181
|
-
const minSize = Math.min(canvasSize.width, canvasSize.height), offset = 1, randomOffset = 0.1, randomFactor = 0.2;
|
|
182
|
-
particle.absorberOrbit.length = minSize * (offset + ((0, engine_1.getRandom)() * randomFactor - randomOffset));
|
|
183
|
-
}
|
|
184
|
-
particle.absorberOrbitDirection ??=
|
|
185
|
-
particle.velocity.x >= minVelocity ? engine_1.RotateDirection.clockwise : engine_1.RotateDirection.counterClockwise;
|
|
186
|
-
const orbitRadius = particle.absorberOrbit.length, orbitAngle = particle.absorberOrbit.angle, orbitDirection = particle.absorberOrbitDirection;
|
|
187
|
-
particle.velocity.setTo(engine_1.Vector.origin);
|
|
188
|
-
const updateFunc = {
|
|
189
|
-
x: orbitDirection === engine_1.RotateDirection.clockwise ? Math.cos : Math.sin,
|
|
190
|
-
y: orbitDirection === engine_1.RotateDirection.clockwise ? Math.sin : Math.cos,
|
|
191
|
-
};
|
|
192
|
-
particle.position.x = this.position.x + orbitRadius * updateFunc.x(orbitAngle);
|
|
193
|
-
particle.position.y = this.position.y + orbitRadius * updateFunc.y(orbitAngle);
|
|
194
|
-
particle.absorberOrbit.length -= v.length;
|
|
195
|
-
particle.absorberOrbit.angle +=
|
|
196
|
-
(((particle.retina.moveSpeed ?? minVelocity) * container.retina.pixelRatio) / engine_1.percentDenominator) *
|
|
197
|
-
container.retina.reduceFactor;
|
|
198
|
-
}
|
|
199
|
-
else {
|
|
200
|
-
const addV = engine_1.Vector.origin;
|
|
201
|
-
addV.length = v.length;
|
|
202
|
-
addV.angle = v.angle;
|
|
203
|
-
particle.velocity.addTo(addV);
|
|
204
|
-
}
|
|
205
|
-
};
|
|
206
|
-
play = () => {
|
|
207
|
-
if (!((this._lifeCount > minLifeCount || this._immortal || !this.options.life.count) &&
|
|
208
|
-
(this._firstSpawn || this._currentSpawnDelay >= (this._spawnDelay ?? defaultSpawnDelay)))) {
|
|
209
|
-
return;
|
|
210
|
-
}
|
|
211
|
-
if (this._lifeCount > minLifeCount || this._immortal) {
|
|
212
|
-
this._prepareToDie();
|
|
213
|
-
}
|
|
214
|
-
};
|
|
215
|
-
}
|
|
216
|
-
exports.AbsorberInstance = AbsorberInstance;
|
|
217
|
-
});
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
2
|
-
if (k2 === undefined) k2 = k;
|
|
3
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
4
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
5
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
6
|
-
}
|
|
7
|
-
Object.defineProperty(o, k2, desc);
|
|
8
|
-
}) : (function(o, m, k, k2) {
|
|
9
|
-
if (k2 === undefined) k2 = k;
|
|
10
|
-
o[k2] = m[k];
|
|
11
|
-
}));
|
|
12
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
13
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
14
|
-
}) : function(o, v) {
|
|
15
|
-
o["default"] = v;
|
|
16
|
-
});
|
|
17
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
18
|
-
var ownKeys = function(o) {
|
|
19
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
20
|
-
var ar = [];
|
|
21
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
22
|
-
return ar;
|
|
23
|
-
};
|
|
24
|
-
return ownKeys(o);
|
|
25
|
-
};
|
|
26
|
-
return function (mod) {
|
|
27
|
-
if (mod && mod.__esModule) return mod;
|
|
28
|
-
var result = {};
|
|
29
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
30
|
-
__setModuleDefault(result, mod);
|
|
31
|
-
return result;
|
|
32
|
-
};
|
|
33
|
-
})();
|
|
34
|
-
(function (factory) {
|
|
35
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
36
|
-
var v = factory(require, exports);
|
|
37
|
-
if (v !== undefined) module.exports = v;
|
|
38
|
-
}
|
|
39
|
-
else if (typeof define === "function" && define.amd) {
|
|
40
|
-
define(["require", "exports", "@tsparticles/engine"], factory);
|
|
41
|
-
}
|
|
42
|
-
})(function (require, exports) {
|
|
43
|
-
"use strict";
|
|
44
|
-
var __syncRequire = typeof module === "object" && typeof module.exports === "object";
|
|
45
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
-
exports.AbsorbersInstancesManager = void 0;
|
|
47
|
-
const engine_1 = require("@tsparticles/engine");
|
|
48
|
-
const defaultIndex = 0;
|
|
49
|
-
class AbsorbersInstancesManager {
|
|
50
|
-
_containerArrays;
|
|
51
|
-
_engine;
|
|
52
|
-
constructor(engine) {
|
|
53
|
-
this._containerArrays = new Map();
|
|
54
|
-
this._engine = engine;
|
|
55
|
-
}
|
|
56
|
-
async addAbsorber(container, options, position) {
|
|
57
|
-
const { AbsorberInstance } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("./AbsorberInstance.js"))) : new Promise((resolve_1, reject_1) => { require(["./AbsorberInstance.js"], resolve_1, reject_1); }).then(__importStar)), absorber = new AbsorberInstance(this._engine, container, options, position), array = this.getArray(container);
|
|
58
|
-
array.push(absorber);
|
|
59
|
-
return absorber;
|
|
60
|
-
}
|
|
61
|
-
clear(container) {
|
|
62
|
-
this.initContainer(container);
|
|
63
|
-
this._containerArrays.set(container, []);
|
|
64
|
-
}
|
|
65
|
-
getArray(container) {
|
|
66
|
-
this.initContainer(container);
|
|
67
|
-
let array = this._containerArrays.get(container);
|
|
68
|
-
if (!array) {
|
|
69
|
-
array = [];
|
|
70
|
-
this._containerArrays.set(container, array);
|
|
71
|
-
}
|
|
72
|
-
return array;
|
|
73
|
-
}
|
|
74
|
-
initContainer(container) {
|
|
75
|
-
if (this._containerArrays.has(container)) {
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
this._containerArrays.set(container, []);
|
|
79
|
-
container.getAbsorber ??= (idxOrName) => {
|
|
80
|
-
const array = this.getArray(container);
|
|
81
|
-
return idxOrName === undefined || (0, engine_1.isNumber)(idxOrName)
|
|
82
|
-
? array[idxOrName ?? defaultIndex]
|
|
83
|
-
: array.find(t => t.name === idxOrName);
|
|
84
|
-
};
|
|
85
|
-
container.addAbsorber ??= (options, position) => {
|
|
86
|
-
return this.addAbsorber(container, options, position);
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
removeAbsorber(container, absorber) {
|
|
90
|
-
const index = this.getArray(container).indexOf(absorber), deleteCount = 1;
|
|
91
|
-
if (index >= defaultIndex) {
|
|
92
|
-
this.getArray(container).splice(index, deleteCount);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
exports.AbsorbersInstancesManager = AbsorbersInstancesManager;
|
|
97
|
-
});
|