@tsparticles/interaction-particles-attract 4.0.5 → 4.1.1
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/Attractor.js +5 -5
- package/browser/index.js +1 -1
- package/browser/index.lazy.js +1 -1
- package/cjs/Attractor.js +5 -5
- package/cjs/index.js +1 -1
- package/cjs/index.lazy.js +1 -1
- package/esm/Attractor.js +5 -5
- package/esm/index.js +1 -1
- package/esm/index.lazy.js +1 -1
- package/package.json +3 -3
- package/tsparticles.interaction.particles.attract.js +7 -7
- package/tsparticles.interaction.particles.attract.min.js +1 -1
- package/types/Attractor.d.ts +1 -1
package/browser/Attractor.js
CHANGED
|
@@ -3,13 +3,13 @@ import { Attract } from "./Options/Classes/Attract.js";
|
|
|
3
3
|
import { ParticlesInteractorBase } from "@tsparticles/plugin-interactivity";
|
|
4
4
|
const attractFactor = 1000, identity = 1;
|
|
5
5
|
export class Attractor extends ParticlesInteractorBase {
|
|
6
|
-
|
|
6
|
+
#maxDistance;
|
|
7
7
|
constructor(container) {
|
|
8
8
|
super(container);
|
|
9
|
-
this
|
|
9
|
+
this.#maxDistance = 0;
|
|
10
10
|
}
|
|
11
11
|
get maxDistance() {
|
|
12
|
-
return this
|
|
12
|
+
return this.#maxDistance;
|
|
13
13
|
}
|
|
14
14
|
clear() {
|
|
15
15
|
}
|
|
@@ -22,8 +22,8 @@ export class Attractor extends ParticlesInteractorBase {
|
|
|
22
22
|
const container = this.container;
|
|
23
23
|
if (isNull(p1.attractDistance)) {
|
|
24
24
|
const attractDistance = getRangeValue(p1.options.attract.distance);
|
|
25
|
-
if (attractDistance > this
|
|
26
|
-
this
|
|
25
|
+
if (attractDistance > this.#maxDistance) {
|
|
26
|
+
this.#maxDistance = attractDistance;
|
|
27
27
|
}
|
|
28
28
|
p1.attractDistance = attractDistance * container.retina.pixelRatio;
|
|
29
29
|
}
|
package/browser/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ensureInteractivityPluginLoaded } from "@tsparticles/plugin-interactivity";
|
|
2
2
|
import { Attractor } from "./Attractor.js";
|
|
3
3
|
export async function loadParticlesAttractInteraction(engine) {
|
|
4
|
-
engine.checkVersion("4.
|
|
4
|
+
engine.checkVersion("4.1.1");
|
|
5
5
|
await engine.pluginManager.register((e) => {
|
|
6
6
|
ensureInteractivityPluginLoaded(e);
|
|
7
7
|
e.pluginManager.addInteractor?.("particlesAttract", container => {
|
package/browser/index.lazy.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export async function loadParticlesAttractInteraction(engine) {
|
|
2
|
-
engine.checkVersion("4.
|
|
2
|
+
engine.checkVersion("4.1.1");
|
|
3
3
|
await engine.pluginManager.register(async (e) => {
|
|
4
4
|
const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity/lazy");
|
|
5
5
|
ensureInteractivityPluginLoaded(e);
|
package/cjs/Attractor.js
CHANGED
|
@@ -3,13 +3,13 @@ import { Attract } from "./Options/Classes/Attract.js";
|
|
|
3
3
|
import { ParticlesInteractorBase } from "@tsparticles/plugin-interactivity";
|
|
4
4
|
const attractFactor = 1000, identity = 1;
|
|
5
5
|
export class Attractor extends ParticlesInteractorBase {
|
|
6
|
-
|
|
6
|
+
#maxDistance;
|
|
7
7
|
constructor(container) {
|
|
8
8
|
super(container);
|
|
9
|
-
this
|
|
9
|
+
this.#maxDistance = 0;
|
|
10
10
|
}
|
|
11
11
|
get maxDistance() {
|
|
12
|
-
return this
|
|
12
|
+
return this.#maxDistance;
|
|
13
13
|
}
|
|
14
14
|
clear() {
|
|
15
15
|
}
|
|
@@ -22,8 +22,8 @@ export class Attractor extends ParticlesInteractorBase {
|
|
|
22
22
|
const container = this.container;
|
|
23
23
|
if (isNull(p1.attractDistance)) {
|
|
24
24
|
const attractDistance = getRangeValue(p1.options.attract.distance);
|
|
25
|
-
if (attractDistance > this
|
|
26
|
-
this
|
|
25
|
+
if (attractDistance > this.#maxDistance) {
|
|
26
|
+
this.#maxDistance = attractDistance;
|
|
27
27
|
}
|
|
28
28
|
p1.attractDistance = attractDistance * container.retina.pixelRatio;
|
|
29
29
|
}
|
package/cjs/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ensureInteractivityPluginLoaded } from "@tsparticles/plugin-interactivity";
|
|
2
2
|
import { Attractor } from "./Attractor.js";
|
|
3
3
|
export async function loadParticlesAttractInteraction(engine) {
|
|
4
|
-
engine.checkVersion("4.
|
|
4
|
+
engine.checkVersion("4.1.1");
|
|
5
5
|
await engine.pluginManager.register((e) => {
|
|
6
6
|
ensureInteractivityPluginLoaded(e);
|
|
7
7
|
e.pluginManager.addInteractor?.("particlesAttract", container => {
|
package/cjs/index.lazy.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export async function loadParticlesAttractInteraction(engine) {
|
|
2
|
-
engine.checkVersion("4.
|
|
2
|
+
engine.checkVersion("4.1.1");
|
|
3
3
|
await engine.pluginManager.register(async (e) => {
|
|
4
4
|
const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity/lazy");
|
|
5
5
|
ensureInteractivityPluginLoaded(e);
|
package/esm/Attractor.js
CHANGED
|
@@ -3,13 +3,13 @@ import { Attract } from "./Options/Classes/Attract.js";
|
|
|
3
3
|
import { ParticlesInteractorBase } from "@tsparticles/plugin-interactivity";
|
|
4
4
|
const attractFactor = 1000, identity = 1;
|
|
5
5
|
export class Attractor extends ParticlesInteractorBase {
|
|
6
|
-
|
|
6
|
+
#maxDistance;
|
|
7
7
|
constructor(container) {
|
|
8
8
|
super(container);
|
|
9
|
-
this
|
|
9
|
+
this.#maxDistance = 0;
|
|
10
10
|
}
|
|
11
11
|
get maxDistance() {
|
|
12
|
-
return this
|
|
12
|
+
return this.#maxDistance;
|
|
13
13
|
}
|
|
14
14
|
clear() {
|
|
15
15
|
}
|
|
@@ -22,8 +22,8 @@ export class Attractor extends ParticlesInteractorBase {
|
|
|
22
22
|
const container = this.container;
|
|
23
23
|
if (isNull(p1.attractDistance)) {
|
|
24
24
|
const attractDistance = getRangeValue(p1.options.attract.distance);
|
|
25
|
-
if (attractDistance > this
|
|
26
|
-
this
|
|
25
|
+
if (attractDistance > this.#maxDistance) {
|
|
26
|
+
this.#maxDistance = attractDistance;
|
|
27
27
|
}
|
|
28
28
|
p1.attractDistance = attractDistance * container.retina.pixelRatio;
|
|
29
29
|
}
|
package/esm/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ensureInteractivityPluginLoaded } from "@tsparticles/plugin-interactivity";
|
|
2
2
|
import { Attractor } from "./Attractor.js";
|
|
3
3
|
export async function loadParticlesAttractInteraction(engine) {
|
|
4
|
-
engine.checkVersion("4.
|
|
4
|
+
engine.checkVersion("4.1.1");
|
|
5
5
|
await engine.pluginManager.register((e) => {
|
|
6
6
|
ensureInteractivityPluginLoaded(e);
|
|
7
7
|
e.pluginManager.addInteractor?.("particlesAttract", container => {
|
package/esm/index.lazy.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export async function loadParticlesAttractInteraction(engine) {
|
|
2
|
-
engine.checkVersion("4.
|
|
2
|
+
engine.checkVersion("4.1.1");
|
|
3
3
|
await engine.pluginManager.register(async (e) => {
|
|
4
4
|
const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity/lazy");
|
|
5
5
|
ensureInteractivityPluginLoaded(e);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsparticles/interaction-particles-attract",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1.1",
|
|
4
4
|
"description": "tsParticles attract particles interaction",
|
|
5
5
|
"homepage": "https://particles.js.org",
|
|
6
6
|
"repository": {
|
|
@@ -93,8 +93,8 @@
|
|
|
93
93
|
"./package.json": "./package.json"
|
|
94
94
|
},
|
|
95
95
|
"peerDependencies": {
|
|
96
|
-
"@tsparticles/engine": "4.
|
|
97
|
-
"@tsparticles/plugin-interactivity": "4.
|
|
96
|
+
"@tsparticles/engine": "4.1.1",
|
|
97
|
+
"@tsparticles/plugin-interactivity": "4.1.1"
|
|
98
98
|
},
|
|
99
99
|
"publishConfig": {
|
|
100
100
|
"access": "public"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
(function(g){g.__tsParticlesInternals=g.__tsParticlesInternals||{};g.__tsParticlesInternals.bundles=g.__tsParticlesInternals.bundles||{};g.__tsParticlesInternals.effects=g.__tsParticlesInternals.effects||{};g.__tsParticlesInternals.engine=g.__tsParticlesInternals.engine||{};g.__tsParticlesInternals.interactions=g.__tsParticlesInternals.interactions||{};g.__tsParticlesInternals.palettes=g.__tsParticlesInternals.palettes||{};g.__tsParticlesInternals.paths=g.__tsParticlesInternals.paths||{};g.__tsParticlesInternals.plugins=g.__tsParticlesInternals.plugins||{};g.__tsParticlesInternals.plugins=g.__tsParticlesInternals.plugins||{};g.__tsParticlesInternals.plugins.emittersShapes=g.__tsParticlesInternals.plugins.emittersShapes||{};g.__tsParticlesInternals.presets=g.__tsParticlesInternals.presets||{};g.__tsParticlesInternals.shapes=g.__tsParticlesInternals.shapes||{};g.__tsParticlesInternals.updaters=g.__tsParticlesInternals.updaters||{};g.__tsParticlesInternals.utils=g.__tsParticlesInternals.utils||{};g.__tsParticlesInternals.canvas=g.__tsParticlesInternals.canvas||{};g.__tsParticlesInternals.canvas=g.__tsParticlesInternals.canvas||{};g.__tsParticlesInternals.canvas.utils=g.__tsParticlesInternals.canvas.utils||{};g.__tsParticlesInternals.path=g.__tsParticlesInternals.path||{};g.__tsParticlesInternals.path=g.__tsParticlesInternals.path||{};g.__tsParticlesInternals.path.utils=g.__tsParticlesInternals.path.utils||{};var __tsProxyFactory=typeof Proxy!=="undefined"?function(obj){return new Proxy(obj,{get:function(target,key){if(!(key in target)){target[key]={};}return target[key];}});}:function(obj){return obj;};g.__tsParticlesInternals.bundles=__tsProxyFactory(g.__tsParticlesInternals.bundles);g.__tsParticlesInternals.effects=__tsProxyFactory(g.__tsParticlesInternals.effects);g.__tsParticlesInternals.interactions=__tsProxyFactory(g.__tsParticlesInternals.interactions);g.__tsParticlesInternals.palettes=__tsProxyFactory(g.__tsParticlesInternals.palettes);g.__tsParticlesInternals.paths=__tsProxyFactory(g.__tsParticlesInternals.paths);g.__tsParticlesInternals.plugins=__tsProxyFactory(g.__tsParticlesInternals.plugins);g.__tsParticlesInternals.plugins.emittersShapes=__tsProxyFactory(g.__tsParticlesInternals.plugins.emittersShapes);g.__tsParticlesInternals.presets=__tsProxyFactory(g.__tsParticlesInternals.presets);g.__tsParticlesInternals.shapes=__tsProxyFactory(g.__tsParticlesInternals.shapes);g.__tsParticlesInternals.updaters=__tsProxyFactory(g.__tsParticlesInternals.updaters);g.__tsParticlesInternals.utils=__tsProxyFactory(g.__tsParticlesInternals.utils);g.__tsParticlesInternals.canvas=__tsProxyFactory(g.__tsParticlesInternals.canvas);g.__tsParticlesInternals.path=__tsProxyFactory(g.__tsParticlesInternals.path);g.tsparticlesInternalExports=g.tsparticlesInternalExports||{};})(typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:this);
|
|
2
|
-
/* Particles Interaction v4.
|
|
2
|
+
/* Particles Interaction v4.1.1 */
|
|
3
3
|
(function (global, factory) {
|
|
4
4
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@tsparticles/plugin-interactivity'), require('@tsparticles/engine')) :
|
|
5
5
|
typeof define === 'function' && define.amd ? define(['exports', '@tsparticles/plugin-interactivity', '@tsparticles/engine'], factory) :
|
|
@@ -43,13 +43,13 @@
|
|
|
43
43
|
|
|
44
44
|
const attractFactor = 1000, identity = 1;
|
|
45
45
|
class Attractor extends pluginInteractivity.ParticlesInteractorBase {
|
|
46
|
-
|
|
46
|
+
#maxDistance;
|
|
47
47
|
constructor(container) {
|
|
48
48
|
super(container);
|
|
49
|
-
this
|
|
49
|
+
this.#maxDistance = 0;
|
|
50
50
|
}
|
|
51
51
|
get maxDistance() {
|
|
52
|
-
return this
|
|
52
|
+
return this.#maxDistance;
|
|
53
53
|
}
|
|
54
54
|
clear() {
|
|
55
55
|
}
|
|
@@ -62,8 +62,8 @@
|
|
|
62
62
|
const container = this.container;
|
|
63
63
|
if (engine.isNull(p1.attractDistance)) {
|
|
64
64
|
const attractDistance = engine.getRangeValue(p1.options.attract.distance);
|
|
65
|
-
if (attractDistance > this
|
|
66
|
-
this
|
|
65
|
+
if (attractDistance > this.#maxDistance) {
|
|
66
|
+
this.#maxDistance = attractDistance;
|
|
67
67
|
}
|
|
68
68
|
p1.attractDistance = attractDistance * container.retina.pixelRatio;
|
|
69
69
|
}
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
async function loadParticlesAttractInteraction(engine) {
|
|
96
|
-
engine.checkVersion("4.
|
|
96
|
+
engine.checkVersion("4.1.1");
|
|
97
97
|
await engine.pluginManager.register((e) => {
|
|
98
98
|
pluginInteractivity.ensureInteractivityPluginLoaded(e);
|
|
99
99
|
e.pluginManager.addInteractor?.("particlesAttract", container => {
|
|
@@ -1 +1 @@
|
|
|
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.interactions=t.__tsParticlesInternals.interactions||{},t.__tsParticlesInternals.interactions.particlesAttract=t.__tsParticlesInternals.interactions.particlesAttract||{}),t.__tsParticlesInternals.plugins.interactivity,t.__tsParticlesInternals.engine)}(this,function(t,s,e){"use strict";class a{distance;enable;rotate;constructor(){this.distance=200,this.enable=!1,this.rotate={x:3e3,y:3e3}}load(t){if(!e.isNull(t)&&(void 0!==t.distance&&(this.distance=e.setRangeValue(t.distance)),void 0!==t.enable&&(this.enable=t.enable),t.rotate)){const s=t.rotate.x;void 0!==s&&(this.rotate.x=s);const e=t.rotate.y;void 0!==e&&(this.rotate.y=e)}}}class n extends s.ParticlesInteractorBase{
|
|
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.interactions=t.__tsParticlesInternals.interactions||{},t.__tsParticlesInternals.interactions.particlesAttract=t.__tsParticlesInternals.interactions.particlesAttract||{}),t.__tsParticlesInternals.plugins.interactivity,t.__tsParticlesInternals.engine)}(this,function(t,s,e){"use strict";class a{distance;enable;rotate;constructor(){this.distance=200,this.enable=!1,this.rotate={x:3e3,y:3e3}}load(t){if(!e.isNull(t)&&(void 0!==t.distance&&(this.distance=e.setRangeValue(t.distance)),void 0!==t.enable&&(this.enable=t.enable),t.rotate)){const s=t.rotate.x;void 0!==s&&(this.rotate.x=s);const e=t.rotate.y;void 0!==e&&(this.rotate.y=e)}}}class n extends s.ParticlesInteractorBase{#t;constructor(t){super(t),this.#t=0}get maxDistance(){return this.#t}clear(){}init(){}interact(t){if(!t.options.attract?.enable)return;const s=this.container;if(e.isNull(t.attractDistance)){const a=e.getRangeValue(t.options.attract.distance);a>this.#t&&(this.#t=a),t.attractDistance=a*s.retina.pixelRatio}const a=t.attractDistance,n=t.getPosition(),r=s.particles.grid.queryCircle(n,a);for(const s of r){if(t===s||!s.options.attract?.enable||s.destroyed||s.spawning)continue;const a=s.getPosition(),{dx:r,dy:i}=e.getDistances(n,a),l=t.options.attract.rotate,c=r/(1e3*l.x),_=i/(1e3*l.y),o=s.size.value/t.size.value,P=1/o;t.velocity.x-=c*o,t.velocity.y-=_*o,s.velocity.x+=c*P,s.velocity.y+=_*P}}isEnabled(t){return t.options.attract?.enable??!1}loadParticlesOptions(t,...s){t.attract??=new a;for(const e of s)t.attract.load(e?.attract)}reset(){}}async function r(t){t.checkVersion("4.1.1"),await t.pluginManager.register(t=>{s.ensureInteractivityPluginLoaded(t),t.pluginManager.addInteractor?.("particlesAttract",t=>Promise.resolve(new n(t)))})}const i=globalThis;i.__tsParticlesInternals=i.__tsParticlesInternals??{},i.loadParticlesAttractInteraction=r,t.loadParticlesAttractInteraction=r}),Object.assign(globalThis.window||globalThis,{loadParticlesAttractInteraction:(globalThis.__tsParticlesInternals.interactions.particlesAttract||{}).loadParticlesAttractInteraction}),delete(globalThis.window||globalThis).tsparticlesInternalExports;
|
package/types/Attractor.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { AttractParticle, IParticlesAttractOptions, ParticlesAttractOptions
|
|
|
2
2
|
import { type Container, type RecursivePartial } from "@tsparticles/engine";
|
|
3
3
|
import { ParticlesInteractorBase } from "@tsparticles/plugin-interactivity";
|
|
4
4
|
export declare class Attractor extends ParticlesInteractorBase<Container, AttractParticle> {
|
|
5
|
-
private
|
|
5
|
+
#private;
|
|
6
6
|
constructor(container: Container);
|
|
7
7
|
get maxDistance(): number;
|
|
8
8
|
clear(): void;
|