@tsparticles/interaction-external-push
Version:
tsParticles push external interaction
2 lines • 2 kB
JavaScript
/*! For license information please see tsparticles.interaction.external.push.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 r="object"==typeof exports?t(require("@tsparticles/engine")):t(e.window);for(var o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(this,(e=>(()=>{var t={303:t=>{t.exports=e}},r={};function o(e){var s=r[e];if(void 0!==s)return s.exports;var i=r[e]={exports:{}};return t[e](i,i.exports,o),i.exports}o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};o.r(s),o.d(s,{Push:()=>n,loadExternalPushInteraction:()=>u});var i=o(303);class n{constructor(){this.default=!0,this.groups=[],this.quantity=4}load(e){if((0,i.isNull)(e))return;void 0!==e.default&&(this.default=e.default),void 0!==e.groups&&(this.groups=e.groups.map((e=>e))),this.groups.length||(this.default=!0);const t=e.quantity;void 0!==t&&(this.quantity=(0,i.setRangeValue)(t))}}class a extends i.ExternalInteractorBase{constructor(e){super(e),this.handleClickMode=e=>{if("push"!==e)return;const t=this.container,r=t.actualOptions.interactivity.modes.push;if(!r)return;const o=(0,i.getRangeValue)(r.quantity);if(o<=0)return;const s=(0,i.itemFromArray)([void 0,...r.groups]),n=void 0!==s?t.actualOptions.particles.groups[s]:void 0;t.particles.push(o,t.interactivity.mouse,n,s)}}clear(){}init(){}interact(){}isEnabled(){return!0}loadModeOptions(e,...t){e.push||(e.push=new n);for(const r of t)e.push.load(r?.push)}reset(){}}async function u(e,t=!0){e.checkVersion("3.8.1"),await e.addInteractor("externalPush",(e=>Promise.resolve(new a(e))),t)}return s})()));