@tsparticles/interaction-external-cannon 4.0.0-beta.1 → 4.0.0-beta.2

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/browser/index.js CHANGED
@@ -1,6 +1,7 @@
1
+ import {} from "@tsparticles/engine";
1
2
  export { Cannon } from "./Options/Classes/Cannon.js";
2
3
  export async function loadExternalCannonInteraction(engine) {
3
- engine.checkVersion("4.0.0-beta.1");
4
+ engine.checkVersion("4.0.0-beta.2");
4
5
  await engine.pluginManager.register(async (e) => {
5
6
  const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity");
6
7
  ensureInteractivityPluginLoaded(e);
package/cjs/index.js CHANGED
@@ -1,6 +1,7 @@
1
+ import {} from "@tsparticles/engine";
1
2
  export { Cannon } from "./Options/Classes/Cannon.js";
2
3
  export async function loadExternalCannonInteraction(engine) {
3
- engine.checkVersion("4.0.0-beta.1");
4
+ engine.checkVersion("4.0.0-beta.2");
4
5
  await engine.pluginManager.register(async (e) => {
5
6
  const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity");
6
7
  ensureInteractivityPluginLoaded(e);
@@ -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-beta.1
7
+ * v4.0.0-beta.2
8
8
  */
9
9
  "use strict";
10
10
  /*
package/esm/index.js CHANGED
@@ -1,6 +1,7 @@
1
+ import {} from "@tsparticles/engine";
1
2
  export { Cannon } from "./Options/Classes/Cannon.js";
2
3
  export async function loadExternalCannonInteraction(engine) {
3
- engine.checkVersion("4.0.0-beta.1");
4
+ engine.checkVersion("4.0.0-beta.2");
4
5
  await engine.pluginManager.register(async (e) => {
5
6
  const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity");
6
7
  ensureInteractivityPluginLoaded(e);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/interaction-external-cannon",
3
- "version": "4.0.0-beta.1",
3
+ "version": "4.0.0-beta.2",
4
4
  "description": "tsParticles cannon external interaction",
5
5
  "homepage": "https://particles.js.org",
6
6
  "repository": {
@@ -81,17 +81,20 @@
81
81
  "browser": "./browser/index.js",
82
82
  "import": "./esm/index.js",
83
83
  "require": "./cjs/index.js",
84
- "umd": "./umd/index.js",
85
- "default": "./cjs/index.js"
84
+ "default": "./esm/index.js"
86
85
  },
87
86
  "./package.json": "./package.json"
88
87
  },
89
- "dependencies": {
88
+ "peerDepdendencies": {
90
89
  "@tsparticles/engine": "4.0.0-beta.1",
91
90
  "@tsparticles/plugin-interactivity": "4.0.0-beta.1"
92
91
  },
93
92
  "publishConfig": {
94
93
  "access": "public"
95
94
  },
96
- "type": "module"
95
+ "type": "module",
96
+ "peerDependencies": {
97
+ "@tsparticles/engine": "4.0.0-beta.1",
98
+ "@tsparticles/plugin-interactivity": "4.0.0-beta.1"
99
+ }
97
100
  }
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-cannon [31 Mar 2026 at 08:48]</title>
6
+ <title>@tsparticles/interaction-external-cannon [2 Apr 2026 at 07:39]</title>
7
7
  <link
8
8
  rel="shortcut icon"
9
9
  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="
@@ -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-beta.1
7
+ * v4.0.0-beta.2
8
8
  */
9
9
  /*
10
10
  * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
@@ -16,14 +16,14 @@
16
16
  */
17
17
  (function webpackUniversalModuleDefinition(root, factory) {
18
18
  if(typeof exports === 'object' && typeof module === 'object')
19
- module.exports = factory(require("@tsparticles/plugin-interactivity"), require("@tsparticles/engine"));
19
+ module.exports = factory(require("@tsparticles/engine"), require("@tsparticles/plugin-interactivity"));
20
20
  else if(typeof define === 'function' && define.amd)
21
- define(["@tsparticles/plugin-interactivity", "@tsparticles/engine"], factory);
21
+ define(["@tsparticles/engine", "@tsparticles/plugin-interactivity"], factory);
22
22
  else {
23
- var a = typeof exports === 'object' ? factory(require("@tsparticles/plugin-interactivity"), require("@tsparticles/engine")) : factory(root["window"], root["window"]);
23
+ var a = typeof exports === 'object' ? factory(require("@tsparticles/engine"), require("@tsparticles/plugin-interactivity")) : factory(root["window"], root["window"]);
24
24
  for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
25
25
  }
26
- })(this, (__WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_interactivity__, __WEBPACK_EXTERNAL_MODULE__tsparticles_engine__) => {
26
+ })(this, (__WEBPACK_EXTERNAL_MODULE__tsparticles_engine__, __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_interactivity__) => {
27
27
  return /******/ (() => { // webpackBootstrap
28
28
  /******/ "use strict";
29
29
  /******/ var __webpack_modules__ = ({
@@ -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 */ Cannon: () => (/* reexport safe */ _Options_Classes_Cannon_js__WEBPACK_IMPORTED_MODULE_0__.Cannon),\n/* harmony export */ loadExternalCannonInteraction: () => (/* binding */ loadExternalCannonInteraction)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_Cannon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/Cannon.js */ \"./dist/browser/Options/Classes/Cannon.js\");\n\nasync function loadExternalCannonInteraction(engine) {\n engine.checkVersion(\"4.0.0-beta.1\");\n await engine.pluginManager.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.pluginManager.addInteractor?.(\"externalCannon\", async (container)=>{\n const { Cannoner } = await __webpack_require__.e(/*! import() */ \"dist_browser_Cannoner_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Cannoner.js */ \"./dist/browser/Cannoner.js\"));\n return new Cannoner(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/interaction-external-cannon/./dist/browser/index.js?\n}");
67
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Cannon: () => (/* reexport safe */ _Options_Classes_Cannon_js__WEBPACK_IMPORTED_MODULE_1__.Cannon),\n/* harmony export */ loadExternalCannonInteraction: () => (/* binding */ loadExternalCannonInteraction)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _Options_Classes_Cannon_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Cannon.js */ \"./dist/browser/Options/Classes/Cannon.js\");\n\n\nasync function loadExternalCannonInteraction(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.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.pluginManager.addInteractor?.(\"externalCannon\", async (container)=>{\n const { Cannoner } = await __webpack_require__.e(/*! import() */ \"dist_browser_Cannoner_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Cannoner.js */ \"./dist/browser/Cannoner.js\"));\n return new Cannoner(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/interaction-external-cannon/./dist/browser/index.js?\n}");
68
68
 
69
69
  /***/ }
70
70
 
@@ -1,2 +1,2 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/plugin-interactivity"),require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/plugin-interactivity","@tsparticles/engine"],t);else{var r="object"==typeof exports?t(require("@tsparticles/plugin-interactivity"),require("@tsparticles/engine")):t(e.window,e.window);for(var o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(this,(e,t)=>(()=>{"use strict";var r,o,i,a={303(e){e.exports=t},702(t){t.exports=e},512(e,t,r){r.d(t,{a:()=>o});class o{drawVector;maxDragDistance;maxParticles;minParticles;particleFactor;spread;vectorColor;velocityFactor;constructor(){this.spread=30,this.velocityFactor=.5,this.particleFactor=.2,this.maxDragDistance=200,this.minParticles=5,this.maxParticles=200,this.drawVector=!0,this.vectorColor="#ffffff80"}load(e){e&&(void 0!==e.spread&&(this.spread=e.spread),void 0!==e.velocityFactor&&(this.velocityFactor=e.velocityFactor),void 0!==e.particleFactor&&(this.particleFactor=e.particleFactor),void 0!==e.minParticles&&(this.minParticles=e.minParticles),void 0!==e.maxParticles&&(this.maxParticles=e.maxParticles),void 0!==e.drawVector&&(this.drawVector=e.drawVector),void 0!==e.vectorColor&&(this.vectorColor=e.vectorColor))}}}},n={};function c(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={exports:{}};return a[e](r,r.exports,c),r.exports}c.m=a,l=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,c.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);c.r(r);var o={};s=s||[null,l({}),l([]),l(l)];for(var i=2&t&&e;("object"==typeof i||"function"==typeof i)&&!~s.indexOf(i);i=l(i))Object.getOwnPropertyNames(i).forEach(t=>o[t]=()=>e[t]);return o.default=()=>e,c.d(r,o),r},c.d=(e,t)=>{for(var r in t)c.o(t,r)&&!c.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce((t,r)=>(c.f[r](e,t),t),[])),c.u=e=>""+e+".min.js",c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),p={},c.l=(e,t,r,o)=>{if(p[e])return void p[e].push(t);if(void 0!==r)for(var i,a,n=document.getElementsByTagName("script"),s=0;s<n.length;s++){var l=n[s];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")=="@tsparticles/interaction-external-cannon:"+r){i=l;break}}i||(a=!0,(i=document.createElement("script")).charset="utf-8",c.nc&&i.setAttribute("nonce",c.nc),i.setAttribute("data-webpack","@tsparticles/interaction-external-cannon:"+r),i.src=e),p[e]=[t];var u=(t,r)=>{i.onerror=i.onload=null,clearTimeout(d);var o=p[e];if(delete p[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach(e=>e(r)),t)return t(r)},d=setTimeout(u.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=u.bind(null,i.onerror),i.onload=u.bind(null,i.onload),a&&document.head.appendChild(i)},c.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.g.importScripts&&(u=c.g.location+"");var s,l,p,u,d=c.g.document;if(!u&&d&&(d.currentScript&&"SCRIPT"===d.currentScript.tagName.toUpperCase()&&(u=d.currentScript.src),!u)){var f=d.getElementsByTagName("script");if(f.length)for(var h=f.length-1;h>-1&&(!u||!/^http(s?):/.test(u));)u=f[h--].src}if(!u)throw Error("Automatic publicPath is not supported in this browser");c.p=u=u.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r={801:0},c.f.j=(e,t)=>{var o=c.o(r,e)?r[e]:void 0;if(0!==o)if(o)t.push(o[2]);else{var i=new Promise((t,i)=>o=r[e]=[t,i]);t.push(o[2]=i);var a=c.p+c.u(e),n=Error();c.l(a,t=>{if(c.o(r,e)&&(0!==(o=r[e])&&(r[e]=void 0),o)){var i=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;n.message="Loading chunk "+e+` failed.
2
- (`+i+": "+a+")",n.name="ChunkLoadError",n.type=i,n.request=a,o[1](n)}},"chunk-"+e,e)}},o=(e,t)=>{var o,i,[a,n,s]=t,l=0;if(a.some(e=>0!==r[e])){for(o in n)c.o(n,o)&&(c.m[o]=n[o]);s&&s(c)}for(e&&e(t);l<a.length;l++)i=a[l],c.o(r,i)&&r[i]&&r[i][0](),r[i]=0},(i=this.webpackChunk_tsparticles_interaction_external_cannon=this.webpackChunk_tsparticles_interaction_external_cannon||[]).forEach(o.bind(null,0)),i.push=o.bind(null,i.push.bind(i));var v={};c.r(v),c.d(v,{Cannon:()=>m.a,loadExternalCannonInteraction:()=>b});var m=c(512);async function b(e){e.checkVersion("4.0.0-beta.1"),await e.pluginManager.register(async e=>{let{ensureInteractivityPluginLoaded:t}=await Promise.resolve().then(c.t.bind(c,702,19));t(e),e.pluginManager.addInteractor?.("externalCannon",async e=>{let{Cannoner:t}=await c.e(49).then(c.bind(c,49));return new t(e)})})}return v})());
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 o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(this,(e,t)=>(()=>{"use strict";var r,o,i,a={303(t){t.exports=e},702(e){e.exports=t},512(e,t,r){r.d(t,{a:()=>o});class o{drawVector;maxDragDistance;maxParticles;minParticles;particleFactor;spread;vectorColor;velocityFactor;constructor(){this.spread=30,this.velocityFactor=.5,this.particleFactor=.2,this.maxDragDistance=200,this.minParticles=5,this.maxParticles=200,this.drawVector=!0,this.vectorColor="#ffffff80"}load(e){e&&(void 0!==e.spread&&(this.spread=e.spread),void 0!==e.velocityFactor&&(this.velocityFactor=e.velocityFactor),void 0!==e.particleFactor&&(this.particleFactor=e.particleFactor),void 0!==e.minParticles&&(this.minParticles=e.minParticles),void 0!==e.maxParticles&&(this.maxParticles=e.maxParticles),void 0!==e.drawVector&&(this.drawVector=e.drawVector),void 0!==e.vectorColor&&(this.vectorColor=e.vectorColor))}}}},n={};function c(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={exports:{}};return a[e](r,r.exports,c),r.exports}c.m=a,l=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,c.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);c.r(r);var o={};s=s||[null,l({}),l([]),l(l)];for(var i=2&t&&e;("object"==typeof i||"function"==typeof i)&&!~s.indexOf(i);i=l(i))Object.getOwnPropertyNames(i).forEach(t=>o[t]=()=>e[t]);return o.default=()=>e,c.d(r,o),r},c.d=(e,t)=>{for(var r in t)c.o(t,r)&&!c.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce((t,r)=>(c.f[r](e,t),t),[])),c.u=e=>""+e+".min.js",c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),p={},c.l=(e,t,r,o)=>{if(p[e])return void p[e].push(t);if(void 0!==r)for(var i,a,n=document.getElementsByTagName("script"),s=0;s<n.length;s++){var l=n[s];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")=="@tsparticles/interaction-external-cannon:"+r){i=l;break}}i||(a=!0,(i=document.createElement("script")).charset="utf-8",c.nc&&i.setAttribute("nonce",c.nc),i.setAttribute("data-webpack","@tsparticles/interaction-external-cannon:"+r),i.src=e),p[e]=[t];var u=(t,r)=>{i.onerror=i.onload=null,clearTimeout(d);var o=p[e];if(delete p[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach(e=>e(r)),t)return t(r)},d=setTimeout(u.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=u.bind(null,i.onerror),i.onload=u.bind(null,i.onload),a&&document.head.appendChild(i)},c.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.g.importScripts&&(u=c.g.location+"");var s,l,p,u,d=c.g.document;if(!u&&d&&(d.currentScript&&"SCRIPT"===d.currentScript.tagName.toUpperCase()&&(u=d.currentScript.src),!u)){var f=d.getElementsByTagName("script");if(f.length)for(var h=f.length-1;h>-1&&(!u||!/^http(s?):/.test(u));)u=f[h--].src}if(!u)throw Error("Automatic publicPath is not supported in this browser");c.p=u=u.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r={801:0},c.f.j=(e,t)=>{var o=c.o(r,e)?r[e]:void 0;if(0!==o)if(o)t.push(o[2]);else{var i=new Promise((t,i)=>o=r[e]=[t,i]);t.push(o[2]=i);var a=c.p+c.u(e),n=Error();c.l(a,t=>{if(c.o(r,e)&&(0!==(o=r[e])&&(r[e]=void 0),o)){var i=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;n.message="Loading chunk "+e+` failed.
2
+ (`+i+": "+a+")",n.name="ChunkLoadError",n.type=i,n.request=a,o[1](n)}},"chunk-"+e,e)}},o=(e,t)=>{var o,i,[a,n,s]=t,l=0;if(a.some(e=>0!==r[e])){for(o in n)c.o(n,o)&&(c.m[o]=n[o]);s&&s(c)}for(e&&e(t);l<a.length;l++)i=a[l],c.o(r,i)&&r[i]&&r[i][0](),r[i]=0},(i=this.webpackChunk_tsparticles_interaction_external_cannon=this.webpackChunk_tsparticles_interaction_external_cannon||[]).forEach(o.bind(null,0)),i.push=o.bind(null,i.push.bind(i));var v={};c.r(v),c.d(v,{Cannon:()=>m.a,loadExternalCannonInteraction:()=>b}),c(303);var m=c(512);async function b(e){e.checkVersion("4.0.0-beta.2"),await e.pluginManager.register(async e=>{let{ensureInteractivityPluginLoaded:t}=await Promise.resolve().then(c.t.bind(c,702,19));t(e),e.pluginManager.addInteractor?.("externalCannon",async e=>{let{Cannoner:t}=await c.e(49).then(c.bind(c,49));return new t(e)})})}return v})());
package/umd/Cannoner.js DELETED
@@ -1,140 +0,0 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
5
- }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "@tsparticles/plugin-interactivity", "@tsparticles/engine", "./Options/Classes/Cannon.js"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Cannoner = void 0;
13
- const plugin_interactivity_1 = require("@tsparticles/plugin-interactivity");
14
- const engine_1 = require("@tsparticles/engine");
15
- const Cannon_js_1 = require("./Options/Classes/Cannon.js");
16
- var CannonState;
17
- (function (CannonState) {
18
- CannonState[CannonState["idle"] = 0] = "idle";
19
- CannonState[CannonState["aiming"] = 1] = "aiming";
20
- CannonState[CannonState["fired"] = 2] = "fired";
21
- })(CannonState || (CannonState = {}));
22
- const cannonMode = "cannon", minAngle = 0, powerRadiusMin = 4, powerRadiusMaxDenominator = 20, powerRadiusMaxFactor = engine_1.identity / powerRadiusMaxDenominator, minTapsLength = 2, piDeg = 180, quarter = 0.25, minDistance = 0;
23
- function angleRad(x0, y0, x1, y1) {
24
- return Math.atan2(y1 - y0, x1 - x0);
25
- }
26
- class Cannoner extends plugin_interactivity_1.ExternalInteractorBase {
27
- maxDistance = 0;
28
- _data;
29
- _gesture = {
30
- origin: engine_1.Vector.origin,
31
- current: engine_1.Vector.origin,
32
- active: false,
33
- };
34
- _lastDownPosition = undefined;
35
- _state = CannonState.idle;
36
- constructor(container) {
37
- super(container);
38
- }
39
- clear(_particle, _delta) {
40
- }
41
- init() {
42
- const options = this.container.actualOptions.interactivity?.modes.cannon ?? new Cannon_js_1.Cannon();
43
- this._data = {
44
- spread: (0, engine_1.degToRad)(options.spread),
45
- maxDragDistance: options.maxDragDistance,
46
- velocityFactor: options.velocityFactor,
47
- particleFactor: options.particleFactor,
48
- minParticles: options.minParticles,
49
- maxParticles: options.maxParticles,
50
- drawVector: options.drawVector,
51
- vectorColor: options.vectorColor,
52
- };
53
- }
54
- interact(interactivityData, _delta) {
55
- const mouse = interactivityData.mouse, mousePos = mouse.position, clicking = mouse.clicking, downPos = mouse.downPosition;
56
- if (clicking && downPos && downPos !== this._lastDownPosition && this._state === CannonState.idle) {
57
- this._lastDownPosition = downPos;
58
- this._gesture = {
59
- origin: { x: downPos.x, y: downPos.y },
60
- current: { x: downPos.x, y: downPos.y },
61
- active: true,
62
- };
63
- this._state = CannonState.aiming;
64
- }
65
- if (this._state === CannonState.aiming && mousePos) {
66
- this._gesture.current = { x: mousePos.x, y: mousePos.y };
67
- this._drawVector();
68
- }
69
- if (!clicking && this._state === CannonState.aiming) {
70
- this._gesture.active = false;
71
- this._fire();
72
- this._state = CannonState.idle;
73
- }
74
- }
75
- isEnabled(interactivityData) {
76
- const { container } = this, events = container.actualOptions.interactivity?.events;
77
- if (!events?.onClick.enable) {
78
- return false;
79
- }
80
- const modes = events.onClick.mode, modeEnabled = Array.isArray(modes) ? modes.includes(cannonMode) : modes === cannonMode;
81
- if (!modeEnabled) {
82
- return false;
83
- }
84
- return this._state !== CannonState.idle || interactivityData.mouse.clicking;
85
- }
86
- loadModeOptions(options, ...sources) {
87
- options.cannon ??= new Cannon_js_1.Cannon();
88
- for (const source of sources) {
89
- options.cannon.load(source?.cannon);
90
- }
91
- }
92
- reset(_interactivityData, _particle) {
93
- }
94
- _drawVector() {
95
- this.container.canvas.render.draw(ctx => {
96
- const opts = this._data;
97
- if (!opts) {
98
- return;
99
- }
100
- const { origin, current } = this._gesture, pxRatio = this.container.retina.pixelRatio, dragDist = (0, engine_1.getDistance)(origin, current), clampedDist = opts.maxDragDistance > engine_1.none ? Math.min(dragDist, opts.maxDragDistance * pxRatio) : pxRatio, clampRatio = dragDist > minDistance ? clampedDist / dragDist : minDistance, clampedX = origin.x + (current.x - origin.x) * clampRatio, clampedY = origin.y + (current.y - origin.y) * clampRatio;
101
- ctx.save();
102
- ctx.strokeStyle = opts.vectorColor;
103
- ctx.lineWidth = engine_1.double * pxRatio;
104
- ctx.beginPath();
105
- ctx.moveTo(origin.x, origin.y);
106
- ctx.lineTo(clampedX, clampedY);
107
- ctx.stroke();
108
- const radius = Math.max(powerRadiusMin, clampedDist * powerRadiusMaxFactor) * pxRatio;
109
- ctx.beginPath();
110
- ctx.arc(origin.x, origin.y, radius, minAngle, engine_1.doublePI);
111
- ctx.strokeStyle = opts.vectorColor;
112
- ctx.lineWidth = engine_1.double * pxRatio;
113
- ctx.stroke();
114
- ctx.restore();
115
- });
116
- }
117
- _fire() {
118
- const opts = this._data;
119
- if (!opts) {
120
- return;
121
- }
122
- const { origin, current } = this._gesture, pxRatio = this.container.retina.pixelRatio, dist = (0, engine_1.getDistance)(origin, current), dragLength = opts.maxDragDistance > engine_1.none ? Math.min(dist, opts.maxDragDistance * pxRatio) : dist;
123
- if (dragLength < minTapsLength) {
124
- return;
125
- }
126
- const pxRatioFactor = engine_1.identity / pxRatio, launchAngle = angleRad(current.x, current.y, origin.x, origin.y), velocity = dragLength * pxRatioFactor * opts.velocityFactor, count = Math.min(opts.maxParticles, Math.max(opts.minParticles, Math.round(dragLength * opts.particleFactor))), toDeg = piDeg / Math.PI;
127
- for (let i = 0; i < count; i++) {
128
- const spreadAngle = launchAngle + (0, engine_1.getRandomInRange)(-opts.spread, opts.spread), speed = (0, engine_1.getRandomInRange)(velocity * quarter, velocity);
129
- this.container.particles.addParticle(origin, {
130
- move: {
131
- enable: true,
132
- speed,
133
- direction: spreadAngle * toDeg,
134
- },
135
- });
136
- }
137
- }
138
- }
139
- exports.Cannoner = Cannoner;
140
- });
@@ -1,60 +0,0 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
5
- }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Cannon = void 0;
13
- class Cannon {
14
- drawVector;
15
- maxDragDistance;
16
- maxParticles;
17
- minParticles;
18
- particleFactor;
19
- spread;
20
- vectorColor;
21
- velocityFactor;
22
- constructor() {
23
- this.spread = 30;
24
- this.velocityFactor = 0.5;
25
- this.particleFactor = 0.2;
26
- this.maxDragDistance = 200;
27
- this.minParticles = 5;
28
- this.maxParticles = 200;
29
- this.drawVector = true;
30
- this.vectorColor = "#ffffff80";
31
- }
32
- load(data) {
33
- if (!data) {
34
- return;
35
- }
36
- if (data.spread !== undefined) {
37
- this.spread = data.spread;
38
- }
39
- if (data.velocityFactor !== undefined) {
40
- this.velocityFactor = data.velocityFactor;
41
- }
42
- if (data.particleFactor !== undefined) {
43
- this.particleFactor = data.particleFactor;
44
- }
45
- if (data.minParticles !== undefined) {
46
- this.minParticles = data.minParticles;
47
- }
48
- if (data.maxParticles !== undefined) {
49
- this.maxParticles = data.maxParticles;
50
- }
51
- if (data.drawVector !== undefined) {
52
- this.drawVector = data.drawVector;
53
- }
54
- if (data.vectorColor !== undefined) {
55
- this.vectorColor = data.vectorColor;
56
- }
57
- }
58
- }
59
- exports.Cannon = Cannon;
60
- });
@@ -1,12 +0,0 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
5
- }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- });
@@ -1,12 +0,0 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
5
- }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- });
package/umd/Types.js DELETED
@@ -1,12 +0,0 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
5
- }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- });
package/umd/index.js DELETED
@@ -1,61 +0,0 @@
1
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2
- if (k2 === undefined) k2 = k;
3
- var desc = Object.getOwnPropertyDescriptor(m, k);
4
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
5
- desc = { enumerable: true, get: function() { return m[k]; } };
6
- }
7
- Object.defineProperty(o, k2, desc);
8
- }) : (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- o[k2] = m[k];
11
- }));
12
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
13
- Object.defineProperty(o, "default", { enumerable: true, value: v });
14
- }) : function(o, v) {
15
- o["default"] = v;
16
- });
17
- var __importStar = (this && this.__importStar) || (function () {
18
- var ownKeys = function(o) {
19
- ownKeys = Object.getOwnPropertyNames || function (o) {
20
- var ar = [];
21
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
22
- return ar;
23
- };
24
- return ownKeys(o);
25
- };
26
- return function (mod) {
27
- if (mod && mod.__esModule) return mod;
28
- var result = {};
29
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
30
- __setModuleDefault(result, mod);
31
- return result;
32
- };
33
- })();
34
- (function (factory) {
35
- if (typeof module === "object" && typeof module.exports === "object") {
36
- var v = factory(require, exports);
37
- if (v !== undefined) module.exports = v;
38
- }
39
- else if (typeof define === "function" && define.amd) {
40
- define(["require", "exports", "./Options/Classes/Cannon.js"], factory);
41
- }
42
- })(function (require, exports) {
43
- "use strict";
44
- var __syncRequire = typeof module === "object" && typeof module.exports === "object";
45
- Object.defineProperty(exports, "__esModule", { value: true });
46
- exports.Cannon = void 0;
47
- exports.loadExternalCannonInteraction = loadExternalCannonInteraction;
48
- var Cannon_js_1 = require("./Options/Classes/Cannon.js");
49
- Object.defineProperty(exports, "Cannon", { enumerable: true, get: function () { return Cannon_js_1.Cannon; } });
50
- async function loadExternalCannonInteraction(engine) {
51
- engine.checkVersion("4.0.0-beta.1");
52
- await engine.pluginManager.register(async (e) => {
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
- ensureInteractivityPluginLoaded(e);
55
- e.pluginManager.addInteractor?.("externalCannon", async (container) => {
56
- const { Cannoner } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("./Cannoner.js"))) : new Promise((resolve_2, reject_2) => { require(["./Cannoner.js"], resolve_2, reject_2); }).then(__importStar));
57
- return new Cannoner(container);
58
- });
59
- });
60
- }
61
- });