@tsparticles/plugin-emitters-shape-path 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,5 +1,5 @@
1
1
  export async function loadEmittersShapePath(engine) {
2
- engine.checkVersion("4.0.0-beta.1");
2
+ engine.checkVersion("4.0.0-beta.2");
3
3
  await engine.pluginManager.register(async (e) => {
4
4
  const { ensureEmittersPluginLoaded } = await import("@tsparticles/plugin-emitters");
5
5
  ensureEmittersPluginLoaded(e);
package/cjs/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export async function loadEmittersShapePath(engine) {
2
- engine.checkVersion("4.0.0-beta.1");
2
+ engine.checkVersion("4.0.0-beta.2");
3
3
  await engine.pluginManager.register(async (e) => {
4
4
  const { ensureEmittersPluginLoaded } = await import("@tsparticles/plugin-emitters");
5
5
  ensureEmittersPluginLoaded(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,5 +1,5 @@
1
1
  export async function loadEmittersShapePath(engine) {
2
- engine.checkVersion("4.0.0-beta.1");
2
+ engine.checkVersion("4.0.0-beta.2");
3
3
  await engine.pluginManager.register(async (e) => {
4
4
  const { ensureEmittersPluginLoaded } = await import("@tsparticles/plugin-emitters");
5
5
  ensureEmittersPluginLoaded(e);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/plugin-emitters-shape-path",
3
- "version": "4.0.0-beta.1",
3
+ "version": "4.0.0-beta.2",
4
4
  "description": "tsParticles emitters shape path plugin",
5
5
  "homepage": "https://particles.js.org",
6
6
  "repository": {
@@ -94,12 +94,11 @@
94
94
  "browser": "./browser/index.js",
95
95
  "import": "./esm/index.js",
96
96
  "require": "./cjs/index.js",
97
- "umd": "./umd/index.js",
98
- "default": "./cjs/index.js"
97
+ "default": "./esm/index.js"
99
98
  },
100
99
  "./package.json": "./package.json"
101
100
  },
102
- "dependencies": {
101
+ "peerDependencies": {
103
102
  "@tsparticles/engine": "4.0.0-beta.1",
104
103
  "@tsparticles/plugin-emitters": "4.0.0-beta.1"
105
104
  },
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/plugin-emitters-shape-path [31 Mar 2026 at 08:47]</title>
6
+ <title>@tsparticles/plugin-emitters-shape-path [2 Apr 2026 at 07:40]</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").
@@ -54,7 +54,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_emitters__;
54
54
  \*******************************/
55
55
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
56
56
 
57
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEmittersShapePath: () => (/* binding */ loadEmittersShapePath)\n/* harmony export */ });\nasync function loadEmittersShapePath(engine) {\n engine.checkVersion(\"4.0.0-beta.1\");\n await engine.pluginManager.register(async (e)=>{\n const { ensureEmittersPluginLoaded } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"@tsparticles/plugin-emitters\", 19));\n ensureEmittersPluginLoaded(e);\n const { EmittersPathShapeGenerator } = await __webpack_require__.e(/*! import() */ \"dist_browser_EmittersPathShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPathShapeGenerator.js */ \"./dist/browser/EmittersPathShapeGenerator.js\"));\n e.pluginManager.addEmitterShapeGenerator?.(\"path\", new EmittersPathShapeGenerator());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-emitters-shape-path/./dist/browser/index.js?\n}");
57
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEmittersShapePath: () => (/* binding */ loadEmittersShapePath)\n/* harmony export */ });\nasync function loadEmittersShapePath(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register(async (e)=>{\n const { ensureEmittersPluginLoaded } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"@tsparticles/plugin-emitters\", 19));\n ensureEmittersPluginLoaded(e);\n const { EmittersPathShapeGenerator } = await __webpack_require__.e(/*! import() */ \"dist_browser_EmittersPathShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPathShapeGenerator.js */ \"./dist/browser/EmittersPathShapeGenerator.js\"));\n e.pluginManager.addEmitterShapeGenerator?.(\"path\", new EmittersPathShapeGenerator());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/plugin-emitters-shape-path/./dist/browser/index.js?\n}");
58
58
 
59
59
  /***/ }
60
60
 
@@ -1,2 +1,2 @@
1
1
  !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/plugin-emitters"),require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/plugin-emitters","@tsparticles/engine"],t);else{var r="object"==typeof exports?t(require("@tsparticles/plugin-emitters"),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,n={303(e){e.exports=t},526(t){t.exports=e}},a={};function s(e){var t=a[e];if(void 0!==t)return t.exports;var r=a[e]={exports:{}};return n[e](r,r.exports,s),r.exports}s.m=n,c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,s.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);s.r(r);var o={};p=p||[null,c({}),c([]),c(c)];for(var i=2&t&&e;("object"==typeof i||"function"==typeof i)&&!~p.indexOf(i);i=c(i))Object.getOwnPropertyNames(i).forEach(t=>o[t]=()=>e[t]);return o.default=()=>e,s.d(r,o),r},s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.f={},s.e=e=>Promise.all(Object.keys(s.f).reduce((t,r)=>(s.f[r](e,t),t),[])),s.u=e=>""+e+".min.js",s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),l={},s.l=(e,t,r,o)=>{if(l[e])return void l[e].push(t);if(void 0!==r)for(var i,n,a=document.getElementsByTagName("script"),p=0;p<a.length;p++){var c=a[p];if(c.getAttribute("src")==e||c.getAttribute("data-webpack")=="@tsparticles/plugin-emitters-shape-path:"+r){i=c;break}}i||(n=!0,(i=document.createElement("script")).charset="utf-8",s.nc&&i.setAttribute("nonce",s.nc),i.setAttribute("data-webpack","@tsparticles/plugin-emitters-shape-path:"+r),i.src=e),l[e]=[t];var u=(t,r)=>{i.onerror=i.onload=null,clearTimeout(f);var o=l[e];if(delete l[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach(e=>e(r)),t)return t(r)},f=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),n&&document.head.appendChild(i)},s.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.g.importScripts&&(u=s.g.location+"");var p,c,l,u,f=s.g.document;if(!u&&f&&(f.currentScript&&"SCRIPT"===f.currentScript.tagName.toUpperCase()&&(u=f.currentScript.src),!u)){var d=f.getElementsByTagName("script");if(d.length)for(var h=d.length-1;h>-1&&(!u||!/^http(s?):/.test(u));)u=d[h--].src}if(!u)throw Error("Automatic publicPath is not supported in this browser");s.p=u=u.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r={395:0},s.f.j=(e,t)=>{var o=s.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 n=s.p+s.u(e),a=Error();s.l(n,t=>{if(s.o(r,e)&&(0!==(o=r[e])&&(r[e]=void 0),o)){var i=t&&("load"===t.type?"missing":t.type),n=t&&t.target&&t.target.src;a.message="Loading chunk "+e+` failed.
2
- (`+i+": "+n+")",a.name="ChunkLoadError",a.type=i,a.request=n,o[1](a)}},"chunk-"+e,e)}},o=(e,t)=>{var o,i,[n,a,p]=t,c=0;if(n.some(e=>0!==r[e])){for(o in a)s.o(a,o)&&(s.m[o]=a[o]);p&&p(s)}for(e&&e(t);c<n.length;c++)i=n[c],s.o(r,i)&&r[i]&&r[i][0](),r[i]=0},(i=this.webpackChunk_tsparticles_plugin_emitters_shape_path=this.webpackChunk_tsparticles_plugin_emitters_shape_path||[]).forEach(o.bind(null,0)),i.push=o.bind(null,i.push.bind(i));var g={};async function b(e){e.checkVersion("4.0.0-beta.1"),await e.pluginManager.register(async e=>{let{ensureEmittersPluginLoaded:t}=await Promise.resolve().then(s.t.bind(s,526,19));t(e);let{EmittersPathShapeGenerator:r}=await s.e(980).then(s.bind(s,980));e.pluginManager.addEmitterShapeGenerator?.("path",new r)})}return s.r(g),s.d(g,{loadEmittersShapePath:()=>b}),g})());
2
+ (`+i+": "+n+")",a.name="ChunkLoadError",a.type=i,a.request=n,o[1](a)}},"chunk-"+e,e)}},o=(e,t)=>{var o,i,[n,a,p]=t,c=0;if(n.some(e=>0!==r[e])){for(o in a)s.o(a,o)&&(s.m[o]=a[o]);p&&p(s)}for(e&&e(t);c<n.length;c++)i=n[c],s.o(r,i)&&r[i]&&r[i][0](),r[i]=0},(i=this.webpackChunk_tsparticles_plugin_emitters_shape_path=this.webpackChunk_tsparticles_plugin_emitters_shape_path||[]).forEach(o.bind(null,0)),i.push=o.bind(null,i.push.bind(i));var g={};async function b(e){e.checkVersion("4.0.0-beta.2"),await e.pluginManager.register(async e=>{let{ensureEmittersPluginLoaded:t}=await Promise.resolve().then(s.t.bind(s,526,19));t(e);let{EmittersPathShapeGenerator:r}=await s.e(980).then(s.bind(s,980));e.pluginManager.addEmitterShapeGenerator?.("path",new r)})}return s.r(g),s.d(g,{loadEmittersShapePath:()=>b}),g})());
@@ -1,94 +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/engine", "@tsparticles/plugin-emitters", "./utils.js"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.EmittersPathShape = void 0;
13
- const engine_1 = require("@tsparticles/engine");
14
- const plugin_emitters_1 = require("@tsparticles/plugin-emitters");
15
- const utils_js_1 = require("./utils.js");
16
- class EmittersPathShape extends plugin_emitters_1.EmitterShapeBase {
17
- checkContext;
18
- path;
19
- points;
20
- constructor(container, position, size, fill, options) {
21
- super(position, size, fill, options);
22
- const ctx = (0, engine_1.safeDocument)().createElement("canvas").getContext("2d", container.canvas.render.settings);
23
- if (!ctx) {
24
- throw new Error(`No 2d context available`);
25
- }
26
- this.checkContext = ctx;
27
- this.points = options.points;
28
- const pathData = this.points, path = new Path2D(), offset = {
29
- x: position.x - size.width * engine_1.half,
30
- y: position.y - size.height * engine_1.half,
31
- };
32
- for (const [index, point] of pathData.entries()) {
33
- const coords = {
34
- x: offset.x + (point.x * size.width) / engine_1.percentDenominator,
35
- y: offset.y + (point.y * size.height) / engine_1.percentDenominator,
36
- };
37
- if (!index) {
38
- path.moveTo(coords.x, coords.y);
39
- }
40
- else {
41
- path.lineTo(coords.x, coords.y);
42
- }
43
- }
44
- const firstIndex = 0, firstPathData = pathData[firstIndex];
45
- if (!firstPathData) {
46
- throw new Error(`No path data available`);
47
- }
48
- const coords = {
49
- x: offset.x + (firstPathData.x * size.width) / engine_1.percentDenominator,
50
- y: offset.y + (firstPathData.y * size.height) / engine_1.percentDenominator,
51
- };
52
- path.lineTo(coords.x, coords.y);
53
- this.path = path;
54
- }
55
- async init() {
56
- }
57
- randomPosition() {
58
- const ctx = this.checkContext, position = this.position, size = this.size, fill = this.fill, path = this.path, res = fill
59
- ? (0, utils_js_1.generateRandomPointWithinPath)(ctx, path, position, size)
60
- : (0, utils_js_1.generateRandomPointOnPathPerimeter)(ctx, path, position, size);
61
- return res ? { position: res } : null;
62
- }
63
- resize(position, size) {
64
- super.resize(position, size);
65
- const pathData = this.points, path = new Path2D(), offset = {
66
- x: position.x - size.width * engine_1.half,
67
- y: position.y - size.height * engine_1.half,
68
- };
69
- for (const [index, point] of pathData.entries()) {
70
- const coords = {
71
- x: offset.x + (point.x * size.width) / engine_1.percentDenominator,
72
- y: offset.y + (point.y * size.height) / engine_1.percentDenominator,
73
- };
74
- if (!index) {
75
- path.moveTo(coords.x, coords.y);
76
- }
77
- else {
78
- path.lineTo(coords.x, coords.y);
79
- }
80
- }
81
- const firstIndex = 0, firstPathData = pathData[firstIndex];
82
- if (!firstPathData) {
83
- throw new Error(`No path data available`);
84
- }
85
- const coords = {
86
- x: offset.x + (firstPathData.x * size.width) / engine_1.percentDenominator,
87
- y: offset.y + (firstPathData.y * size.height) / engine_1.percentDenominator,
88
- };
89
- path.lineTo(coords.x, coords.y);
90
- this.path = path;
91
- }
92
- }
93
- exports.EmittersPathShape = EmittersPathShape;
94
- });
@@ -1,23 +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", "./EmittersPathShape.js", "./Options/Classes/EmittersPathShapeOptions.js"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.EmittersPathShapeGenerator = void 0;
13
- const EmittersPathShape_js_1 = require("./EmittersPathShape.js");
14
- const EmittersPathShapeOptions_js_1 = require("./Options/Classes/EmittersPathShapeOptions.js");
15
- class EmittersPathShapeGenerator {
16
- generate(container, position, size, fill, options) {
17
- const shapeOptions = new EmittersPathShapeOptions_js_1.EmittersPathShapeOptions();
18
- shapeOptions.load(options);
19
- return new EmittersPathShape_js_1.EmittersPathShape(container, position, size, fill, shapeOptions);
20
- }
21
- }
22
- exports.EmittersPathShapeGenerator = EmittersPathShapeGenerator;
23
- });
@@ -1,30 +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/engine"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.EmittersPathShapeOptions = void 0;
13
- const engine_1 = require("@tsparticles/engine");
14
- const defaultPosition = { x: 50, y: 50 };
15
- class EmittersPathShapeOptions {
16
- points;
17
- constructor() {
18
- this.points = [];
19
- }
20
- load(data) {
21
- if ((0, engine_1.isNull)(data)) {
22
- return;
23
- }
24
- if (data.points !== undefined) {
25
- this.points = data.points.map(t => ({ x: t.x ?? defaultPosition.x, y: t.y ?? defaultPosition.y }));
26
- }
27
- }
28
- }
29
- exports.EmittersPathShapeOptions = EmittersPathShapeOptions;
30
- });
@@ -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,56 +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"], 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.loadEmittersShapePath = loadEmittersShapePath;
47
- async function loadEmittersShapePath(engine) {
48
- engine.checkVersion("4.0.0-beta.1");
49
- await engine.pluginManager.register(async (e) => {
50
- const { ensureEmittersPluginLoaded } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/plugin-emitters"))) : new Promise((resolve_1, reject_1) => { require(["@tsparticles/plugin-emitters"], resolve_1, reject_1); }).then(__importStar));
51
- ensureEmittersPluginLoaded(e);
52
- const { EmittersPathShapeGenerator } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("./EmittersPathShapeGenerator.js"))) : new Promise((resolve_2, reject_2) => { require(["./EmittersPathShapeGenerator.js"], resolve_2, reject_2); }).then(__importStar));
53
- e.pluginManager.addEmitterShapeGenerator?.("path", new EmittersPathShapeGenerator());
54
- });
55
- }
56
- });
package/umd/utils.js DELETED
@@ -1,44 +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/engine"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.generateRandomPointWithinPath = generateRandomPointWithinPath;
13
- exports.generateRandomPointOnPathPerimeter = generateRandomPointOnPathPerimeter;
14
- const engine_1 = require("@tsparticles/engine");
15
- const maxAttempts = 100;
16
- function generateRandomPointWithinPath(ctx, path, center, size) {
17
- let randomPoint = null;
18
- for (let attempts = 0; attempts < maxAttempts; attempts++) {
19
- const tmpPoint = {
20
- x: center.x + (0, engine_1.getRandom)() * size.width - size.width * engine_1.half,
21
- y: center.y + (0, engine_1.getRandom)() * size.height - size.height * engine_1.half,
22
- };
23
- if (ctx.isPointInPath(path, tmpPoint.x, tmpPoint.y)) {
24
- randomPoint = tmpPoint;
25
- break;
26
- }
27
- }
28
- return randomPoint;
29
- }
30
- function generateRandomPointOnPathPerimeter(ctx, path, center, size) {
31
- let randomPoint = null;
32
- for (let attempts = 0; attempts < maxAttempts; attempts++) {
33
- const tmpPoint = {
34
- x: center.x + (0, engine_1.getRandom)() * size.width - size.width * engine_1.half,
35
- y: center.y + (0, engine_1.getRandom)() * size.height - size.height * engine_1.half,
36
- };
37
- if (ctx.isPointInStroke(path, tmpPoint.x, tmpPoint.y)) {
38
- randomPoint = tmpPoint;
39
- break;
40
- }
41
- }
42
- return randomPoint;
43
- }
44
- });