@tsparticles/interaction-external-attract 3.4.0 → 3.6.0-beta.0
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/cjs/Utils.js +2 -3
- package/cjs/index.js +1 -2
- package/package.json +2 -2
- package/report.html +1 -1
- package/tsparticles.interaction.external.attract.js +1 -1
- package/tsparticles.interaction.external.attract.min.js +1 -1
- package/tsparticles.interaction.external.attract.min.js.LICENSE.txt +1 -1
- package/umd/Utils.js +2 -3
- package/umd/index.js +1 -2
package/cjs/Utils.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.clickAttract = clickAttract;
|
|
4
|
+
exports.hoverAttract = hoverAttract;
|
|
4
5
|
const engine_1 = require("@tsparticles/engine");
|
|
5
6
|
const minFactor = 1, identity = 1, minRadius = 0;
|
|
6
7
|
function processAttract(container, position, attractRadius, area, queryCb) {
|
|
@@ -39,7 +40,6 @@ function clickAttract(container, enabledCb) {
|
|
|
39
40
|
attract.particles = [];
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
|
-
exports.clickAttract = clickAttract;
|
|
43
43
|
function hoverAttract(container, enabledCb) {
|
|
44
44
|
const mousePos = container.interactivity.mouse.position, attractRadius = container.retina.attractModeDistance;
|
|
45
45
|
if (!attractRadius || attractRadius < minRadius || !mousePos) {
|
|
@@ -47,4 +47,3 @@ function hoverAttract(container, enabledCb) {
|
|
|
47
47
|
}
|
|
48
48
|
processAttract(container, mousePos, attractRadius, new engine_1.Circle(mousePos.x, mousePos.y, attractRadius), (p) => enabledCb(p));
|
|
49
49
|
}
|
|
50
|
-
exports.hoverAttract = hoverAttract;
|
package/cjs/index.js
CHANGED
|
@@ -14,13 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.loadExternalAttractInteraction =
|
|
17
|
+
exports.loadExternalAttractInteraction = loadExternalAttractInteraction;
|
|
18
18
|
const Attractor_js_1 = require("./Attractor.js");
|
|
19
19
|
async function loadExternalAttractInteraction(engine, refresh = true) {
|
|
20
20
|
await engine.addInteractor("externalAttract", container => {
|
|
21
21
|
return Promise.resolve(new Attractor_js_1.Attractor(engine, container));
|
|
22
22
|
}, refresh);
|
|
23
23
|
}
|
|
24
|
-
exports.loadExternalAttractInteraction = loadExternalAttractInteraction;
|
|
25
24
|
__exportStar(require("./Options/Classes/Attract.js"), exports);
|
|
26
25
|
__exportStar(require("./Options/Interfaces/IAttract.js"), exports);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsparticles/interaction-external-attract",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.6.0-beta.0",
|
|
4
4
|
"description": "tsParticles attract external interaction",
|
|
5
5
|
"homepage": "https://particles.js.org",
|
|
6
6
|
"repository": {
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"./package.json": "./package.json"
|
|
88
88
|
},
|
|
89
89
|
"dependencies": {
|
|
90
|
-
"@tsparticles/engine": "^3.
|
|
90
|
+
"@tsparticles/engine": "^3.6.0-beta.0"
|
|
91
91
|
},
|
|
92
92
|
"publishConfig": {
|
|
93
93
|
"access": "public"
|
package/report.html
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8"/>
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
6
|
-
<title>@tsparticles/interaction-external-attract [
|
|
6
|
+
<title>@tsparticles/interaction-external-attract [7 Oct 2024 at 10:31]</title>
|
|
7
7
|
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
|
|
8
8
|
|
|
9
9
|
<script>
|
|
@@ -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
|
-
* v3.
|
|
7
|
+
* v3.6.0-beta.0
|
|
8
8
|
*/
|
|
9
9
|
/*
|
|
10
10
|
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see tsparticles.interaction.external.attract.min.js.LICENSE.txt */
|
|
2
|
-
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],e);else{var i="object"==typeof exports?e(require("@tsparticles/engine")):e(t.window);for(var a in i)("object"==typeof exports?exports:t)[a]=i[a]}}(this,(t=>(()=>{var e={303:e=>{e.exports=t}},i={};function a(t){var n=i[t];if(void 0!==n)return n.exports;var o=i[t]={exports:{}};return e[t](o,o.exports,a),o.exports}a.d=(t,e)=>{for(var i in e)a.o(e,i)&&!a.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),a.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};
|
|
2
|
+
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],e);else{var i="object"==typeof exports?e(require("@tsparticles/engine")):e(t.window);for(var a in i)("object"==typeof exports?exports:t)[a]=i[a]}}(this,(t=>(()=>{var e={303:e=>{e.exports=t}},i={};function a(t){var n=i[t];if(void 0!==n)return n.exports;var o=i[t]={exports:{}};return e[t](o,o.exports,a),o.exports}a.d=(t,e)=>{for(var i in e)a.o(e,i)&&!a.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),a.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};a.r(n),a.d(n,{Attract:()=>d,loadExternalAttractInteraction:()=>u});var o=a(303);const r=1,c=1;function s(t,e,i,a,n){const s=t.actualOptions.interactivity.modes.attract;if(!s)return;const d=t.particles.quadTree.query(a,n);for(const t of d){const{dx:a,dy:n,distance:d}=(0,o.getDistances)(t.position,e),l=s.speed*s.factor,p=(0,o.clamp)((0,o.getEasing)(s.easing)(c-d/i)*l,r,s.maxSpeed),u=o.Vector.create(d?a/d*p:l,d?n/d*p:l);t.position.subFrom(u)}}class d{constructor(){this.distance=200,this.duration=.4,this.easing=o.EasingType.easeOutQuad,this.factor=1,this.maxSpeed=50,this.speed=1}load(t){t&&(void 0!==t.distance&&(this.distance=t.distance),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.easing&&(this.easing=t.easing),void 0!==t.factor&&(this.factor=t.factor),void 0!==t.maxSpeed&&(this.maxSpeed=t.maxSpeed),void 0!==t.speed&&(this.speed=t.speed))}}const l="attract";class p extends o.ExternalInteractorBase{constructor(t,e){super(e),this._engine=t,e.attract||(e.attract={particles:[]}),this.handleClickMode=t=>{const i=this.container.actualOptions.interactivity.modes.attract;if(i&&t===l){e.attract||(e.attract={particles:[]}),e.attract.clicking=!0,e.attract.count=0;for(const t of e.attract.particles)this.isEnabled(t)&&t.velocity.setTo(t.initialVelocity);e.attract.particles=[],e.attract.finish=!1,setTimeout((()=>{e.destroyed||(e.attract||(e.attract={particles:[]}),e.attract.clicking=!1)}),i.duration*o.millisecondsToSeconds)}}}clear(){}init(){const t=this.container,e=t.actualOptions.interactivity.modes.attract;e&&(t.retina.attractModeDistance=e.distance*t.retina.pixelRatio)}interact(){const t=this.container,e=t.actualOptions,i=t.interactivity.status===o.mouseMoveEvent,a=e.interactivity.events,{enable:n,mode:r}=a.onHover,{enable:c,mode:d}=a.onClick;i&&n&&(0,o.isInArray)(l,r)?function(t,e){const i=t.interactivity.mouse.position,a=t.retina.attractModeDistance;!a||a<0||!i||s(t,i,a,new o.Circle(i.x,i.y,a),(t=>e(t)))}(this.container,(t=>this.isEnabled(t))):c&&(0,o.isInArray)(l,d)&&function(t,e){t.attract||(t.attract={particles:[]});const{attract:i}=t;if(i.finish||(i.count||(i.count=0),i.count++,i.count===t.particles.count&&(i.finish=!0)),i.clicking){const i=t.interactivity.mouse.clickPosition,a=t.retina.attractModeDistance;if(!a||a<0||!i)return;s(t,i,a,new o.Circle(i.x,i.y,a),(t=>e(t)))}else!1===i.clicking&&(i.particles=[])}(this.container,(t=>this.isEnabled(t)))}isEnabled(t){const e=this.container,i=e.actualOptions,a=e.interactivity.mouse,n=(t?.interactivity??i.interactivity).events;if(!(a.position&&n.onHover.enable||a.clickPosition&&n.onClick.enable))return!1;const r=n.onHover.mode,c=n.onClick.mode;return(0,o.isInArray)(l,r)||(0,o.isInArray)(l,c)}loadModeOptions(t,...e){t.attract||(t.attract=new d);for(const i of e)t.attract.load(i?.attract)}reset(){}}async function u(t,e=!0){await t.addInteractor("externalAttract",(e=>Promise.resolve(new p(t,e))),e)}return n})()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tsParticles Attract External Interaction v3.
|
|
1
|
+
/*! tsParticles Attract External Interaction v3.6.0-beta.0 by Matteo Bruni */
|
package/umd/Utils.js
CHANGED
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.clickAttract = clickAttract;
|
|
13
|
+
exports.hoverAttract = hoverAttract;
|
|
13
14
|
const engine_1 = require("@tsparticles/engine");
|
|
14
15
|
const minFactor = 1, identity = 1, minRadius = 0;
|
|
15
16
|
function processAttract(container, position, attractRadius, area, queryCb) {
|
|
@@ -48,7 +49,6 @@
|
|
|
48
49
|
attract.particles = [];
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
|
-
exports.clickAttract = clickAttract;
|
|
52
52
|
function hoverAttract(container, enabledCb) {
|
|
53
53
|
const mousePos = container.interactivity.mouse.position, attractRadius = container.retina.attractModeDistance;
|
|
54
54
|
if (!attractRadius || attractRadius < minRadius || !mousePos) {
|
|
@@ -56,5 +56,4 @@
|
|
|
56
56
|
}
|
|
57
57
|
processAttract(container, mousePos, attractRadius, new engine_1.Circle(mousePos.x, mousePos.y, attractRadius), (p) => enabledCb(p));
|
|
58
58
|
}
|
|
59
|
-
exports.hoverAttract = hoverAttract;
|
|
60
59
|
});
|
package/umd/index.js
CHANGED
|
@@ -23,14 +23,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
23
23
|
})(function (require, exports) {
|
|
24
24
|
"use strict";
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.loadExternalAttractInteraction =
|
|
26
|
+
exports.loadExternalAttractInteraction = loadExternalAttractInteraction;
|
|
27
27
|
const Attractor_js_1 = require("./Attractor.js");
|
|
28
28
|
async function loadExternalAttractInteraction(engine, refresh = true) {
|
|
29
29
|
await engine.addInteractor("externalAttract", container => {
|
|
30
30
|
return Promise.resolve(new Attractor_js_1.Attractor(engine, container));
|
|
31
31
|
}, refresh);
|
|
32
32
|
}
|
|
33
|
-
exports.loadExternalAttractInteraction = loadExternalAttractInteraction;
|
|
34
33
|
__exportStar(require("./Options/Classes/Attract.js"), exports);
|
|
35
34
|
__exportStar(require("./Options/Interfaces/IAttract.js"), exports);
|
|
36
35
|
});
|