tsparticles-interaction-external-bounce
Advanced tools
Comparing version 2.1.0 to 2.1.1
@@ -6,8 +6,8 @@ import { Circle, ExternalInteractorBase, Rectangle, Vector, calculateBounds, circleBounce, circleBounceDataFromParticle, divModeExecute, isDivModeEnabled, isInArray, mouseMoveEvent, rectBounce, } from "tsparticles-engine"; | ||
} | ||
isEnabled(particle) { | ||
var _a; | ||
const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = ((_a = particle === null || particle === void 0 ? void 0 : particle.interactivity) !== null && _a !== void 0 ? _a : options.interactivity).events, divs = events.onDiv; | ||
return ((mouse.position && events.onHover.enable && isInArray("bounce" /* HoverMode.bounce */, events.onHover.mode)) || | ||
isDivModeEnabled("bounce" /* DivMode.bounce */, divs)); | ||
clear() { | ||
// do nothing | ||
} | ||
init() { | ||
// do nothing | ||
} | ||
async interact() { | ||
@@ -22,4 +22,7 @@ const container = this.container, options = container.actualOptions, events = options.interactivity.events, mouseMoveStatus = container.interactivity.status === mouseMoveEvent, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, divs = events.onDiv; | ||
} | ||
clear() { | ||
// do nothing | ||
isEnabled(particle) { | ||
var _a; | ||
const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = ((_a = particle === null || particle === void 0 ? void 0 : particle.interactivity) !== null && _a !== void 0 ? _a : options.interactivity).events, divs = events.onDiv; | ||
return ((mouse.position && events.onHover.enable && isInArray("bounce" /* HoverMode.bounce */, events.onHover.mode)) || | ||
isDivModeEnabled("bounce" /* DivMode.bounce */, divs)); | ||
} | ||
@@ -29,2 +32,19 @@ reset() { | ||
} | ||
processBounce(position, radius, area) { | ||
const query = this.container.particles.quadTree.query(area, (p) => this.isEnabled(p)); | ||
for (const particle of query) { | ||
if (area instanceof Circle) { | ||
circleBounce(circleBounceDataFromParticle(particle), { | ||
position, | ||
radius, | ||
mass: (radius ** 2 * Math.PI) / 2, | ||
velocity: Vector.origin, | ||
factor: Vector.origin, | ||
}); | ||
} | ||
else if (area instanceof Rectangle) { | ||
rectBounce(particle, calculateBounds(position, radius)); | ||
} | ||
} | ||
} | ||
processMouseBounce() { | ||
@@ -51,19 +71,2 @@ const container = this.container, pxRatio = container.retina.pixelRatio, tolerance = 10 * pxRatio, mousePos = container.interactivity.mouse.position, radius = container.retina.bounceModeDistance; | ||
} | ||
processBounce(position, radius, area) { | ||
const query = this.container.particles.quadTree.query(area, (p) => this.isEnabled(p)); | ||
for (const particle of query) { | ||
if (area instanceof Circle) { | ||
circleBounce(circleBounceDataFromParticle(particle), { | ||
position, | ||
radius, | ||
mass: (radius ** 2 * Math.PI) / 2, | ||
velocity: Vector.origin, | ||
factor: Vector.origin, | ||
}); | ||
} | ||
else if (area instanceof Rectangle) { | ||
rectBounce(particle, calculateBounds(position, radius)); | ||
} | ||
} | ||
} | ||
} |
@@ -9,8 +9,6 @@ "use strict"; | ||
} | ||
isEnabled(particle) { | ||
var _a; | ||
const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = ((_a = particle === null || particle === void 0 ? void 0 : particle.interactivity) !== null && _a !== void 0 ? _a : options.interactivity).events, divs = events.onDiv; | ||
return ((mouse.position && events.onHover.enable && (0, tsparticles_engine_1.isInArray)("bounce", events.onHover.mode)) || | ||
(0, tsparticles_engine_1.isDivModeEnabled)("bounce", divs)); | ||
clear() { | ||
} | ||
init() { | ||
} | ||
async interact() { | ||
@@ -25,6 +23,27 @@ const container = this.container, options = container.actualOptions, events = options.interactivity.events, mouseMoveStatus = container.interactivity.status === tsparticles_engine_1.mouseMoveEvent, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, divs = events.onDiv; | ||
} | ||
clear() { | ||
isEnabled(particle) { | ||
var _a; | ||
const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = ((_a = particle === null || particle === void 0 ? void 0 : particle.interactivity) !== null && _a !== void 0 ? _a : options.interactivity).events, divs = events.onDiv; | ||
return ((mouse.position && events.onHover.enable && (0, tsparticles_engine_1.isInArray)("bounce", events.onHover.mode)) || | ||
(0, tsparticles_engine_1.isDivModeEnabled)("bounce", divs)); | ||
} | ||
reset() { | ||
} | ||
processBounce(position, radius, area) { | ||
const query = this.container.particles.quadTree.query(area, (p) => this.isEnabled(p)); | ||
for (const particle of query) { | ||
if (area instanceof tsparticles_engine_1.Circle) { | ||
(0, tsparticles_engine_1.circleBounce)((0, tsparticles_engine_1.circleBounceDataFromParticle)(particle), { | ||
position, | ||
radius, | ||
mass: (radius ** 2 * Math.PI) / 2, | ||
velocity: tsparticles_engine_1.Vector.origin, | ||
factor: tsparticles_engine_1.Vector.origin, | ||
}); | ||
} | ||
else if (area instanceof tsparticles_engine_1.Rectangle) { | ||
(0, tsparticles_engine_1.rectBounce)(particle, (0, tsparticles_engine_1.calculateBounds)(position, radius)); | ||
} | ||
} | ||
} | ||
processMouseBounce() { | ||
@@ -51,20 +70,3 @@ const container = this.container, pxRatio = container.retina.pixelRatio, tolerance = 10 * pxRatio, mousePos = container.interactivity.mouse.position, radius = container.retina.bounceModeDistance; | ||
} | ||
processBounce(position, radius, area) { | ||
const query = this.container.particles.quadTree.query(area, (p) => this.isEnabled(p)); | ||
for (const particle of query) { | ||
if (area instanceof tsparticles_engine_1.Circle) { | ||
(0, tsparticles_engine_1.circleBounce)((0, tsparticles_engine_1.circleBounceDataFromParticle)(particle), { | ||
position, | ||
radius, | ||
mass: (radius ** 2 * Math.PI) / 2, | ||
velocity: tsparticles_engine_1.Vector.origin, | ||
factor: tsparticles_engine_1.Vector.origin, | ||
}); | ||
} | ||
else if (area instanceof tsparticles_engine_1.Rectangle) { | ||
(0, tsparticles_engine_1.rectBounce)(particle, (0, tsparticles_engine_1.calculateBounds)(position, radius)); | ||
} | ||
} | ||
} | ||
} | ||
exports.Bouncer = Bouncer; |
@@ -6,8 +6,6 @@ import { Circle, ExternalInteractorBase, Rectangle, Vector, calculateBounds, circleBounce, circleBounceDataFromParticle, divModeExecute, isDivModeEnabled, isInArray, mouseMoveEvent, rectBounce, } from "tsparticles-engine"; | ||
} | ||
isEnabled(particle) { | ||
var _a; | ||
const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = ((_a = particle === null || particle === void 0 ? void 0 : particle.interactivity) !== null && _a !== void 0 ? _a : options.interactivity).events, divs = events.onDiv; | ||
return ((mouse.position && events.onHover.enable && isInArray("bounce", events.onHover.mode)) || | ||
isDivModeEnabled("bounce", divs)); | ||
clear() { | ||
} | ||
init() { | ||
} | ||
async interact() { | ||
@@ -22,6 +20,27 @@ const container = this.container, options = container.actualOptions, events = options.interactivity.events, mouseMoveStatus = container.interactivity.status === mouseMoveEvent, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, divs = events.onDiv; | ||
} | ||
clear() { | ||
isEnabled(particle) { | ||
var _a; | ||
const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = ((_a = particle === null || particle === void 0 ? void 0 : particle.interactivity) !== null && _a !== void 0 ? _a : options.interactivity).events, divs = events.onDiv; | ||
return ((mouse.position && events.onHover.enable && isInArray("bounce", events.onHover.mode)) || | ||
isDivModeEnabled("bounce", divs)); | ||
} | ||
reset() { | ||
} | ||
processBounce(position, radius, area) { | ||
const query = this.container.particles.quadTree.query(area, (p) => this.isEnabled(p)); | ||
for (const particle of query) { | ||
if (area instanceof Circle) { | ||
circleBounce(circleBounceDataFromParticle(particle), { | ||
position, | ||
radius, | ||
mass: (radius ** 2 * Math.PI) / 2, | ||
velocity: Vector.origin, | ||
factor: Vector.origin, | ||
}); | ||
} | ||
else if (area instanceof Rectangle) { | ||
rectBounce(particle, calculateBounds(position, radius)); | ||
} | ||
} | ||
} | ||
processMouseBounce() { | ||
@@ -48,19 +67,2 @@ const container = this.container, pxRatio = container.retina.pixelRatio, tolerance = 10 * pxRatio, mousePos = container.interactivity.mouse.position, radius = container.retina.bounceModeDistance; | ||
} | ||
processBounce(position, radius, area) { | ||
const query = this.container.particles.quadTree.query(area, (p) => this.isEnabled(p)); | ||
for (const particle of query) { | ||
if (area instanceof Circle) { | ||
circleBounce(circleBounceDataFromParticle(particle), { | ||
position, | ||
radius, | ||
mass: (radius ** 2 * Math.PI) / 2, | ||
velocity: Vector.origin, | ||
factor: Vector.origin, | ||
}); | ||
} | ||
else if (area instanceof Rectangle) { | ||
rectBounce(particle, calculateBounds(position, radius)); | ||
} | ||
} | ||
} | ||
} |
{ | ||
"name": "tsparticles-interaction-external-bounce", | ||
"version": "2.1.0", | ||
"version": "2.1.1", | ||
"description": "tsParticles bounce external interaction", | ||
@@ -75,4 +75,4 @@ "homepage": "https://particles.js.org/", | ||
"dependencies": { | ||
"tsparticles-engine": "^2.1.0" | ||
"tsparticles-engine": "^2.1.1" | ||
} | ||
} |
@@ -7,3 +7,3 @@ /*! | ||
* How to use? : Check the GitHub README | ||
* v2.1.0 | ||
* v2.1.1 | ||
*/ | ||
@@ -107,15 +107,6 @@ (function webpackUniversalModuleDefinition(root, factory) { | ||
isEnabled(particle) { | ||
var _a; | ||
clear() {// do nothing | ||
} | ||
const container = this.container, | ||
options = container.actualOptions, | ||
mouse = container.interactivity.mouse, | ||
events = ((_a = particle === null || particle === void 0 ? void 0 : particle.interactivity) !== null && _a !== void 0 ? _a : options.interactivity).events, | ||
divs = events.onDiv; | ||
return mouse.position && events.onHover.enable && (0,external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.isInArray)("bounce" | ||
/* HoverMode.bounce */ | ||
, events.onHover.mode) || (0,external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.isDivModeEnabled)("bounce" | ||
/* DivMode.bounce */ | ||
, divs); | ||
init() {// do nothing | ||
} | ||
@@ -143,3 +134,15 @@ | ||
clear() {// do nothing | ||
isEnabled(particle) { | ||
var _a; | ||
const container = this.container, | ||
options = container.actualOptions, | ||
mouse = container.interactivity.mouse, | ||
events = ((_a = particle === null || particle === void 0 ? void 0 : particle.interactivity) !== null && _a !== void 0 ? _a : options.interactivity).events, | ||
divs = events.onDiv; | ||
return mouse.position && events.onHover.enable && (0,external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.isInArray)("bounce" | ||
/* HoverMode.bounce */ | ||
, events.onHover.mode) || (0,external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.isDivModeEnabled)("bounce" | ||
/* DivMode.bounce */ | ||
, divs); | ||
} | ||
@@ -150,2 +153,20 @@ | ||
processBounce(position, radius, area) { | ||
const query = this.container.particles.quadTree.query(area, p => this.isEnabled(p)); | ||
for (const particle of query) { | ||
if (area instanceof external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.Circle) { | ||
(0,external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.circleBounce)((0,external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.circleBounceDataFromParticle)(particle), { | ||
position, | ||
radius, | ||
mass: radius ** 2 * Math.PI / 2, | ||
velocity: external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.Vector.origin, | ||
factor: external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.Vector.origin | ||
}); | ||
} else if (area instanceof external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.Rectangle) { | ||
(0,external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.rectBounce)(particle, (0,external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.calculateBounds)(position, radius)); | ||
} | ||
} | ||
} | ||
processMouseBounce() { | ||
@@ -187,20 +208,2 @@ const container = this.container, | ||
processBounce(position, radius, area) { | ||
const query = this.container.particles.quadTree.query(area, p => this.isEnabled(p)); | ||
for (const particle of query) { | ||
if (area instanceof external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.Circle) { | ||
(0,external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.circleBounce)((0,external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.circleBounceDataFromParticle)(particle), { | ||
position, | ||
radius, | ||
mass: radius ** 2 * Math.PI / 2, | ||
velocity: external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.Vector.origin, | ||
factor: external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.Vector.origin | ||
}); | ||
} else if (area instanceof external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.Rectangle) { | ||
(0,external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.rectBounce)(particle, (0,external_commonjs_tsparticles_engine_commonjs2_tsparticles_engine_amd_tsparticles_engine_root_window_.calculateBounds)(position, radius)); | ||
} | ||
} | ||
} | ||
} | ||
@@ -207,0 +210,0 @@ ;// CONCATENATED MODULE: ./dist/browser/index.js |
@@ -1,2 +0,2 @@ | ||
/*! tsParticles Bounce External Interaction v2.1.0 by Matteo Bruni */ | ||
!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 o="object"==typeof exports?t(require("tsparticles-engine")):t(e.window);for(var n in o)("object"==typeof exports?exports:e)[n]=o[n]}}(this,(e=>(()=>{"use strict";var t={818:t=>{t.exports=e}},o={};function n(e){var i=o[e];if(void 0!==i)return i.exports;var r=o[e]={exports:{}};return t[e](r,r.exports,n),r.exports}n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return(()=>{n.r(i),n.d(i,{loadExternalBounceInteraction:()=>o});var e=n(818);class t extends e.ExternalInteractorBase{constructor(e){super(e)}isEnabled(t){var o;const n=this.container,i=n.actualOptions,r=n.interactivity.mouse,c=(null!==(o=null==t?void 0:t.interactivity)&&void 0!==o?o:i.interactivity).events,s=c.onDiv;return r.position&&c.onHover.enable&&(0,e.isInArray)("bounce",c.onHover.mode)||(0,e.isDivModeEnabled)("bounce",s)}async interact(){const t=this.container,o=t.actualOptions.interactivity.events,n=t.interactivity.status===e.mouseMoveEvent,i=o.onHover.enable,r=o.onHover.mode,c=o.onDiv;n&&i&&(0,e.isInArray)("bounce",r)?this.processMouseBounce():(0,e.divModeExecute)("bounce",c,((e,t)=>this.singleSelectorBounce(e,t)))}clear(){}reset(){}processMouseBounce(){const t=this.container,o=10*t.retina.pixelRatio,n=t.interactivity.mouse.position,i=t.retina.bounceModeDistance;n&&this.processBounce(n,i,new e.Circle(n.x,n.y,i+o))}singleSelectorBounce(t,o){const n=this.container,i=document.querySelectorAll(t);i.length&&i.forEach((t=>{const i=t,r=n.retina.pixelRatio,c={x:(i.offsetLeft+i.offsetWidth/2)*r,y:(i.offsetTop+i.offsetHeight/2)*r},s=i.offsetWidth/2*r,a=10*r,l="circle"===o.type?new e.Circle(c.x,c.y,s+a):new e.Rectangle(i.offsetLeft*r-a,i.offsetTop*r-a,i.offsetWidth*r+2*a,i.offsetHeight*r+2*a);this.processBounce(c,s,l)}))}processBounce(t,o,n){const i=this.container.particles.quadTree.query(n,(e=>this.isEnabled(e)));for(const r of i)n instanceof e.Circle?(0,e.circleBounce)((0,e.circleBounceDataFromParticle)(r),{position:t,radius:o,mass:o**2*Math.PI/2,velocity:e.Vector.origin,factor:e.Vector.origin}):n instanceof e.Rectangle&&(0,e.rectBounce)(r,(0,e.calculateBounds)(t,o))}}async function o(e){await e.addInteractor("externalBounce",(e=>new t(e)))}})(),i})())); | ||
/*! tsParticles Bounce External Interaction v2.1.1 by Matteo Bruni */ | ||
!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 o="object"==typeof exports?t(require("tsparticles-engine")):t(e.window);for(var n in o)("object"==typeof exports?exports:e)[n]=o[n]}}(this,(e=>(()=>{"use strict";var t={818:t=>{t.exports=e}},o={};function n(e){var i=o[e];if(void 0!==i)return i.exports;var r=o[e]={exports:{}};return t[e](r,r.exports,n),r.exports}n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return(()=>{n.r(i),n.d(i,{loadExternalBounceInteraction:()=>o});var e=n(818);class t extends e.ExternalInteractorBase{constructor(e){super(e)}clear(){}init(){}async interact(){const t=this.container,o=t.actualOptions.interactivity.events,n=t.interactivity.status===e.mouseMoveEvent,i=o.onHover.enable,r=o.onHover.mode,c=o.onDiv;n&&i&&(0,e.isInArray)("bounce",r)?this.processMouseBounce():(0,e.divModeExecute)("bounce",c,((e,t)=>this.singleSelectorBounce(e,t)))}isEnabled(t){var o;const n=this.container,i=n.actualOptions,r=n.interactivity.mouse,c=(null!==(o=null==t?void 0:t.interactivity)&&void 0!==o?o:i.interactivity).events,s=c.onDiv;return r.position&&c.onHover.enable&&(0,e.isInArray)("bounce",c.onHover.mode)||(0,e.isDivModeEnabled)("bounce",s)}reset(){}processBounce(t,o,n){const i=this.container.particles.quadTree.query(n,(e=>this.isEnabled(e)));for(const r of i)n instanceof e.Circle?(0,e.circleBounce)((0,e.circleBounceDataFromParticle)(r),{position:t,radius:o,mass:o**2*Math.PI/2,velocity:e.Vector.origin,factor:e.Vector.origin}):n instanceof e.Rectangle&&(0,e.rectBounce)(r,(0,e.calculateBounds)(t,o))}processMouseBounce(){const t=this.container,o=10*t.retina.pixelRatio,n=t.interactivity.mouse.position,i=t.retina.bounceModeDistance;n&&this.processBounce(n,i,new e.Circle(n.x,n.y,i+o))}singleSelectorBounce(t,o){const n=this.container,i=document.querySelectorAll(t);i.length&&i.forEach((t=>{const i=t,r=n.retina.pixelRatio,c={x:(i.offsetLeft+i.offsetWidth/2)*r,y:(i.offsetTop+i.offsetHeight/2)*r},s=i.offsetWidth/2*r,a=10*r,l="circle"===o.type?new e.Circle(c.x,c.y,s+a):new e.Rectangle(i.offsetLeft*r-a,i.offsetTop*r-a,i.offsetWidth*r+2*a,i.offsetHeight*r+2*a);this.processBounce(c,s,l)}))}}async function o(e){await e.addInteractor("externalBounce",(e=>new t(e)))}})(),i})())); |
@@ -5,9 +5,10 @@ import { ExternalInteractorBase } from "tsparticles-engine"; | ||
constructor(container: Container); | ||
clear(): void; | ||
init(): void; | ||
interact(): Promise<void>; | ||
isEnabled(particle?: Particle): boolean; | ||
interact(): Promise<void>; | ||
clear(): void; | ||
reset(): void; | ||
private processBounce; | ||
private processMouseBounce; | ||
private singleSelectorBounce; | ||
private processBounce; | ||
} |
@@ -18,8 +18,6 @@ (function (factory) { | ||
} | ||
isEnabled(particle) { | ||
var _a; | ||
const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = ((_a = particle === null || particle === void 0 ? void 0 : particle.interactivity) !== null && _a !== void 0 ? _a : options.interactivity).events, divs = events.onDiv; | ||
return ((mouse.position && events.onHover.enable && (0, tsparticles_engine_1.isInArray)("bounce", events.onHover.mode)) || | ||
(0, tsparticles_engine_1.isDivModeEnabled)("bounce", divs)); | ||
clear() { | ||
} | ||
init() { | ||
} | ||
async interact() { | ||
@@ -34,6 +32,27 @@ const container = this.container, options = container.actualOptions, events = options.interactivity.events, mouseMoveStatus = container.interactivity.status === tsparticles_engine_1.mouseMoveEvent, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, divs = events.onDiv; | ||
} | ||
clear() { | ||
isEnabled(particle) { | ||
var _a; | ||
const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = ((_a = particle === null || particle === void 0 ? void 0 : particle.interactivity) !== null && _a !== void 0 ? _a : options.interactivity).events, divs = events.onDiv; | ||
return ((mouse.position && events.onHover.enable && (0, tsparticles_engine_1.isInArray)("bounce", events.onHover.mode)) || | ||
(0, tsparticles_engine_1.isDivModeEnabled)("bounce", divs)); | ||
} | ||
reset() { | ||
} | ||
processBounce(position, radius, area) { | ||
const query = this.container.particles.quadTree.query(area, (p) => this.isEnabled(p)); | ||
for (const particle of query) { | ||
if (area instanceof tsparticles_engine_1.Circle) { | ||
(0, tsparticles_engine_1.circleBounce)((0, tsparticles_engine_1.circleBounceDataFromParticle)(particle), { | ||
position, | ||
radius, | ||
mass: (radius ** 2 * Math.PI) / 2, | ||
velocity: tsparticles_engine_1.Vector.origin, | ||
factor: tsparticles_engine_1.Vector.origin, | ||
}); | ||
} | ||
else if (area instanceof tsparticles_engine_1.Rectangle) { | ||
(0, tsparticles_engine_1.rectBounce)(particle, (0, tsparticles_engine_1.calculateBounds)(position, radius)); | ||
} | ||
} | ||
} | ||
processMouseBounce() { | ||
@@ -60,21 +79,4 @@ const container = this.container, pxRatio = container.retina.pixelRatio, tolerance = 10 * pxRatio, mousePos = container.interactivity.mouse.position, radius = container.retina.bounceModeDistance; | ||
} | ||
processBounce(position, radius, area) { | ||
const query = this.container.particles.quadTree.query(area, (p) => this.isEnabled(p)); | ||
for (const particle of query) { | ||
if (area instanceof tsparticles_engine_1.Circle) { | ||
(0, tsparticles_engine_1.circleBounce)((0, tsparticles_engine_1.circleBounceDataFromParticle)(particle), { | ||
position, | ||
radius, | ||
mass: (radius ** 2 * Math.PI) / 2, | ||
velocity: tsparticles_engine_1.Vector.origin, | ||
factor: tsparticles_engine_1.Vector.origin, | ||
}); | ||
} | ||
else if (area instanceof tsparticles_engine_1.Rectangle) { | ||
(0, tsparticles_engine_1.rectBounce)(particle, (0, tsparticles_engine_1.calculateBounds)(position, radius)); | ||
} | ||
} | ||
} | ||
} | ||
exports.Bouncer = Bouncer; | ||
}); |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
309893
526
Updatedtsparticles-engine@^2.1.1