@tsparticles/interaction-external-attract 4.0.0-alpha.26 → 4.0.0-alpha.27
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/141.min.js +1 -0
- package/browser/index.js +1 -1
- package/cjs/index.js +1 -1
- package/dist_browser_Attractor_js.js +1 -1
- package/esm/index.js +1 -1
- package/package.json +3 -3
- package/report.html +1 -1
- package/tsparticles.interaction.external.attract.js +8 -8
- package/tsparticles.interaction.external.attract.min.js +2 -2
- package/umd/index.js +1 -1
- package/35.min.js +0 -1
package/141.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_interaction_external_attract=this.webpackChunk_tsparticles_interaction_external_attract||[]).push([[141],{141(t,e,i){i.d(e,{Attractor:()=>l});var a=i(303),n=i(702);let c=a.Vector.origin;function r(t,e,i,n,r,s){let o=e.actualOptions.interactivity?.modes.attract;if(o)for(let l of e.particles.grid.query(r,s)){let{dx:e,dy:r,distance:s}=(0,a.getDistances)(l.position,i),d=o.speed*o.factor,u=(0,a.clamp)(t.getEasing(o.easing)(a.identity-s/n)*d,1,o.maxSpeed);c.x=s?e/s*u:d,c.y=s?r/s*u:d,l.position.subFrom(c)}}var s=i(216);let o="attract";class l extends n.ExternalInteractorBase{handleClickMode;_engine;_maxDistance;constructor(t,e){super(e),this._engine=t,this._maxDistance=0,e.attract??={particles:[]},this.handleClickMode=(t,i)=>{let n=this.container.actualOptions,c=n.interactivity?.modes.attract;if(c&&t===o){for(let t of(e.attract??={particles:[]},e.attract.clicking=!0,e.attract.count=0,e.attract.particles))this.isEnabled(i,t)&&t.velocity.setTo(t.initialVelocity);e.attract.particles=[],e.attract.finish=!1,setTimeout(()=>{e.destroyed||(e.attract??={particles:[]},e.attract.clicking=!1)},c.duration*a.millisecondsToSeconds)}}}get maxDistance(){return this._maxDistance}clear(){}init(){let t=this.container,e=t.actualOptions.interactivity?.modes.attract;e&&(this._maxDistance=e.distance,t.retina.attractModeDistance=e.distance*t.retina.pixelRatio)}interact(t){let e=this.container.actualOptions,i=t.status===n.mouseMoveEvent,c=e.interactivity?.events;if(!c)return;let{enable:s,mode:l}=c.onHover,{enable:d,mode:u}=c.onClick;if(i&&s&&(0,a.isInArray)(o,l)){var p,h,m;let e,i;p=this._engine,h=this.container,m=e=>this.isEnabled(t,e),e=t.mouse.position,(i=h.retina.attractModeDistance)&&!(i<0)&&e&&r(p,h,e,i,new a.Circle(e.x,e.y,i),t=>m(t))}else d&&(0,a.isInArray)(o,u)&&function(t,e,i,n){e.attract??={particles:[]};let{attract:c}=e;if(c.finish||(c.count??=0,c.count++,c.count===e.particles.count&&(c.finish=!0)),c.clicking){let c=i.mouse.clickPosition,s=e.retina.attractModeDistance;if(!s||s<0||!c)return;r(t,e,c,s,new a.Circle(c.x,c.y,s),t=>n(t))}else!1===c.clicking&&(c.particles=[])}(this._engine,this.container,t,e=>this.isEnabled(t,e))}isEnabled(t,e){let i=this.container.actualOptions,n=t.mouse,c=(e?.interactivity??i.interactivity)?.events;if((!n.position||!c?.onHover.enable)&&(!n.clickPosition||!c?.onClick.enable))return!1;let r=c.onHover.mode,s=c.onClick.mode;return(0,a.isInArray)(o,r)||(0,a.isInArray)(o,s)}loadModeOptions(t,...e){for(let i of(t.attract??=new s.K,e))t.attract.load(i?.attract)}reset(){}}}}]);
|
package/browser/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export async function loadExternalAttractInteraction(engine) {
|
|
2
|
-
engine.checkVersion("4.0.0-alpha.
|
|
2
|
+
engine.checkVersion("4.0.0-alpha.27");
|
|
3
3
|
await engine.register(async (e) => {
|
|
4
4
|
const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity");
|
|
5
5
|
ensureInteractivityPluginLoaded(e);
|
package/cjs/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export async function loadExternalAttractInteraction(engine) {
|
|
2
|
-
engine.checkVersion("4.0.0-alpha.
|
|
2
|
+
engine.checkVersion("4.0.0-alpha.27");
|
|
3
3
|
await engine.register(async (e) => {
|
|
4
4
|
const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity");
|
|
5
5
|
ensureInteractivityPluginLoaded(e);
|
package/esm/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export async function loadExternalAttractInteraction(engine) {
|
|
2
|
-
engine.checkVersion("4.0.0-alpha.
|
|
2
|
+
engine.checkVersion("4.0.0-alpha.27");
|
|
3
3
|
await engine.register(async (e) => {
|
|
4
4
|
const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity");
|
|
5
5
|
ensureInteractivityPluginLoaded(e);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsparticles/interaction-external-attract",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
3
|
+
"version": "4.0.0-alpha.27",
|
|
4
4
|
"description": "tsParticles attract external interaction",
|
|
5
5
|
"homepage": "https://particles.js.org",
|
|
6
6
|
"repository": {
|
|
@@ -87,8 +87,8 @@
|
|
|
87
87
|
"./package.json": "./package.json"
|
|
88
88
|
},
|
|
89
89
|
"dependencies": {
|
|
90
|
-
"@tsparticles/engine": "4.0.0-alpha.
|
|
91
|
-
"@tsparticles/plugin-interactivity": "4.0.0-alpha.
|
|
90
|
+
"@tsparticles/engine": "4.0.0-alpha.27",
|
|
91
|
+
"@tsparticles/plugin-interactivity": "4.0.0-alpha.27"
|
|
92
92
|
},
|
|
93
93
|
"publishConfig": {
|
|
94
94
|
"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 [9 Mar 2026 at 17:23]</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
|
-
* v4.0.0-alpha.
|
|
7
|
+
* v4.0.0-alpha.27
|
|
8
8
|
*/
|
|
9
9
|
/*
|
|
10
10
|
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
@@ -64,7 +64,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
64
64
|
\*******************************/
|
|
65
65
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
66
66
|
|
|
67
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Attract: () => (/* reexport safe */ _Options_Classes_Attract_js__WEBPACK_IMPORTED_MODULE_0__.Attract),\n/* harmony export */ loadExternalAttractInteraction: () => (/* binding */ loadExternalAttractInteraction)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_Attract_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/Attract.js */ \"./dist/browser/Options/Classes/Attract.js\");\nasync function loadExternalAttractInteraction(engine) {\n engine.checkVersion(\"4.0.0-alpha.
|
|
67
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Attract: () => (/* reexport safe */ _Options_Classes_Attract_js__WEBPACK_IMPORTED_MODULE_0__.Attract),\n/* harmony export */ loadExternalAttractInteraction: () => (/* binding */ loadExternalAttractInteraction)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_Attract_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/Attract.js */ \"./dist/browser/Options/Classes/Attract.js\");\nasync function loadExternalAttractInteraction(engine) {\n engine.checkVersion(\"4.0.0-alpha.27\");\n await engine.register(async (e)=>{\n const { ensureInteractivityPluginLoaded } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"@tsparticles/plugin-interactivity\", 19));\n ensureInteractivityPluginLoaded(e);\n e.addInteractor?.(\"externalAttract\", async (container)=>{\n const { Attractor } = await __webpack_require__.e(/*! import() */ \"dist_browser_Attractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Attractor.js */ \"./dist/browser/Attractor.js\"));\n return new Attractor(e, container);\n });\n });\n}\n\n\n\n//# sourceURL=webpack://@tsparticles/interaction-external-attract/./dist/browser/index.js?\n}");
|
|
68
68
|
|
|
69
69
|
/***/ }
|
|
70
70
|
|
|
@@ -80,12 +80,6 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
80
80
|
/******/ if (cachedModule !== undefined) {
|
|
81
81
|
/******/ return cachedModule.exports;
|
|
82
82
|
/******/ }
|
|
83
|
-
/******/ // Check if module exists (development only)
|
|
84
|
-
/******/ if (__webpack_modules__[moduleId] === undefined) {
|
|
85
|
-
/******/ var e = new Error("Cannot find module '" + moduleId + "'");
|
|
86
|
-
/******/ e.code = 'MODULE_NOT_FOUND';
|
|
87
|
-
/******/ throw e;
|
|
88
|
-
/******/ }
|
|
89
83
|
/******/ // Create a new module (and put it into the cache)
|
|
90
84
|
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
91
85
|
/******/ // no module.id needed
|
|
@@ -94,6 +88,12 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
94
88
|
/******/ };
|
|
95
89
|
/******/
|
|
96
90
|
/******/ // Execute the module function
|
|
91
|
+
/******/ if (!(moduleId in __webpack_modules__)) {
|
|
92
|
+
/******/ delete __webpack_module_cache__[moduleId];
|
|
93
|
+
/******/ var e = new Error("Cannot find module '" + moduleId + "'");
|
|
94
|
+
/******/ e.code = 'MODULE_NOT_FOUND';
|
|
95
|
+
/******/ throw e;
|
|
96
|
+
/******/ }
|
|
97
97
|
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
98
98
|
/******/
|
|
99
99
|
/******/ // Return the exports of the module
|
|
@@ -1,2 +1,2 @@
|
|
|
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 i in r)("object"==typeof exports?exports:e)[i]=r[i]}}(this,(e,t)=>(()=>{"use strict";var r,i,a,o={303(t){t.exports=e},702(e){e.exports=t},
|
|
2
|
-
(`+a+": "+o+")",n.name="ChunkLoadError",n.type=a,n.request=o,i[1](n)}},"chunk-"+e,e)}},i=(e,t)=>{var i,a,[o,n,c]=t,p=0;if(o.some(e=>0!==r[e])){for(i in n)s.o(n,i)&&(s.m[i]=n[i]);c&&c(s)}for(e&&e(t);p<o.length;p++)a=o[p],s.o(r,a)&&r[a]&&r[a][0](),r[a]=0},(a=this.webpackChunk_tsparticles_interaction_external_attract=this.webpackChunk_tsparticles_interaction_external_attract||[]).forEach(i.bind(null,0)),a.push=i.bind(null,a.push.bind(a));var b={};s.r(b),s.d(b,{Attract:()=>g.K,loadExternalAttractInteraction:()=>v});var g=s(
|
|
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 i in r)("object"==typeof exports?exports:e)[i]=r[i]}}(this,(e,t)=>(()=>{"use strict";var r,i,a,o={303(t){t.exports=e},702(e){e.exports=t},216(e,t,r){r.d(t,{K:()=>a});var i=r(303);class a{distance;duration;easing;factor;maxSpeed;speed;constructor(){this.distance=200,this.duration=.4,this.easing=i.EasingType.easeOutQuad,this.factor=1,this.maxSpeed=50,this.speed=1}load(e){(0,i.isNull)(e)||(void 0!==e.distance&&(this.distance=e.distance),void 0!==e.duration&&(this.duration=e.duration),void 0!==e.easing&&(this.easing=e.easing),void 0!==e.factor&&(this.factor=e.factor),void 0!==e.maxSpeed&&(this.maxSpeed=e.maxSpeed),void 0!==e.speed&&(this.speed=e.speed))}}}},n={};function s(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={exports:{}};return o[e](r,r.exports,s),r.exports}s.m=o,p=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 i={};c=c||[null,p({}),p([]),p(p)];for(var a=2&t&&e;("object"==typeof a||"function"==typeof a)&&!~c.indexOf(a);a=p(a))Object.getOwnPropertyNames(a).forEach(t=>i[t]=()=>e[t]);return i.default=()=>e,s.d(r,i),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),l={},s.l=(e,t,r,i)=>{if(l[e])return void l[e].push(t);if(void 0!==r)for(var a,o,n=document.getElementsByTagName("script"),c=0;c<n.length;c++){var p=n[c];if(p.getAttribute("src")==e||p.getAttribute("data-webpack")=="@tsparticles/interaction-external-attract:"+r){a=p;break}}a||(o=!0,(a=document.createElement("script")).charset="utf-8",s.nc&&a.setAttribute("nonce",s.nc),a.setAttribute("data-webpack","@tsparticles/interaction-external-attract:"+r),a.src=e),l[e]=[t];var d=(t,r)=>{a.onerror=a.onload=null,clearTimeout(u);var i=l[e];if(delete l[e],a.parentNode&&a.parentNode.removeChild(a),i&&i.forEach(e=>e(r)),t)return t(r)},u=setTimeout(d.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),o&&document.head.appendChild(a)},s.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.g.importScripts&&(d=s.g.location+"");var c,p,l,d,u=s.g.document;if(!d&&u&&(u.currentScript&&"SCRIPT"===u.currentScript.tagName.toUpperCase()&&(d=u.currentScript.src),!d)){var f=u.getElementsByTagName("script");if(f.length)for(var h=f.length-1;h>-1&&(!d||!/^http(s?):/.test(d));)d=f[h--].src}if(!d)throw Error("Automatic publicPath is not supported in this browser");s.p=d=d.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r={261:0},s.f.j=(e,t)=>{var i=s.o(r,e)?r[e]:void 0;if(0!==i)if(i)t.push(i[2]);else{var a=new Promise((t,a)=>i=r[e]=[t,a]);t.push(i[2]=a);var o=s.p+s.u(e),n=Error();s.l(o,t=>{if(s.o(r,e)&&(0!==(i=r[e])&&(r[e]=void 0),i)){var a=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;n.message="Loading chunk "+e+` failed.
|
|
2
|
+
(`+a+": "+o+")",n.name="ChunkLoadError",n.type=a,n.request=o,i[1](n)}},"chunk-"+e,e)}},i=(e,t)=>{var i,a,[o,n,c]=t,p=0;if(o.some(e=>0!==r[e])){for(i in n)s.o(n,i)&&(s.m[i]=n[i]);c&&c(s)}for(e&&e(t);p<o.length;p++)a=o[p],s.o(r,a)&&r[a]&&r[a][0](),r[a]=0},(a=this.webpackChunk_tsparticles_interaction_external_attract=this.webpackChunk_tsparticles_interaction_external_attract||[]).forEach(i.bind(null,0)),a.push=i.bind(null,a.push.bind(a));var b={};s.r(b),s.d(b,{Attract:()=>g.K,loadExternalAttractInteraction:()=>v});var g=s(216);async function v(e){e.checkVersion("4.0.0-alpha.27"),await e.register(async e=>{let{ensureInteractivityPluginLoaded:t}=await Promise.resolve().then(s.t.bind(s,702,19));t(e),e.addInteractor?.("externalAttract",async t=>{let{Attractor:r}=await s.e(141).then(s.bind(s,141));return new r(e,t)})})}return b})());
|
package/umd/index.js
CHANGED
|
@@ -48,7 +48,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
48
48
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
49
|
exports.loadExternalAttractInteraction = loadExternalAttractInteraction;
|
|
50
50
|
async function loadExternalAttractInteraction(engine) {
|
|
51
|
-
engine.checkVersion("4.0.0-alpha.
|
|
51
|
+
engine.checkVersion("4.0.0-alpha.27");
|
|
52
52
|
await engine.register(async (e) => {
|
|
53
53
|
const { ensureInteractivityPluginLoaded } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/plugin-interactivity"))) : new Promise((resolve_1, reject_1) => { require(["@tsparticles/plugin-interactivity"], resolve_1, reject_1); }).then(__importStar));
|
|
54
54
|
ensureInteractivityPluginLoaded(e);
|
package/35.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_interaction_external_attract=this.webpackChunk_tsparticles_interaction_external_attract||[]).push([[35],{35(t,e,i){i.d(e,{Attractor:()=>l});var a=i(303),n=i(702);let c=a.Vector.origin;function r(t,e,i,n,r,s){let o=e.actualOptions.interactivity?.modes.attract;if(o)for(let l of e.particles.grid.query(r,s)){let{dx:e,dy:r,distance:s}=(0,a.getDistances)(l.position,i),d=o.speed*o.factor,u=(0,a.clamp)(t.getEasing(o.easing)(a.identity-s/n)*d,1,o.maxSpeed);c.x=s?e/s*u:d,c.y=s?r/s*u:d,l.position.subFrom(c)}}var s=i(637);let o="attract";class l extends n.ExternalInteractorBase{handleClickMode;_engine;_maxDistance;constructor(t,e){super(e),this._engine=t,this._maxDistance=0,e.attract??={particles:[]},this.handleClickMode=(t,i)=>{let n=this.container.actualOptions,c=n.interactivity?.modes.attract;if(c&&t===o){for(let t of(e.attract??={particles:[]},e.attract.clicking=!0,e.attract.count=0,e.attract.particles))this.isEnabled(i,t)&&t.velocity.setTo(t.initialVelocity);e.attract.particles=[],e.attract.finish=!1,setTimeout(()=>{e.destroyed||(e.attract??={particles:[]},e.attract.clicking=!1)},c.duration*a.millisecondsToSeconds)}}}get maxDistance(){return this._maxDistance}clear(){}init(){let t=this.container,e=t.actualOptions.interactivity?.modes.attract;e&&(this._maxDistance=e.distance,t.retina.attractModeDistance=e.distance*t.retina.pixelRatio)}interact(t){let e=this.container.actualOptions,i=t.status===n.mouseMoveEvent,c=e.interactivity?.events;if(!c)return;let{enable:s,mode:l}=c.onHover,{enable:d,mode:u}=c.onClick;if(i&&s&&(0,a.isInArray)(o,l)){var p,h,m;let e,i;p=this._engine,h=this.container,m=e=>this.isEnabled(t,e),e=t.mouse.position,(i=h.retina.attractModeDistance)&&!(i<0)&&e&&r(p,h,e,i,new a.Circle(e.x,e.y,i),t=>m(t))}else d&&(0,a.isInArray)(o,u)&&function(t,e,i,n){e.attract??={particles:[]};let{attract:c}=e;if(c.finish||(c.count??=0,c.count++,c.count===e.particles.count&&(c.finish=!0)),c.clicking){let c=i.mouse.clickPosition,s=e.retina.attractModeDistance;if(!s||s<0||!c)return;r(t,e,c,s,new a.Circle(c.x,c.y,s),t=>n(t))}else!1===c.clicking&&(c.particles=[])}(this._engine,this.container,t,e=>this.isEnabled(t,e))}isEnabled(t,e){let i=this.container.actualOptions,n=t.mouse,c=(e?.interactivity??i.interactivity)?.events;if((!n.position||!c?.onHover.enable)&&(!n.clickPosition||!c?.onClick.enable))return!1;let r=c.onHover.mode,s=c.onClick.mode;return(0,a.isInArray)(o,r)||(0,a.isInArray)(o,s)}loadModeOptions(t,...e){for(let i of(t.attract??=new s.K,e))t.attract.load(i?.attract)}reset(){}}}}]);
|