@tsparticles/plugin-emitters 4.0.0-alpha.8 → 4.0.0-beta.1
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/392.min.js +1 -0
- package/399.min.js +1 -0
- package/414.min.js +1 -0
- package/592.min.js +1 -0
- package/764.min.js +1 -0
- package/815.min.js +1 -0
- package/README.md +5 -0
- package/browser/EmitterInstance.js +121 -85
- package/browser/EmitterShapeBase.js +4 -0
- package/browser/EmittersInstancesManager.js +5 -3
- package/browser/EmittersInteractor.js +5 -1
- package/browser/EmittersPlugin.js +2 -1
- package/browser/EmittersPluginInstance.js +2 -0
- package/browser/Options/Classes/Emitter.js +25 -3
- package/browser/Options/Classes/EmitterLife.js +4 -0
- package/browser/Options/Classes/EmitterRate.js +2 -0
- package/browser/Options/Classes/EmitterShape.js +3 -0
- package/browser/Options/Classes/EmitterShapeReplace.js +2 -0
- package/browser/Options/Classes/EmitterSize.js +3 -0
- package/browser/Options/Classes/EmitterSpawn.js +18 -0
- package/browser/Options/Interfaces/IEmitterSpawn.js +1 -0
- package/browser/index.js +19 -9
- package/cjs/EmitterInstance.js +121 -85
- package/cjs/EmitterShapeBase.js +4 -0
- package/cjs/EmittersInstancesManager.js +5 -3
- package/cjs/EmittersInteractor.js +5 -1
- package/cjs/EmittersPlugin.js +2 -1
- package/cjs/EmittersPluginInstance.js +2 -0
- package/cjs/Options/Classes/Emitter.js +25 -3
- package/cjs/Options/Classes/EmitterLife.js +4 -0
- package/cjs/Options/Classes/EmitterRate.js +2 -0
- package/cjs/Options/Classes/EmitterShape.js +3 -0
- package/cjs/Options/Classes/EmitterShapeReplace.js +2 -0
- package/cjs/Options/Classes/EmitterSize.js +3 -0
- package/cjs/Options/Classes/EmitterSpawn.js +18 -0
- package/cjs/Options/Interfaces/IEmitterSpawn.js +1 -0
- package/cjs/index.js +19 -9
- package/dist_browser_EmitterInstance_js.js +2 -2
- package/dist_browser_EmittersInstancesManager_js.js +18 -8
- package/dist_browser_EmittersInteractor_js.js +19 -9
- package/dist_browser_EmittersPluginInstance_js.js +2 -2
- package/dist_browser_EmittersPlugin_js.js +18 -8
- package/dist_browser_ShapeManager_js.js +2 -2
- package/esm/EmitterInstance.js +121 -85
- package/esm/EmitterShapeBase.js +4 -0
- package/esm/EmittersInstancesManager.js +5 -3
- package/esm/EmittersInteractor.js +5 -1
- package/esm/EmittersPlugin.js +2 -1
- package/esm/EmittersPluginInstance.js +2 -0
- package/esm/Options/Classes/Emitter.js +25 -3
- package/esm/Options/Classes/EmitterLife.js +4 -0
- package/esm/Options/Classes/EmitterRate.js +2 -0
- package/esm/Options/Classes/EmitterShape.js +3 -0
- package/esm/Options/Classes/EmitterShapeReplace.js +2 -0
- package/esm/Options/Classes/EmitterSize.js +3 -0
- package/esm/Options/Classes/EmitterSpawn.js +18 -0
- package/esm/Options/Interfaces/IEmitterSpawn.js +1 -0
- package/esm/index.js +19 -9
- package/package.json +3 -3
- package/report.html +84 -29
- package/tsparticles.plugin.emitters.js +44 -32
- package/tsparticles.plugin.emitters.min.js +2 -2
- package/types/EmitterInstance.d.ts +11 -6
- package/types/EmittersEngine.d.ts +5 -2
- package/types/EmittersInstancesManager.d.ts +3 -3
- package/types/EmittersInteractor.d.ts +1 -0
- package/types/EmittersPlugin.d.ts +1 -1
- package/types/IEmitterShapeGenerator.d.ts +2 -2
- package/types/Options/Classes/Emitter.d.ts +4 -1
- package/types/Options/Classes/EmitterSpawn.d.ts +7 -0
- package/types/Options/Interfaces/IEmitter.d.ts +4 -1
- package/types/Options/Interfaces/IEmitterSpawn.d.ts +5 -0
- package/types/index.d.ts +1 -0
- package/umd/EmitterInstance.js +120 -84
- package/umd/EmitterShapeBase.js +4 -0
- package/umd/EmittersInstancesManager.js +5 -3
- package/umd/EmittersInteractor.js +5 -1
- package/umd/EmittersPlugin.js +2 -1
- package/umd/EmittersPluginInstance.js +2 -0
- package/umd/Options/Classes/Emitter.js +26 -4
- package/umd/Options/Classes/EmitterLife.js +4 -0
- package/umd/Options/Classes/EmitterRate.js +2 -0
- package/umd/Options/Classes/EmitterShape.js +3 -0
- package/umd/Options/Classes/EmitterShapeReplace.js +2 -0
- package/umd/Options/Classes/EmitterSize.js +3 -0
- package/umd/Options/Classes/EmitterSpawn.js +32 -0
- package/umd/Options/Interfaces/IEmitterSpawn.js +12 -0
- package/umd/index.js +20 -9
- package/129.min.js +0 -2
- package/129.min.js.LICENSE.txt +0 -1
- package/246.min.js +0 -2
- package/246.min.js.LICENSE.txt +0 -1
- package/330.min.js +0 -2
- package/330.min.js.LICENSE.txt +0 -1
- package/490.min.js +0 -2
- package/490.min.js.LICENSE.txt +0 -1
- package/849.min.js +0 -2
- package/849.min.js.LICENSE.txt +0 -1
- package/940.min.js +0 -2
- package/940.min.js.LICENSE.txt +0 -1
- package/tsparticles.plugin.emitters.min.js.LICENSE.txt +0 -1
|
@@ -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-
|
|
7
|
+
* v4.0.0-beta.1
|
|
8
8
|
*/
|
|
9
9
|
/*
|
|
10
10
|
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
@@ -28,13 +28,33 @@ return /******/ (() => { // webpackBootstrap
|
|
|
28
28
|
/******/ "use strict";
|
|
29
29
|
/******/ var __webpack_modules__ = ({
|
|
30
30
|
|
|
31
|
+
/***/ "@tsparticles/engine"
|
|
32
|
+
/*!*********************************************************************************************************************************!*\
|
|
33
|
+
!*** external {"commonjs":"@tsparticles/engine","commonjs2":"@tsparticles/engine","amd":"@tsparticles/engine","root":"window"} ***!
|
|
34
|
+
\*********************************************************************************************************************************/
|
|
35
|
+
(module) {
|
|
36
|
+
|
|
37
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__tsparticles_engine__;
|
|
38
|
+
|
|
39
|
+
/***/ },
|
|
40
|
+
|
|
41
|
+
/***/ "@tsparticles/plugin-interactivity"
|
|
42
|
+
/*!***************************************************************************************************************************************************************************!*\
|
|
43
|
+
!*** external {"commonjs":"@tsparticles/plugin-interactivity","commonjs2":"@tsparticles/plugin-interactivity","amd":"@tsparticles/plugin-interactivity","root":"window"} ***!
|
|
44
|
+
\***************************************************************************************************************************************************************************/
|
|
45
|
+
(module) {
|
|
46
|
+
|
|
47
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_interactivity__;
|
|
48
|
+
|
|
49
|
+
/***/ },
|
|
50
|
+
|
|
31
51
|
/***/ "./dist/browser/EmitterShapeBase.js"
|
|
32
52
|
/*!******************************************!*\
|
|
33
53
|
!*** ./dist/browser/EmitterShapeBase.js ***!
|
|
34
54
|
\******************************************/
|
|
35
55
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
36
56
|
|
|
37
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterShapeBase: () => (/* binding */ EmitterShapeBase)\n/* harmony export */ });\nclass EmitterShapeBase {\n
|
|
57
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterShapeBase: () => (/* binding */ EmitterShapeBase)\n/* harmony export */ });\nclass EmitterShapeBase {\n fill;\n options;\n position;\n size;\n constructor(position, size, fill, options){\n this.position = position;\n this.size = size;\n this.fill = fill;\n this.options = options;\n }\n resize(position, size) {\n this.position = position;\n this.size = size;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-emitters/./dist/browser/EmitterShapeBase.js?\n}");
|
|
38
58
|
|
|
39
59
|
/***/ },
|
|
40
60
|
|
|
@@ -44,7 +64,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
44
64
|
\************************************************/
|
|
45
65
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
46
66
|
|
|
47
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterClickMode: () => (/* binding */ EmitterClickMode)\n/* harmony export */ });\nvar EmitterClickMode;\n(function
|
|
67
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterClickMode: () => (/* binding */ EmitterClickMode)\n/* harmony export */ });\nvar EmitterClickMode;\n(function(EmitterClickMode) {\n EmitterClickMode[\"emitter\"] = \"emitter\";\n})(EmitterClickMode || (EmitterClickMode = {}));\n\n\n//# sourceURL=webpack://@tsparticles/plugin-emitters/./dist/browser/Enums/EmitterClickMode.js?\n}");
|
|
48
68
|
|
|
49
69
|
/***/ },
|
|
50
70
|
|
|
@@ -54,27 +74,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
54
74
|
\*******************************/
|
|
55
75
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
56
76
|
|
|
57
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterClickMode: () => (/* reexport safe */ _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"./dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"./dist/browser/Enums/EmitterClickMode.js\");\nasync function loadEmittersPlugin(engine) {\n
|
|
58
|
-
|
|
59
|
-
/***/ },
|
|
60
|
-
|
|
61
|
-
/***/ "@tsparticles/engine"
|
|
62
|
-
/*!*********************************************************************************************************************************!*\
|
|
63
|
-
!*** external {"commonjs":"@tsparticles/engine","commonjs2":"@tsparticles/engine","amd":"@tsparticles/engine","root":"window"} ***!
|
|
64
|
-
\*********************************************************************************************************************************/
|
|
65
|
-
(module) {
|
|
66
|
-
|
|
67
|
-
module.exports = __WEBPACK_EXTERNAL_MODULE__tsparticles_engine__;
|
|
68
|
-
|
|
69
|
-
/***/ },
|
|
70
|
-
|
|
71
|
-
/***/ "@tsparticles/plugin-interactivity"
|
|
72
|
-
/*!***************************************************************************************************************************************************************************!*\
|
|
73
|
-
!*** external {"commonjs":"@tsparticles/plugin-interactivity","commonjs2":"@tsparticles/plugin-interactivity","amd":"@tsparticles/plugin-interactivity","root":"window"} ***!
|
|
74
|
-
\***************************************************************************************************************************************************************************/
|
|
75
|
-
(module) {
|
|
76
|
-
|
|
77
|
-
module.exports = __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_interactivity__;
|
|
77
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterClickMode: () => (/* reexport safe */ _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase),\n/* harmony export */ ensureEmittersPluginLoaded: () => (/* binding */ ensureEmittersPluginLoaded),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"./dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"./dist/browser/Enums/EmitterClickMode.js\");\nasync function loadEmittersPlugin(engine) {\n engine.checkVersion(\"4.0.0-beta.1\");\n await engine.pluginManager.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { ShapeManager }, { EmittersInstancesManager }, { EmittersPlugin }] = await Promise.all([\n Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"@tsparticles/plugin-interactivity\", 19)),\n __webpack_require__.e(/*! import() */ \"dist_browser_ShapeManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ShapeManager.js */ \"./dist/browser/ShapeManager.js\")),\n __webpack_require__.e(/*! import() */ \"dist_browser_EmittersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInstancesManager.js */ \"./dist/browser/EmittersInstancesManager.js\")),\n __webpack_require__.e(/*! import() */ \"dist_browser_EmittersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPlugin.js */ \"./dist/browser/EmittersPlugin.js\"))\n ]), pluginManager = e.pluginManager, instancesManager = new EmittersInstancesManager(pluginManager);\n ensureInteractivityPluginLoaded(e);\n pluginManager.emitterShapeManager ??= new ShapeManager();\n pluginManager.addEmitterShapeGenerator ??= (name, generator)=>{\n pluginManager.emitterShapeManager?.addShapeGenerator(name, generator);\n };\n pluginManager.addPlugin(new EmittersPlugin(instancesManager));\n pluginManager.addInteractor?.(\"externalEmitters\", async (container)=>{\n const { EmittersInteractor } = await __webpack_require__.e(/*! import() */ \"dist_browser_EmittersInteractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInteractor.js */ \"./dist/browser/EmittersInteractor.js\"));\n return new EmittersInteractor(instancesManager, container);\n });\n });\n}\nfunction ensureEmittersPluginLoaded(e) {\n if (!e.pluginManager.addEmitterShapeGenerator) {\n throw new Error(\"tsParticles Emitters Plugin is not loaded\");\n }\n}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/plugin-emitters/./dist/browser/index.js?\n}");
|
|
78
78
|
|
|
79
79
|
/***/ }
|
|
80
80
|
|
|
@@ -90,12 +90,6 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_interactivity__;
|
|
|
90
90
|
/******/ if (cachedModule !== undefined) {
|
|
91
91
|
/******/ return cachedModule.exports;
|
|
92
92
|
/******/ }
|
|
93
|
-
/******/ // Check if module exists (development only)
|
|
94
|
-
/******/ if (__webpack_modules__[moduleId] === undefined) {
|
|
95
|
-
/******/ var e = new Error("Cannot find module '" + moduleId + "'");
|
|
96
|
-
/******/ e.code = 'MODULE_NOT_FOUND';
|
|
97
|
-
/******/ throw e;
|
|
98
|
-
/******/ }
|
|
99
93
|
/******/ // Create a new module (and put it into the cache)
|
|
100
94
|
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
101
95
|
/******/ // no module.id needed
|
|
@@ -104,6 +98,12 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_interactivity__;
|
|
|
104
98
|
/******/ };
|
|
105
99
|
/******/
|
|
106
100
|
/******/ // Execute the module function
|
|
101
|
+
/******/ if (!(moduleId in __webpack_modules__)) {
|
|
102
|
+
/******/ delete __webpack_module_cache__[moduleId];
|
|
103
|
+
/******/ var e = new Error("Cannot find module '" + moduleId + "'");
|
|
104
|
+
/******/ e.code = 'MODULE_NOT_FOUND';
|
|
105
|
+
/******/ throw e;
|
|
106
|
+
/******/ }
|
|
107
107
|
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
108
108
|
/******/
|
|
109
109
|
/******/ // Return the exports of the module
|
|
@@ -178,6 +178,18 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_interactivity__;
|
|
|
178
178
|
/******/ };
|
|
179
179
|
/******/ })();
|
|
180
180
|
/******/
|
|
181
|
+
/******/ /* webpack/runtime/global */
|
|
182
|
+
/******/ (() => {
|
|
183
|
+
/******/ __webpack_require__.g = (function() {
|
|
184
|
+
/******/ if (typeof globalThis === 'object') return globalThis;
|
|
185
|
+
/******/ try {
|
|
186
|
+
/******/ return this || new Function('return this')();
|
|
187
|
+
/******/ } catch (e) {
|
|
188
|
+
/******/ if (typeof window === 'object') return window;
|
|
189
|
+
/******/ }
|
|
190
|
+
/******/ })();
|
|
191
|
+
/******/ })();
|
|
192
|
+
/******/
|
|
181
193
|
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
182
194
|
/******/ (() => {
|
|
183
195
|
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
@@ -242,8 +254,8 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_interactivity__;
|
|
|
242
254
|
/******/ /* webpack/runtime/publicPath */
|
|
243
255
|
/******/ (() => {
|
|
244
256
|
/******/ var scriptUrl;
|
|
245
|
-
/******/ if (
|
|
246
|
-
/******/ var document =
|
|
257
|
+
/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
|
|
258
|
+
/******/ var document = __webpack_require__.g.document;
|
|
247
259
|
/******/ if (!scriptUrl && document) {
|
|
248
260
|
/******/ if (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')
|
|
249
261
|
/******/ scriptUrl = document.currentScript.src;
|
|
@@ -1,2 +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 i in r)("object"==typeof exports?exports:e)[i]=r[i]}}(this,(e,t)=>(()=>{"use strict";var r,i,n,o,a={303(e){e.exports=t},702(t){t.exports=e}},s={};function l(e){var t=s[e];if(void 0!==t)return t.exports;var r=s[e]={exports:{}};return a[e](r,r.exports,l),r.exports}l.m=a,c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,l.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);l.r(r);var i={};p=p||[null,c({}),c([]),c(c)];for(var n=2&t&&e;("object"==typeof n||"function"==typeof n)&&!~p.indexOf(n);n=c(n))Object.getOwnPropertyNames(n).forEach(t=>i[t]=()=>e[t]);return i.default=()=>e,l.d(r,i),r},l.d=(e,t)=>{for(var r in t)l.o(t,r)&&!l.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},l.f={},l.e=e=>Promise.all(Object.keys(l.f).reduce((t,r)=>(l.f[r](e,t),t),[])),l.u=e=>""+e+".min.js",l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),u={},l.l=(e,t,r,i)=>{if(u[e])return void u[e].push(t);if(void 0!==r)for(var n,o,a=document.getElementsByTagName("script"),s=0;s<a.length;s++){var p=a[s];if(p.getAttribute("src")==e||p.getAttribute("data-webpack")=="@tsparticles/plugin-emitters:"+r){n=p;break}}n||(o=!0,(n=document.createElement("script")).charset="utf-8",l.nc&&n.setAttribute("nonce",l.nc),n.setAttribute("data-webpack","@tsparticles/plugin-emitters:"+r),n.src=e),u[e]=[t];var c=(t,r)=>{n.onerror=n.onload=null,clearTimeout(d);var i=u[e];if(delete u[e],n.parentNode&&n.parentNode.removeChild(n),i&&i.forEach(e=>e(r)),t)return t(r)},d=setTimeout(c.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=c.bind(null,n.onerror),n.onload=c.bind(null,n.onload),o&&document.head.appendChild(n)},l.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.g.importScripts&&(d=l.g.location+"");var p,c,u,d,f=l.g.document;if(!d&&f&&(f.currentScript&&"SCRIPT"===f.currentScript.tagName.toUpperCase()&&(d=f.currentScript.src),!d)){var h=f.getElementsByTagName("script");if(h.length)for(var g=h.length-1;g>-1&&(!d||!/^http(s?):/.test(d));)d=h[g--].src}if(!d)throw Error("Automatic publicPath is not supported in this browser");l.p=d=d.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r={833:0},l.f.j=(e,t)=>{var i=l.o(r,e)?r[e]:void 0;if(0!==i)if(i)t.push(i[2]);else{var n=new Promise((t,n)=>i=r[e]=[t,n]);t.push(i[2]=n);var o=l.p+l.u(e),a=Error();l.l(o,t=>{if(l.o(r,e)&&(0!==(i=r[e])&&(r[e]=void 0),i)){var n=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;a.message="Loading chunk "+e+` failed.
|
|
2
|
+
(`+n+": "+o+")",a.name="ChunkLoadError",a.type=n,a.request=o,i[1](a)}},"chunk-"+e,e)}},i=(e,t)=>{var i,n,[o,a,s]=t,p=0;if(o.some(e=>0!==r[e])){for(i in a)l.o(a,i)&&(l.m[i]=a[i]);s&&s(l)}for(e&&e(t);p<o.length;p++)n=o[p],l.o(r,n)&&r[n]&&r[n][0](),r[n]=0},(n=this.webpackChunk_tsparticles_plugin_emitters=this.webpackChunk_tsparticles_plugin_emitters||[]).forEach(i.bind(null,0)),n.push=i.bind(null,n.push.bind(n));var m={};l.r(m),l.d(m,{EmitterClickMode:()=>o,EmitterShapeBase:()=>b,ensureEmittersPluginLoaded:()=>v,loadEmittersPlugin:()=>y});class b{fill;options;position;size;constructor(e,t,r,i){this.position=e,this.size=t,this.fill=r,this.options=i}resize(e,t){this.position=e,this.size=t}}async function y(e){e.checkVersion("4.0.0-beta.1"),await e.pluginManager.register(async e=>{let[{ensureInteractivityPluginLoaded:t},{ShapeManager:r},{EmittersInstancesManager:i},{EmittersPlugin:n}]=await Promise.all([Promise.resolve().then(l.t.bind(l,702,19)),l.e(592).then(l.bind(l,592)),l.e(764).then(l.bind(l,764)),l.e(392).then(l.bind(l,392))]),o=e.pluginManager,a=new i(o);t(e),o.emitterShapeManager??=new r,o.addEmitterShapeGenerator??=(e,t)=>{o.emitterShapeManager?.addShapeGenerator(e,t)},o.addPlugin(new n(a)),o.addInteractor?.("externalEmitters",async e=>{let{EmittersInteractor:t}=await l.e(414).then(l.bind(l,414));return new t(a,e)})})}function v(e){if(!e.pluginManager.addEmitterShapeGenerator)throw Error("tsParticles Emitters Plugin is not loaded")}return(o||(o={})).emitter="emitter",m})());
|
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
import { type Container, type ICoordinates, type IDelta, type IDimension, type IHsl, type RecursivePartial } from "@tsparticles/engine";
|
|
2
2
|
import { Emitter } from "./Options/Classes/Emitter.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { EmittersPluginManager } from "./EmittersEngine.js";
|
|
4
4
|
import type { IEmitter } from "./Options/Interfaces/IEmitter.js";
|
|
5
5
|
export declare class EmitterInstance {
|
|
6
|
-
private readonly container;
|
|
7
|
-
private readonly removeCallback;
|
|
8
6
|
fill: boolean;
|
|
9
7
|
readonly name?: string;
|
|
10
8
|
options: Emitter;
|
|
11
9
|
position: ICoordinates;
|
|
12
10
|
size: IDimension;
|
|
13
|
-
|
|
11
|
+
spawnFillColor?: IHsl;
|
|
12
|
+
spawnFillEnabled?: boolean;
|
|
13
|
+
spawnFillOpacity?: number;
|
|
14
|
+
spawnStrokeColor?: IHsl;
|
|
15
|
+
spawnStrokeOpacity?: number;
|
|
16
|
+
spawnStrokeWidth?: number;
|
|
17
|
+
private readonly _container;
|
|
14
18
|
private _currentDuration;
|
|
15
19
|
private _currentEmitDelay;
|
|
16
20
|
private _currentSpawnDelay;
|
|
17
21
|
private _duration?;
|
|
18
22
|
private _emitDelay?;
|
|
19
|
-
private readonly _engine;
|
|
20
23
|
private _firstSpawn;
|
|
21
24
|
private readonly _immortal;
|
|
22
25
|
private readonly _initialPosition?;
|
|
@@ -24,12 +27,14 @@ export declare class EmitterInstance {
|
|
|
24
27
|
private _mutationObserver?;
|
|
25
28
|
private readonly _particlesOptions;
|
|
26
29
|
private _paused;
|
|
30
|
+
private readonly _pluginManager;
|
|
31
|
+
private readonly _removeCallback;
|
|
27
32
|
private _resizeObserver?;
|
|
28
33
|
private readonly _shape?;
|
|
29
34
|
private _size;
|
|
30
35
|
private _spawnDelay?;
|
|
31
36
|
private _startParticlesAdded;
|
|
32
|
-
constructor(
|
|
37
|
+
constructor(pluginManager: EmittersPluginManager, container: Container, removeCallback: (emitter: EmitterInstance) => void, options: Emitter | RecursivePartial<IEmitter>, position?: ICoordinates);
|
|
33
38
|
externalPause(): void;
|
|
34
39
|
externalPlay(): void;
|
|
35
40
|
init(): Promise<void>;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import type { InteractivityEngine, InteractivityPluginManager } from "@tsparticles/plugin-interactivity";
|
|
1
2
|
import type { IEmitterShapeGenerator } from "./IEmitterShapeGenerator.js";
|
|
2
|
-
import type { InteractivityEngine } from "@tsparticles/plugin-interactivity";
|
|
3
3
|
import type { ShapeManager } from "./ShapeManager.js";
|
|
4
|
-
export type
|
|
4
|
+
export type EmittersPluginManager = InteractivityPluginManager & {
|
|
5
5
|
addEmitterShapeGenerator?: (name: string, shape: IEmitterShapeGenerator) => void;
|
|
6
6
|
emitterShapeManager?: ShapeManager;
|
|
7
7
|
};
|
|
8
|
+
export type EmittersEngine = InteractivityEngine & {
|
|
9
|
+
pluginManager: EmittersPluginManager;
|
|
10
|
+
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { type ICoordinates, type RecursivePartial } from "@tsparticles/engine";
|
|
2
2
|
import type { EmitterContainer } from "./EmitterContainer.js";
|
|
3
3
|
import type { EmitterInstance } from "./EmitterInstance.js";
|
|
4
|
-
import type {
|
|
4
|
+
import type { EmittersPluginManager } from "./EmittersEngine.js";
|
|
5
5
|
import type { IEmitter } from "./Options/Interfaces/IEmitter.js";
|
|
6
6
|
export declare class EmittersInstancesManager {
|
|
7
7
|
private readonly _containerArrays;
|
|
8
|
-
private readonly
|
|
9
|
-
constructor(
|
|
8
|
+
private readonly _pluginManager;
|
|
9
|
+
constructor(pluginManager: EmittersPluginManager);
|
|
10
10
|
addEmitter(container: EmitterContainer, options: RecursivePartial<IEmitter>, position?: ICoordinates): Promise<EmitterInstance>;
|
|
11
11
|
clear(container: EmitterContainer): void;
|
|
12
12
|
getArray(container: EmitterContainer): EmitterInstance[];
|
|
@@ -6,6 +6,7 @@ import type { EmitterInstance } from "./EmitterInstance.js";
|
|
|
6
6
|
import type { EmittersInstancesManager } from "./EmittersInstancesManager.js";
|
|
7
7
|
export declare class EmittersInteractor extends ExternalInteractorBase<EmitterContainer> {
|
|
8
8
|
handleClickMode: (mode: string, interactivityData: IInteractivityData) => void;
|
|
9
|
+
readonly maxDistance: number;
|
|
9
10
|
private readonly _instancesManager;
|
|
10
11
|
constructor(instancesManager: EmittersInstancesManager, container: EmitterContainer);
|
|
11
12
|
clear(): void;
|
|
@@ -3,7 +3,7 @@ import type { EmitterOptions, IEmitterOptions } from "./types.js";
|
|
|
3
3
|
import type { EmitterContainer } from "./EmitterContainer.js";
|
|
4
4
|
import type { EmittersInstancesManager } from "./EmittersInstancesManager.js";
|
|
5
5
|
export declare class EmittersPlugin implements IPlugin {
|
|
6
|
-
readonly id
|
|
6
|
+
readonly id = "emitters";
|
|
7
7
|
private readonly _instancesManager;
|
|
8
8
|
constructor(instancesManager: EmittersInstancesManager);
|
|
9
9
|
getPlugin(container: EmitterContainer): Promise<IContainerPlugin>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ICoordinates, IDimension } from "@tsparticles/engine";
|
|
1
|
+
import type { Container, ICoordinates, IDimension } from "@tsparticles/engine";
|
|
2
2
|
import type { IEmitterShape } from "./IEmitterShape.js";
|
|
3
3
|
export interface IEmitterShapeGenerator<TOptions = unknown> {
|
|
4
|
-
generate(position: ICoordinates, size: IDimension, fill: boolean, options: TOptions): IEmitterShape;
|
|
4
|
+
generate(container: Container, position: ICoordinates, size: IDimension, fill: boolean, options: TOptions): IEmitterShape;
|
|
5
5
|
}
|
|
@@ -3,6 +3,7 @@ import { EmitterLife } from "./EmitterLife.js";
|
|
|
3
3
|
import { EmitterRate } from "./EmitterRate.js";
|
|
4
4
|
import { EmitterShape } from "./EmitterShape.js";
|
|
5
5
|
import { EmitterSize } from "./EmitterSize.js";
|
|
6
|
+
import { EmitterSpawn } from "./EmitterSpawn.js";
|
|
6
7
|
import type { IEmitter } from "../Interfaces/IEmitter.js";
|
|
7
8
|
export declare class Emitter implements IEmitter, IOptionLoader<IEmitter> {
|
|
8
9
|
autoPlay: boolean;
|
|
@@ -16,7 +17,9 @@ export declare class Emitter implements IEmitter, IOptionLoader<IEmitter> {
|
|
|
16
17
|
rate: EmitterRate;
|
|
17
18
|
shape: EmitterShape;
|
|
18
19
|
size?: EmitterSize;
|
|
19
|
-
|
|
20
|
+
spawn: EmitterSpawn;
|
|
21
|
+
spawnFillColor?: AnimatableColor;
|
|
22
|
+
spawnStrokeColor?: AnimatableColor;
|
|
20
23
|
startCount: number;
|
|
21
24
|
constructor();
|
|
22
25
|
load(data?: RecursivePartial<IEmitter>): void;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Fill, type IOptionLoader, type RecursivePartial, Stroke } from "@tsparticles/engine";
|
|
2
|
+
import type { IEmitterSpawn } from "../Interfaces/IEmitterSpawn.js";
|
|
3
|
+
export declare class EmitterSpawn implements IEmitterSpawn, IOptionLoader<IEmitterSpawn> {
|
|
4
|
+
fill?: Fill;
|
|
5
|
+
stroke?: Stroke;
|
|
6
|
+
load(data?: RecursivePartial<IEmitterSpawn>): void;
|
|
7
|
+
}
|
|
@@ -3,6 +3,7 @@ import type { IEmitterLife } from "./IEmitterLife.js";
|
|
|
3
3
|
import type { IEmitterRate } from "./IEmitterRate.js";
|
|
4
4
|
import type { IEmitterShape } from "./IEmitterShape.js";
|
|
5
5
|
import type { IEmitterSize } from "./IEmitterSize.js";
|
|
6
|
+
import type { IEmitterSpawn } from "./IEmitterSpawn.js";
|
|
6
7
|
export interface IEmitter {
|
|
7
8
|
autoPlay: boolean;
|
|
8
9
|
direction?: MoveDirection | keyof typeof MoveDirection | MoveDirectionAlt | number;
|
|
@@ -15,6 +16,8 @@ export interface IEmitter {
|
|
|
15
16
|
rate: IEmitterRate;
|
|
16
17
|
shape: IEmitterShape;
|
|
17
18
|
size?: IEmitterSize;
|
|
18
|
-
|
|
19
|
+
spawn: IEmitterSpawn;
|
|
20
|
+
spawnFillColor?: IAnimatableColor;
|
|
21
|
+
spawnStrokeColor?: IAnimatableColor;
|
|
19
22
|
startCount: number;
|
|
20
23
|
}
|
package/types/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { EmittersEngine } from "./EmittersEngine.js";
|
|
2
2
|
export declare function loadEmittersPlugin(engine: EmittersEngine): Promise<void>;
|
|
3
|
+
export declare function ensureEmittersPluginLoaded(e: EmittersEngine): void;
|
|
3
4
|
export type * from "./EmitterContainer.js";
|
|
4
5
|
export * from "./EmitterShapeBase.js";
|
|
5
6
|
export type * from "./EmittersEngine.js";
|