@tsparticles/interaction-external-repulse
Advanced tools
Comparing version 3.6.0-beta.1 to 3.6.0
@@ -1,2 +0,2 @@ | ||
import { executeOnSingleOrMultiple, } from "@tsparticles/engine"; | ||
import { executeOnSingleOrMultiple, isNull, } from "@tsparticles/engine"; | ||
import { RepulseBase } from "./RepulseBase.js"; | ||
@@ -7,3 +7,3 @@ import { RepulseDiv } from "./RepulseDiv.js"; | ||
super.load(data); | ||
if (!data) { | ||
if (isNull(data)) { | ||
return; | ||
@@ -10,0 +10,0 @@ } |
@@ -1,2 +0,2 @@ | ||
import { EasingType } from "@tsparticles/engine"; | ||
import { EasingType, isNull } from "@tsparticles/engine"; | ||
export class RepulseBase { | ||
@@ -12,3 +12,3 @@ constructor() { | ||
load(data) { | ||
if (!data) { | ||
if (isNull(data)) { | ||
return; | ||
@@ -15,0 +15,0 @@ } |
@@ -0,1 +1,2 @@ | ||
import { isNull } from "@tsparticles/engine"; | ||
import { RepulseBase } from "./RepulseBase.js"; | ||
@@ -9,3 +10,3 @@ export class RepulseDiv extends RepulseBase { | ||
super.load(data); | ||
if (!data) { | ||
if (isNull(data)) { | ||
return; | ||
@@ -12,0 +13,0 @@ } |
@@ -10,3 +10,3 @@ "use strict"; | ||
super.load(data); | ||
if (!data) { | ||
if ((0, engine_1.isNull)(data)) { | ||
return; | ||
@@ -13,0 +13,0 @@ } |
@@ -15,3 +15,3 @@ "use strict"; | ||
load(data) { | ||
if (!data) { | ||
if ((0, engine_1.isNull)(data)) { | ||
return; | ||
@@ -18,0 +18,0 @@ } |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.RepulseDiv = void 0; | ||
const engine_1 = require("@tsparticles/engine"); | ||
const RepulseBase_js_1 = require("./RepulseBase.js"); | ||
@@ -12,3 +13,3 @@ class RepulseDiv extends RepulseBase_js_1.RepulseBase { | ||
super.load(data); | ||
if (!data) { | ||
if ((0, engine_1.isNull)(data)) { | ||
return; | ||
@@ -15,0 +16,0 @@ } |
@@ -1,2 +0,2 @@ | ||
import { executeOnSingleOrMultiple, } from "@tsparticles/engine"; | ||
import { executeOnSingleOrMultiple, isNull, } from "@tsparticles/engine"; | ||
import { RepulseBase } from "./RepulseBase.js"; | ||
@@ -7,3 +7,3 @@ import { RepulseDiv } from "./RepulseDiv.js"; | ||
super.load(data); | ||
if (!data) { | ||
if (isNull(data)) { | ||
return; | ||
@@ -10,0 +10,0 @@ } |
@@ -1,2 +0,2 @@ | ||
import { EasingType } from "@tsparticles/engine"; | ||
import { EasingType, isNull } from "@tsparticles/engine"; | ||
export class RepulseBase { | ||
@@ -12,3 +12,3 @@ constructor() { | ||
load(data) { | ||
if (!data) { | ||
if (isNull(data)) { | ||
return; | ||
@@ -15,0 +15,0 @@ } |
@@ -0,1 +1,2 @@ | ||
import { isNull } from "@tsparticles/engine"; | ||
import { RepulseBase } from "./RepulseBase.js"; | ||
@@ -9,3 +10,3 @@ export class RepulseDiv extends RepulseBase { | ||
super.load(data); | ||
if (!data) { | ||
if (isNull(data)) { | ||
return; | ||
@@ -12,0 +13,0 @@ } |
{ | ||
"name": "@tsparticles/interaction-external-repulse", | ||
"version": "3.6.0-beta.1", | ||
"version": "3.6.0", | ||
"description": "tsParticles repulse external interaction", | ||
@@ -90,3 +90,3 @@ "homepage": "https://particles.js.org", | ||
"dependencies": { | ||
"@tsparticles/engine": "^3.6.0-beta.1" | ||
"@tsparticles/engine": "^3.6.0" | ||
}, | ||
@@ -93,0 +93,0 @@ "publishConfig": { |
@@ -7,3 +7,3 @@ /*! | ||
* How to use? : Check the GitHub README | ||
* v3.6.0-beta.1 | ||
* v3.6.0 | ||
*/ | ||
@@ -38,3 +38,3 @@ /* | ||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Repulse: () => (/* binding */ Repulse)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _RepulseBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RepulseBase.js */ \"./dist/browser/Options/Classes/RepulseBase.js\");\n/* harmony import */ var _RepulseDiv_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./RepulseDiv.js */ \"./dist/browser/Options/Classes/RepulseDiv.js\");\n\n\n\nclass Repulse extends _RepulseBase_js__WEBPACK_IMPORTED_MODULE_1__.RepulseBase {\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n this.divs = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(data.divs, div => {\n const tmp = new _RepulseDiv_js__WEBPACK_IMPORTED_MODULE_2__.RepulseDiv();\n tmp.load(div);\n return tmp;\n });\n }\n}\n\n//# sourceURL=webpack://@tsparticles/interaction-external-repulse/./dist/browser/Options/Classes/Repulse.js?"); | ||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Repulse: () => (/* binding */ Repulse)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _RepulseBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RepulseBase.js */ \"./dist/browser/Options/Classes/RepulseBase.js\");\n/* harmony import */ var _RepulseDiv_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./RepulseDiv.js */ \"./dist/browser/Options/Classes/RepulseDiv.js\");\n\n\n\nclass Repulse extends _RepulseBase_js__WEBPACK_IMPORTED_MODULE_1__.RepulseBase {\n load(data) {\n super.load(data);\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n this.divs = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(data.divs, div => {\n const tmp = new _RepulseDiv_js__WEBPACK_IMPORTED_MODULE_2__.RepulseDiv();\n tmp.load(div);\n return tmp;\n });\n }\n}\n\n//# sourceURL=webpack://@tsparticles/interaction-external-repulse/./dist/browser/Options/Classes/Repulse.js?"); | ||
@@ -49,3 +49,3 @@ /***/ }), | ||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RepulseBase: () => (/* binding */ RepulseBase)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n\nclass RepulseBase {\n constructor() {\n this.distance = 200;\n this.duration = 0.4;\n this.factor = 100;\n this.speed = 1;\n this.maxSpeed = 50;\n this.easing = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.EasingType.easeOutQuad;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n if (data.easing !== undefined) {\n this.easing = data.easing;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n if (data.maxSpeed !== undefined) {\n this.maxSpeed = data.maxSpeed;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/interaction-external-repulse/./dist/browser/Options/Classes/RepulseBase.js?"); | ||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RepulseBase: () => (/* binding */ RepulseBase)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n\nclass RepulseBase {\n constructor() {\n this.distance = 200;\n this.duration = 0.4;\n this.factor = 100;\n this.speed = 1;\n this.maxSpeed = 50;\n this.easing = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.EasingType.easeOutQuad;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n if (data.easing !== undefined) {\n this.easing = data.easing;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n if (data.maxSpeed !== undefined) {\n this.maxSpeed = data.maxSpeed;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/interaction-external-repulse/./dist/browser/Options/Classes/RepulseBase.js?"); | ||
@@ -60,3 +60,3 @@ /***/ }), | ||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RepulseDiv: () => (/* binding */ RepulseDiv)\n/* harmony export */ });\n/* harmony import */ var _RepulseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RepulseBase.js */ \"./dist/browser/Options/Classes/RepulseBase.js\");\n\nclass RepulseDiv extends _RepulseBase_js__WEBPACK_IMPORTED_MODULE_0__.RepulseBase {\n constructor() {\n super();\n this.selectors = [];\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/interaction-external-repulse/./dist/browser/Options/Classes/RepulseDiv.js?"); | ||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RepulseDiv: () => (/* binding */ RepulseDiv)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _RepulseBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RepulseBase.js */ \"./dist/browser/Options/Classes/RepulseBase.js\");\n\n\nclass RepulseDiv extends _RepulseBase_js__WEBPACK_IMPORTED_MODULE_1__.RepulseBase {\n constructor() {\n super();\n this.selectors = [];\n }\n load(data) {\n super.load(data);\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/interaction-external-repulse/./dist/browser/Options/Classes/RepulseDiv.js?"); | ||
@@ -63,0 +63,0 @@ /***/ }), |
/*! For license information please see tsparticles.interaction.external.repulse.min.js.LICENSE.txt */ | ||
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],t);else{var i="object"==typeof exports?t(require("@tsparticles/engine")):t(e.window);for(var s in i)("object"==typeof exports?exports:e)[s]=i[s]}}(this,(e=>(()=>{var t={303:t=>{t.exports=e}},i={};function s(e){var o=i[e];if(void 0!==o)return o.exports;var n=i[e]={exports:{}};return t[e](n,n.exports,s),n.exports}s.d=(e,t)=>{for(var i in t)s.o(t,i)&&!s.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};s.r(o),s.d(o,{Repulse:()=>a,RepulseBase:()=>r,RepulseDiv:()=>c,loadExternalRepulseInteraction:()=>d});var n=s(303);class r{constructor(){this.distance=200,this.duration=.4,this.factor=100,this.speed=1,this.maxSpeed=50,this.easing=n.EasingType.easeOutQuad}load(e){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.speed&&(this.speed=e.speed),void 0!==e.maxSpeed&&(this.maxSpeed=e.maxSpeed))}}class c extends r{constructor(){super(),this.selectors=[]}load(e){super.load(e),e&&void 0!==e.selectors&&(this.selectors=e.selectors)}}class a extends r{load(e){super.load(e),e&&(this.divs=(0,n.executeOnSingleOrMultiple)(e.divs,(e=>{const t=new c;return t.load(e),t})))}}const l="repulse";class p extends n.ExternalInteractorBase{constructor(e,t){super(t),this._clickRepulse=()=>{const e=this.container,t=e.actualOptions.interactivity.modes.repulse;if(!t)return;const i=e.repulse??{particles:[]};if(i.finish||(i.count||(i.count=0),i.count++,i.count===e.particles.count&&(i.finish=!0)),i.clicking){const s=e.retina.repulseModeDistance;if(!s||s<0)return;const o=Math.pow(s/6,3),r=e.interactivity.mouse.clickPosition;if(void 0===r)return;const c=new n.Circle(r.x,r.y,o),a=e.particles.quadTree.query(c,(e=>this.isEnabled(e)));for(const e of a){const{dx:s,dy:c,distance:a}=(0,n.getDistances)(r,e.position),l=a**2,p=-o*t.speed/l;if(l<=o){i.particles.push(e);const t=n.Vector.create(s,c);t.length=p,e.velocity.setTo(t)}}}else if(!1===i.clicking){for(const e of i.particles)e.velocity.setTo(e.initialVelocity);i.particles=[]}},this._hoverRepulse=()=>{const e=this.container,t=e.interactivity.mouse.position,i=e.retina.repulseModeDistance;!i||i<0||!t||this._processRepulse(t,i,new n.Circle(t.x,t.y,i))},this._processRepulse=(e,t,i,s)=>{const o=this.container,r=o.particles.quadTree.query(i,(e=>this.isEnabled(e))),c=o.actualOptions.interactivity.modes.repulse;if(!c)return;const{easing:a,speed:l,factor:p,maxSpeed:d}=c,u=(0,n.getEasing)(a),f=(s?.speed??l)*p;for(const i of r){const{dx:s,dy:o,distance:r}=(0,n.getDistances)(i.position,e),c=(0,n.clamp)(u(1-r/t)*f,0,d),a=n.Vector.create(r?s/r*c:f,r?o/r*c:f);i.position.addTo(a)}},this._singleSelectorRepulse=(e,t)=>{const i=this.container,s=i.actualOptions.interactivity.modes.repulse;if(!s)return;const o=document.querySelectorAll(e);o.length&&o.forEach((e=>{const o=e,r=i.retina.pixelRatio,c={x:(o.offsetLeft+.5*o.offsetWidth)*r,y:(o.offsetTop+.5*o.offsetHeight)*r},a=.5*o.offsetWidth*r,l=t.type===n.DivType.circle?new n.Circle(c.x,c.y,a):new n.Rectangle(o.offsetLeft*r,o.offsetTop*r,o.offsetWidth*r,o.offsetHeight*r),p=s.divs,d=(0,n.divMode)(p,o);this._processRepulse(c,a,l,d)}))},this._engine=e,t.repulse||(t.repulse={particles:[]}),this.handleClickMode=e=>{const i=this.container.actualOptions.interactivity.modes.repulse;if(!i||e!==l)return;t.repulse||(t.repulse={particles:[]});const s=t.repulse;s.clicking=!0,s.count=0;for(const e of t.repulse.particles)this.isEnabled(e)&&e.velocity.setTo(e.initialVelocity);s.particles=[],s.finish=!1,setTimeout((()=>{t.destroyed||(s.clicking=!1)}),i.duration*n.millisecondsToSeconds)}}clear(){}init(){const e=this.container,t=e.actualOptions.interactivity.modes.repulse;t&&(e.retina.repulseModeDistance=t.distance*e.retina.pixelRatio)}interact(){const e=this.container,t=e.actualOptions,i=e.interactivity.status===n.mouseMoveEvent,s=t.interactivity.events,o=s.onHover,r=o.enable,c=o.mode,a=s.onClick,p=a.enable,d=a.mode,u=s.onDiv;i&&r&&(0,n.isInArray)(l,c)?this._hoverRepulse():p&&(0,n.isInArray)(l,d)?this._clickRepulse():(0,n.divModeExecute)(l,u,((e,t)=>this._singleSelectorRepulse(e,t)))}isEnabled(e){const t=this.container,i=t.actualOptions,s=t.interactivity.mouse,o=(e?.interactivity??i.interactivity).events,r=o.onDiv,c=o.onHover,a=o.onClick,p=(0,n.isDivModeEnabled)(l,r);if(!(p||c.enable&&s.position||a.enable&&s.clickPosition))return!1;const d=c.mode,u=a.mode;return(0,n.isInArray)(l,d)||(0,n.isInArray)(l,u)||p}loadModeOptions(e,...t){e.repulse||(e.repulse=new a);for(const i of t)e.repulse.load(i?.repulse)}reset(){}}async function d(e,t=!0){await e.addInteractor("externalRepulse",(t=>Promise.resolve(new p(e,t))),t)}return o})())); | ||
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],t);else{var i="object"==typeof exports?t(require("@tsparticles/engine")):t(e.window);for(var s in i)("object"==typeof exports?exports:e)[s]=i[s]}}(this,(e=>(()=>{var t={303:t=>{t.exports=e}},i={};function s(e){var o=i[e];if(void 0!==o)return o.exports;var n=i[e]={exports:{}};return t[e](n,n.exports,s),n.exports}s.d=(e,t)=>{for(var i in t)s.o(t,i)&&!s.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};s.r(o),s.d(o,{Repulse:()=>a,RepulseBase:()=>r,RepulseDiv:()=>c,loadExternalRepulseInteraction:()=>d});var n=s(303);class r{constructor(){this.distance=200,this.duration=.4,this.factor=100,this.speed=1,this.maxSpeed=50,this.easing=n.EasingType.easeOutQuad}load(e){(0,n.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.speed&&(this.speed=e.speed),void 0!==e.maxSpeed&&(this.maxSpeed=e.maxSpeed))}}class c extends r{constructor(){super(),this.selectors=[]}load(e){super.load(e),(0,n.isNull)(e)||void 0!==e.selectors&&(this.selectors=e.selectors)}}class a extends r{load(e){super.load(e),(0,n.isNull)(e)||(this.divs=(0,n.executeOnSingleOrMultiple)(e.divs,(e=>{const t=new c;return t.load(e),t})))}}const l="repulse";class p extends n.ExternalInteractorBase{constructor(e,t){super(t),this._clickRepulse=()=>{const e=this.container,t=e.actualOptions.interactivity.modes.repulse;if(!t)return;const i=e.repulse??{particles:[]};if(i.finish||(i.count||(i.count=0),i.count++,i.count===e.particles.count&&(i.finish=!0)),i.clicking){const s=e.retina.repulseModeDistance;if(!s||s<0)return;const o=Math.pow(s/6,3),r=e.interactivity.mouse.clickPosition;if(void 0===r)return;const c=new n.Circle(r.x,r.y,o),a=e.particles.quadTree.query(c,(e=>this.isEnabled(e)));for(const e of a){const{dx:s,dy:c,distance:a}=(0,n.getDistances)(r,e.position),l=a**2,p=-o*t.speed/l;if(l<=o){i.particles.push(e);const t=n.Vector.create(s,c);t.length=p,e.velocity.setTo(t)}}}else if(!1===i.clicking){for(const e of i.particles)e.velocity.setTo(e.initialVelocity);i.particles=[]}},this._hoverRepulse=()=>{const e=this.container,t=e.interactivity.mouse.position,i=e.retina.repulseModeDistance;!i||i<0||!t||this._processRepulse(t,i,new n.Circle(t.x,t.y,i))},this._processRepulse=(e,t,i,s)=>{const o=this.container,r=o.particles.quadTree.query(i,(e=>this.isEnabled(e))),c=o.actualOptions.interactivity.modes.repulse;if(!c)return;const{easing:a,speed:l,factor:p,maxSpeed:d}=c,u=(0,n.getEasing)(a),f=(s?.speed??l)*p;for(const i of r){const{dx:s,dy:o,distance:r}=(0,n.getDistances)(i.position,e),c=(0,n.clamp)(u(1-r/t)*f,0,d),a=n.Vector.create(r?s/r*c:f,r?o/r*c:f);i.position.addTo(a)}},this._singleSelectorRepulse=(e,t)=>{const i=this.container,s=i.actualOptions.interactivity.modes.repulse;if(!s)return;const o=document.querySelectorAll(e);o.length&&o.forEach((e=>{const o=e,r=i.retina.pixelRatio,c={x:(o.offsetLeft+.5*o.offsetWidth)*r,y:(o.offsetTop+.5*o.offsetHeight)*r},a=.5*o.offsetWidth*r,l=t.type===n.DivType.circle?new n.Circle(c.x,c.y,a):new n.Rectangle(o.offsetLeft*r,o.offsetTop*r,o.offsetWidth*r,o.offsetHeight*r),p=s.divs,d=(0,n.divMode)(p,o);this._processRepulse(c,a,l,d)}))},this._engine=e,t.repulse||(t.repulse={particles:[]}),this.handleClickMode=e=>{const i=this.container.actualOptions.interactivity.modes.repulse;if(!i||e!==l)return;t.repulse||(t.repulse={particles:[]});const s=t.repulse;s.clicking=!0,s.count=0;for(const e of t.repulse.particles)this.isEnabled(e)&&e.velocity.setTo(e.initialVelocity);s.particles=[],s.finish=!1,setTimeout((()=>{t.destroyed||(s.clicking=!1)}),i.duration*n.millisecondsToSeconds)}}clear(){}init(){const e=this.container,t=e.actualOptions.interactivity.modes.repulse;t&&(e.retina.repulseModeDistance=t.distance*e.retina.pixelRatio)}interact(){const e=this.container,t=e.actualOptions,i=e.interactivity.status===n.mouseMoveEvent,s=t.interactivity.events,o=s.onHover,r=o.enable,c=o.mode,a=s.onClick,p=a.enable,d=a.mode,u=s.onDiv;i&&r&&(0,n.isInArray)(l,c)?this._hoverRepulse():p&&(0,n.isInArray)(l,d)?this._clickRepulse():(0,n.divModeExecute)(l,u,((e,t)=>this._singleSelectorRepulse(e,t)))}isEnabled(e){const t=this.container,i=t.actualOptions,s=t.interactivity.mouse,o=(e?.interactivity??i.interactivity).events,r=o.onDiv,c=o.onHover,a=o.onClick,p=(0,n.isDivModeEnabled)(l,r);if(!(p||c.enable&&s.position||a.enable&&s.clickPosition))return!1;const d=c.mode,u=a.mode;return(0,n.isInArray)(l,d)||(0,n.isInArray)(l,u)||p}loadModeOptions(e,...t){e.repulse||(e.repulse=new a);for(const i of t)e.repulse.load(i?.repulse)}reset(){}}async function d(e,t=!0){await e.addInteractor("externalRepulse",(t=>Promise.resolve(new p(e,t))),t)}return o})())); |
@@ -1,1 +0,1 @@ | ||
/*! tsParticles Repulse External Interaction v3.6.0-beta.1 by Matteo Bruni */ | ||
/*! tsParticles Repulse External Interaction v3.6.0 by Matteo Bruni */ |
@@ -19,3 +19,3 @@ (function (factory) { | ||
super.load(data); | ||
if (!data) { | ||
if ((0, engine_1.isNull)(data)) { | ||
return; | ||
@@ -22,0 +22,0 @@ } |
@@ -24,3 +24,3 @@ (function (factory) { | ||
load(data) { | ||
if (!data) { | ||
if ((0, engine_1.isNull)(data)) { | ||
return; | ||
@@ -27,0 +27,0 @@ } |
@@ -7,3 +7,3 @@ (function (factory) { | ||
else if (typeof define === "function" && define.amd) { | ||
define(["require", "exports", "./RepulseBase.js"], factory); | ||
define(["require", "exports", "@tsparticles/engine", "./RepulseBase.js"], factory); | ||
} | ||
@@ -14,2 +14,3 @@ })(function (require, exports) { | ||
exports.RepulseDiv = void 0; | ||
const engine_1 = require("@tsparticles/engine"); | ||
const RepulseBase_js_1 = require("./RepulseBase.js"); | ||
@@ -23,3 +24,3 @@ class RepulseDiv extends RepulseBase_js_1.RepulseBase { | ||
super.load(data); | ||
if (!data) { | ||
if ((0, engine_1.isNull)(data)) { | ||
return; | ||
@@ -26,0 +27,0 @@ } |
Sorry, the diff of this file is not supported yet
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
363910
1451
1
5
Updated@tsparticles/engine@^3.6.0