@tsparticles/plugin-emitters-shape-path 4.2.1 → 4.3.0

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,7 +1,7 @@
1
1
  import { ensureEmittersPluginLoaded } from "@tsparticles/plugin-emitters";
2
2
  import { EmittersPathShapeGenerator } from "./EmittersPathShapeGenerator.js";
3
3
  export async function loadEmittersShapePath(engine) {
4
- engine.checkVersion("4.2.1");
4
+ engine.checkVersion("4.3.0");
5
5
  await engine.pluginManager.register((e) => {
6
6
  ensureEmittersPluginLoaded(e);
7
7
  e.pluginManager.addEmitterShapeGenerator?.("path", new EmittersPathShapeGenerator());
@@ -1,5 +1,5 @@
1
1
  export async function loadEmittersShapePath(engine) {
2
- engine.checkVersion("4.2.1");
2
+ engine.checkVersion("4.3.0");
3
3
  await engine.pluginManager.register(async (e) => {
4
4
  const { ensureEmittersPluginLoaded } = await import("@tsparticles/plugin-emitters/lazy");
5
5
  ensureEmittersPluginLoaded(e);
package/cjs/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ensureEmittersPluginLoaded } from "@tsparticles/plugin-emitters";
2
2
  import { EmittersPathShapeGenerator } from "./EmittersPathShapeGenerator.js";
3
3
  export async function loadEmittersShapePath(engine) {
4
- engine.checkVersion("4.2.1");
4
+ engine.checkVersion("4.3.0");
5
5
  await engine.pluginManager.register((e) => {
6
6
  ensureEmittersPluginLoaded(e);
7
7
  e.pluginManager.addEmitterShapeGenerator?.("path", new EmittersPathShapeGenerator());
package/cjs/index.lazy.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export async function loadEmittersShapePath(engine) {
2
- engine.checkVersion("4.2.1");
2
+ engine.checkVersion("4.3.0");
3
3
  await engine.pluginManager.register(async (e) => {
4
4
  const { ensureEmittersPluginLoaded } = await import("@tsparticles/plugin-emitters/lazy");
5
5
  ensureEmittersPluginLoaded(e);
package/esm/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ensureEmittersPluginLoaded } from "@tsparticles/plugin-emitters";
2
2
  import { EmittersPathShapeGenerator } from "./EmittersPathShapeGenerator.js";
3
3
  export async function loadEmittersShapePath(engine) {
4
- engine.checkVersion("4.2.1");
4
+ engine.checkVersion("4.3.0");
5
5
  await engine.pluginManager.register((e) => {
6
6
  ensureEmittersPluginLoaded(e);
7
7
  e.pluginManager.addEmitterShapeGenerator?.("path", new EmittersPathShapeGenerator());
package/esm/index.lazy.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export async function loadEmittersShapePath(engine) {
2
- engine.checkVersion("4.2.1");
2
+ engine.checkVersion("4.3.0");
3
3
  await engine.pluginManager.register(async (e) => {
4
4
  const { ensureEmittersPluginLoaded } = await import("@tsparticles/plugin-emitters/lazy");
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.2.1",
3
+ "version": "4.3.0",
4
4
  "description": "tsParticles emitters shape path plugin",
5
5
  "homepage": "https://particles.js.org",
6
6
  "repository": {
@@ -106,8 +106,8 @@
106
106
  "./package.json": "./package.json"
107
107
  },
108
108
  "peerDependencies": {
109
- "@tsparticles/engine": "4.2.1",
110
- "@tsparticles/plugin-emitters": "4.2.1"
109
+ "@tsparticles/engine": "4.3.0",
110
+ "@tsparticles/plugin-emitters": "4.3.0"
111
111
  },
112
112
  "publishConfig": {
113
113
  "access": "public"
package/report.html CHANGED
@@ -4930,7 +4930,7 @@ var drawChart = (function (exports) {
4930
4930
  </script>
4931
4931
  <script>
4932
4932
  /*<!--*/
4933
- const data = {"version":2,"tree":{"name":"root","children":[{"name":"tsparticles.plugin.emitters.shape.path.js","children":[{"name":"dist/browser","children":[{"uid":"25eb34c9-1","name":"utils.js"},{"uid":"25eb34c9-3","name":"EmittersPathShape.js"},{"name":"Options/Classes/EmittersPathShapeOptions.js","uid":"25eb34c9-5"},{"uid":"25eb34c9-7","name":"EmittersPathShapeGenerator.js"},{"uid":"25eb34c9-9","name":"index.js"},{"uid":"25eb34c9-11","name":"browser.js"}]}]}],"isRoot":true},"nodeParts":{"25eb34c9-1":{"renderedLength":1209,"gzipLength":0,"brotliLength":0,"metaUid":"25eb34c9-0"},"25eb34c9-3":{"renderedLength":3410,"gzipLength":0,"brotliLength":0,"metaUid":"25eb34c9-2"},"25eb34c9-5":{"renderedLength":392,"gzipLength":0,"brotliLength":0,"metaUid":"25eb34c9-4"},"25eb34c9-7":{"renderedLength":309,"gzipLength":0,"brotliLength":0,"metaUid":"25eb34c9-6"},"25eb34c9-9":{"renderedLength":315,"gzipLength":0,"brotliLength":0,"metaUid":"25eb34c9-8"},"25eb34c9-11":{"renderedLength":185,"gzipLength":0,"brotliLength":0,"metaUid":"25eb34c9-10"}},"nodeMetas":{"25eb34c9-0":{"id":"/dist/browser/utils.js","moduleParts":{"tsparticles.plugin.emitters.shape.path.js":"25eb34c9-1"},"imported":[{"uid":"25eb34c9-13"}],"importedBy":[{"uid":"25eb34c9-2"}]},"25eb34c9-2":{"id":"/dist/browser/EmittersPathShape.js","moduleParts":{"tsparticles.plugin.emitters.shape.path.js":"25eb34c9-3"},"imported":[{"uid":"25eb34c9-13"},{"uid":"25eb34c9-12"},{"uid":"25eb34c9-0"}],"importedBy":[{"uid":"25eb34c9-6"}]},"25eb34c9-4":{"id":"/dist/browser/Options/Classes/EmittersPathShapeOptions.js","moduleParts":{"tsparticles.plugin.emitters.shape.path.js":"25eb34c9-5"},"imported":[{"uid":"25eb34c9-13"}],"importedBy":[{"uid":"25eb34c9-6"}]},"25eb34c9-6":{"id":"/dist/browser/EmittersPathShapeGenerator.js","moduleParts":{"tsparticles.plugin.emitters.shape.path.js":"25eb34c9-7"},"imported":[{"uid":"25eb34c9-2"},{"uid":"25eb34c9-4"}],"importedBy":[{"uid":"25eb34c9-8"}]},"25eb34c9-8":{"id":"/dist/browser/index.js","moduleParts":{"tsparticles.plugin.emitters.shape.path.js":"25eb34c9-9"},"imported":[{"uid":"25eb34c9-12"},{"uid":"25eb34c9-6"}],"importedBy":[{"uid":"25eb34c9-10"}]},"25eb34c9-10":{"id":"/dist/browser/browser.js","moduleParts":{"tsparticles.plugin.emitters.shape.path.js":"25eb34c9-11"},"imported":[{"uid":"25eb34c9-8"}],"importedBy":[],"isEntry":true},"25eb34c9-12":{"id":"@tsparticles/plugin-emitters","moduleParts":{},"imported":[],"importedBy":[{"uid":"25eb34c9-8"},{"uid":"25eb34c9-2"}],"isExternal":true},"25eb34c9-13":{"id":"@tsparticles/engine","moduleParts":{},"imported":[],"importedBy":[{"uid":"25eb34c9-2"},{"uid":"25eb34c9-4"},{"uid":"25eb34c9-0"}],"isExternal":true}},"env":{"rollup":"4.62.0"},"options":{"gzip":false,"brotli":false,"sourcemap":false}};
4933
+ const data = {"version":2,"tree":{"name":"root","children":[{"name":"tsparticles.plugin.emitters.shape.path.js","children":[{"name":"dist/browser","children":[{"uid":"67d6bfc5-1","name":"utils.js"},{"uid":"67d6bfc5-3","name":"EmittersPathShape.js"},{"name":"Options/Classes/EmittersPathShapeOptions.js","uid":"67d6bfc5-5"},{"uid":"67d6bfc5-7","name":"EmittersPathShapeGenerator.js"},{"uid":"67d6bfc5-9","name":"index.js"},{"uid":"67d6bfc5-11","name":"browser.js"}]}]}],"isRoot":true},"nodeParts":{"67d6bfc5-1":{"renderedLength":1209,"gzipLength":0,"brotliLength":0,"metaUid":"67d6bfc5-0"},"67d6bfc5-3":{"renderedLength":3410,"gzipLength":0,"brotliLength":0,"metaUid":"67d6bfc5-2"},"67d6bfc5-5":{"renderedLength":392,"gzipLength":0,"brotliLength":0,"metaUid":"67d6bfc5-4"},"67d6bfc5-7":{"renderedLength":309,"gzipLength":0,"brotliLength":0,"metaUid":"67d6bfc5-6"},"67d6bfc5-9":{"renderedLength":315,"gzipLength":0,"brotliLength":0,"metaUid":"67d6bfc5-8"},"67d6bfc5-11":{"renderedLength":185,"gzipLength":0,"brotliLength":0,"metaUid":"67d6bfc5-10"}},"nodeMetas":{"67d6bfc5-0":{"id":"/dist/browser/utils.js","moduleParts":{"tsparticles.plugin.emitters.shape.path.js":"67d6bfc5-1"},"imported":[{"uid":"67d6bfc5-13"}],"importedBy":[{"uid":"67d6bfc5-2"}]},"67d6bfc5-2":{"id":"/dist/browser/EmittersPathShape.js","moduleParts":{"tsparticles.plugin.emitters.shape.path.js":"67d6bfc5-3"},"imported":[{"uid":"67d6bfc5-13"},{"uid":"67d6bfc5-12"},{"uid":"67d6bfc5-0"}],"importedBy":[{"uid":"67d6bfc5-6"}]},"67d6bfc5-4":{"id":"/dist/browser/Options/Classes/EmittersPathShapeOptions.js","moduleParts":{"tsparticles.plugin.emitters.shape.path.js":"67d6bfc5-5"},"imported":[{"uid":"67d6bfc5-13"}],"importedBy":[{"uid":"67d6bfc5-6"}]},"67d6bfc5-6":{"id":"/dist/browser/EmittersPathShapeGenerator.js","moduleParts":{"tsparticles.plugin.emitters.shape.path.js":"67d6bfc5-7"},"imported":[{"uid":"67d6bfc5-2"},{"uid":"67d6bfc5-4"}],"importedBy":[{"uid":"67d6bfc5-8"}]},"67d6bfc5-8":{"id":"/dist/browser/index.js","moduleParts":{"tsparticles.plugin.emitters.shape.path.js":"67d6bfc5-9"},"imported":[{"uid":"67d6bfc5-12"},{"uid":"67d6bfc5-6"}],"importedBy":[{"uid":"67d6bfc5-10"}]},"67d6bfc5-10":{"id":"/dist/browser/browser.js","moduleParts":{"tsparticles.plugin.emitters.shape.path.js":"67d6bfc5-11"},"imported":[{"uid":"67d6bfc5-8"}],"importedBy":[],"isEntry":true},"67d6bfc5-12":{"id":"@tsparticles/plugin-emitters","moduleParts":{},"imported":[],"importedBy":[{"uid":"67d6bfc5-8"},{"uid":"67d6bfc5-2"}],"isExternal":true},"67d6bfc5-13":{"id":"@tsparticles/engine","moduleParts":{},"imported":[],"importedBy":[{"uid":"67d6bfc5-2"},{"uid":"67d6bfc5-4"},{"uid":"67d6bfc5-0"}],"isExternal":true}},"env":{"rollup":"4.62.2"},"options":{"gzip":false,"brotli":false,"sourcemap":false}};
4934
4934
 
4935
4935
  const run = () => {
4936
4936
  const width = window.innerWidth;
@@ -1,5 +1,5 @@
1
1
  (function(g){g.__tsParticlesInternals=g.__tsParticlesInternals||{};g.__tsParticlesInternals.bundles=g.__tsParticlesInternals.bundles||{};g.__tsParticlesInternals.effects=g.__tsParticlesInternals.effects||{};g.__tsParticlesInternals.engine=g.__tsParticlesInternals.engine||{};g.__tsParticlesInternals.interactions=g.__tsParticlesInternals.interactions||{};g.__tsParticlesInternals.palettes=g.__tsParticlesInternals.palettes||{};g.__tsParticlesInternals.paths=g.__tsParticlesInternals.paths||{};g.__tsParticlesInternals.plugins=g.__tsParticlesInternals.plugins||{};g.__tsParticlesInternals.plugins=g.__tsParticlesInternals.plugins||{};g.__tsParticlesInternals.plugins.emittersShapes=g.__tsParticlesInternals.plugins.emittersShapes||{};g.__tsParticlesInternals.presets=g.__tsParticlesInternals.presets||{};g.__tsParticlesInternals.shapes=g.__tsParticlesInternals.shapes||{};g.__tsParticlesInternals.updaters=g.__tsParticlesInternals.updaters||{};g.__tsParticlesInternals.utils=g.__tsParticlesInternals.utils||{};g.__tsParticlesInternals.canvas=g.__tsParticlesInternals.canvas||{};g.__tsParticlesInternals.canvas=g.__tsParticlesInternals.canvas||{};g.__tsParticlesInternals.canvas.utils=g.__tsParticlesInternals.canvas.utils||{};g.__tsParticlesInternals.path=g.__tsParticlesInternals.path||{};g.__tsParticlesInternals.path=g.__tsParticlesInternals.path||{};g.__tsParticlesInternals.path.utils=g.__tsParticlesInternals.path.utils||{};var __tsProxyFactory=typeof Proxy!=="undefined"?function(obj){return new Proxy(obj,{get:function(target,key){if(!(key in target)){target[key]={};}return target[key];}});}:function(obj){return obj;};g.__tsParticlesInternals.bundles=__tsProxyFactory(g.__tsParticlesInternals.bundles);g.__tsParticlesInternals.effects=__tsProxyFactory(g.__tsParticlesInternals.effects);g.__tsParticlesInternals.interactions=__tsProxyFactory(g.__tsParticlesInternals.interactions);g.__tsParticlesInternals.palettes=__tsProxyFactory(g.__tsParticlesInternals.palettes);g.__tsParticlesInternals.paths=__tsProxyFactory(g.__tsParticlesInternals.paths);g.__tsParticlesInternals.plugins=__tsProxyFactory(g.__tsParticlesInternals.plugins);g.__tsParticlesInternals.plugins.emittersShapes=__tsProxyFactory(g.__tsParticlesInternals.plugins.emittersShapes);g.__tsParticlesInternals.presets=__tsProxyFactory(g.__tsParticlesInternals.presets);g.__tsParticlesInternals.shapes=__tsProxyFactory(g.__tsParticlesInternals.shapes);g.__tsParticlesInternals.updaters=__tsProxyFactory(g.__tsParticlesInternals.updaters);g.__tsParticlesInternals.utils=__tsProxyFactory(g.__tsParticlesInternals.utils);g.__tsParticlesInternals.canvas=__tsProxyFactory(g.__tsParticlesInternals.canvas);g.__tsParticlesInternals.path=__tsProxyFactory(g.__tsParticlesInternals.path);g.tsparticlesInternalExports=g.tsparticlesInternalExports||{};})(typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:this);
2
- /* Emitters Shape v4.2.1 */
2
+ /* Emitters Shape v4.3.0 */
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@tsparticles/plugin-emitters'), require('@tsparticles/engine')) :
5
5
  typeof define === 'function' && define.amd ? define(['exports', '@tsparticles/plugin-emitters', '@tsparticles/engine'], factory) :
@@ -136,7 +136,7 @@
136
136
  }
137
137
 
138
138
  async function loadEmittersShapePath(engine) {
139
- engine.checkVersion("4.2.1");
139
+ engine.checkVersion("4.3.0");
140
140
  await engine.pluginManager.register((e) => {
141
141
  pluginEmitters.ensureEmittersPluginLoaded(e);
142
142
  e.pluginManager.addEmitterShapeGenerator?.("path", new EmittersPathShapeGenerator());
@@ -1 +1 @@
1
- !function(t){t.__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.bundles=t.__tsParticlesInternals.bundles||{},t.__tsParticlesInternals.effects=t.__tsParticlesInternals.effects||{},t.__tsParticlesInternals.engine=t.__tsParticlesInternals.engine||{},t.__tsParticlesInternals.interactions=t.__tsParticlesInternals.interactions||{},t.__tsParticlesInternals.palettes=t.__tsParticlesInternals.palettes||{},t.__tsParticlesInternals.paths=t.__tsParticlesInternals.paths||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins.emittersShapes=t.__tsParticlesInternals.plugins.emittersShapes||{},t.__tsParticlesInternals.presets=t.__tsParticlesInternals.presets||{},t.__tsParticlesInternals.shapes=t.__tsParticlesInternals.shapes||{},t.__tsParticlesInternals.updaters=t.__tsParticlesInternals.updaters||{},t.__tsParticlesInternals.utils=t.__tsParticlesInternals.utils||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas.utils=t.__tsParticlesInternals.canvas.utils||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path.utils=t.__tsParticlesInternals.path.utils||{};var s="undefined"!=typeof Proxy?function(t){return new Proxy(t,{get:function(t,s){return s in t||(t[s]={}),t[s]}})}:function(t){return t};t.__tsParticlesInternals.bundles=s(t.__tsParticlesInternals.bundles),t.__tsParticlesInternals.effects=s(t.__tsParticlesInternals.effects),t.__tsParticlesInternals.interactions=s(t.__tsParticlesInternals.interactions),t.__tsParticlesInternals.palettes=s(t.__tsParticlesInternals.palettes),t.__tsParticlesInternals.paths=s(t.__tsParticlesInternals.paths),t.__tsParticlesInternals.plugins=s(t.__tsParticlesInternals.plugins),t.__tsParticlesInternals.plugins.emittersShapes=s(t.__tsParticlesInternals.plugins.emittersShapes),t.__tsParticlesInternals.presets=s(t.__tsParticlesInternals.presets),t.__tsParticlesInternals.shapes=s(t.__tsParticlesInternals.shapes),t.__tsParticlesInternals.updaters=s(t.__tsParticlesInternals.updaters),t.__tsParticlesInternals.utils=s(t.__tsParticlesInternals.utils),t.__tsParticlesInternals.canvas=s(t.__tsParticlesInternals.canvas),t.__tsParticlesInternals.path=s(t.__tsParticlesInternals.path),t.tsparticlesInternalExports=t.tsparticlesInternalExports||{}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:this),function(t,s){"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("@tsparticles/plugin-emitters"),require("@tsparticles/engine")):"function"==typeof define&&define.amd?define(["exports","@tsparticles/plugin-emitters","@tsparticles/engine"],s):s(((t="undefined"!=typeof globalThis?globalThis:t||self).__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins.emittersShapes=t.__tsParticlesInternals.plugins.emittersShapes||{},t.__tsParticlesInternals.plugins.emittersShapes.path=t.__tsParticlesInternals.plugins.emittersShapes.path||{}),t.__tsParticlesInternals.plugins.emitters,t.__tsParticlesInternals.engine)}(this,function(t,s,e){"use strict";class n extends s.EmitterShapeBase{checkContext;path;points;constructor(t,s,n,a,r){super(s,n,a,r);const i=e.safeDocument().createElement("canvas").getContext("2d",t.canvas.render.settings);if(!i)throw new Error("No 2d context available");this.checkContext=i,this.points=r.points;const l=this.points,c=new Path2D,_=s.x-n.width*e.half,o=s.y-n.height*e.half;for(const[t,s]of l.entries()){const a={x:_+s.x*n.width/e.percentDenominator,y:o+s.y*n.height/e.percentDenominator};t?c.lineTo(a.x,a.y):c.moveTo(a.x,a.y)}const h=l[0];if(!h)throw new Error("No path data available");const p={x:_+h.x*n.width/e.percentDenominator,y:o+h.y*n.height/e.percentDenominator};c.lineTo(p.x,p.y),this.path=c}async init(){}randomPosition(){const t=this.checkContext,s=this.position,n=this.size,a=this.fill,r=this.path,i=a?function(t,s,n,a){let r=null;for(let i=0;i<100;i++){const i={x:n.x+e.getRandom()*a.width-a.width*e.half,y:n.y+e.getRandom()*a.height-a.height*e.half};if(t.isPointInPath(s,i.x,i.y)){r=i;break}}return r}(t,r,s,n):function(t,s,n,a){let r=null;for(let i=0;i<100;i++){const i={x:n.x+e.getRandom()*a.width-a.width*e.half,y:n.y+e.getRandom()*a.height-a.height*e.half};if(t.isPointInStroke(s,i.x,i.y)){r=i;break}}return r}(t,r,s,n);return i?{position:i}:null}resize(t,s){super.resize(t,s);const n=this.points,a=new Path2D,r=t.x-s.width*e.half,i=t.y-s.height*e.half;for(const[t,l]of n.entries()){const n={x:r+l.x*s.width/e.percentDenominator,y:i+l.y*s.height/e.percentDenominator};t?a.lineTo(n.x,n.y):a.moveTo(n.x,n.y)}const l=n[0];if(!l)throw new Error("No path data available");const c={x:r+l.x*s.width/e.percentDenominator,y:i+l.y*s.height/e.percentDenominator};a.lineTo(c.x,c.y),this.path=a}}const a=50,r=50;class i{points=[];load(t){e.isNull(t)||void 0!==t.points&&(this.points=t.points.map(t=>({x:t.x??a,y:t.y??r})))}}class l{generate(t,s,e,a,r){const l=new i;return l.load(r),new n(t,s,e,a,l)}}async function c(t){t.checkVersion("4.2.1"),await t.pluginManager.register(t=>{s.ensureEmittersPluginLoaded(t),t.pluginManager.addEmitterShapeGenerator?.("path",new l)})}const _=globalThis;_.__tsParticlesInternals=_.__tsParticlesInternals??{},_.loadEmittersShapePath=c,t.loadEmittersShapePath=c}),Object.assign(globalThis.window||globalThis,{loadEmittersShapePath:(globalThis.__tsParticlesInternals.plugins.emittersShapes.path||{}).loadEmittersShapePath}),delete(globalThis.window||globalThis).tsparticlesInternalExports;
1
+ !function(t){t.__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.bundles=t.__tsParticlesInternals.bundles||{},t.__tsParticlesInternals.effects=t.__tsParticlesInternals.effects||{},t.__tsParticlesInternals.engine=t.__tsParticlesInternals.engine||{},t.__tsParticlesInternals.interactions=t.__tsParticlesInternals.interactions||{},t.__tsParticlesInternals.palettes=t.__tsParticlesInternals.palettes||{},t.__tsParticlesInternals.paths=t.__tsParticlesInternals.paths||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins.emittersShapes=t.__tsParticlesInternals.plugins.emittersShapes||{},t.__tsParticlesInternals.presets=t.__tsParticlesInternals.presets||{},t.__tsParticlesInternals.shapes=t.__tsParticlesInternals.shapes||{},t.__tsParticlesInternals.updaters=t.__tsParticlesInternals.updaters||{},t.__tsParticlesInternals.utils=t.__tsParticlesInternals.utils||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas.utils=t.__tsParticlesInternals.canvas.utils||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path.utils=t.__tsParticlesInternals.path.utils||{};var s="undefined"!=typeof Proxy?function(t){return new Proxy(t,{get:function(t,s){return s in t||(t[s]={}),t[s]}})}:function(t){return t};t.__tsParticlesInternals.bundles=s(t.__tsParticlesInternals.bundles),t.__tsParticlesInternals.effects=s(t.__tsParticlesInternals.effects),t.__tsParticlesInternals.interactions=s(t.__tsParticlesInternals.interactions),t.__tsParticlesInternals.palettes=s(t.__tsParticlesInternals.palettes),t.__tsParticlesInternals.paths=s(t.__tsParticlesInternals.paths),t.__tsParticlesInternals.plugins=s(t.__tsParticlesInternals.plugins),t.__tsParticlesInternals.plugins.emittersShapes=s(t.__tsParticlesInternals.plugins.emittersShapes),t.__tsParticlesInternals.presets=s(t.__tsParticlesInternals.presets),t.__tsParticlesInternals.shapes=s(t.__tsParticlesInternals.shapes),t.__tsParticlesInternals.updaters=s(t.__tsParticlesInternals.updaters),t.__tsParticlesInternals.utils=s(t.__tsParticlesInternals.utils),t.__tsParticlesInternals.canvas=s(t.__tsParticlesInternals.canvas),t.__tsParticlesInternals.path=s(t.__tsParticlesInternals.path),t.tsparticlesInternalExports=t.tsparticlesInternalExports||{}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:this),function(t,s){"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("@tsparticles/plugin-emitters"),require("@tsparticles/engine")):"function"==typeof define&&define.amd?define(["exports","@tsparticles/plugin-emitters","@tsparticles/engine"],s):s(((t="undefined"!=typeof globalThis?globalThis:t||self).__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins.emittersShapes=t.__tsParticlesInternals.plugins.emittersShapes||{},t.__tsParticlesInternals.plugins.emittersShapes.path=t.__tsParticlesInternals.plugins.emittersShapes.path||{}),t.__tsParticlesInternals.plugins.emitters,t.__tsParticlesInternals.engine)}(this,function(t,s,e){"use strict";class n extends s.EmitterShapeBase{checkContext;path;points;constructor(t,s,n,a,r){super(s,n,a,r);const i=e.safeDocument().createElement("canvas").getContext("2d",t.canvas.render.settings);if(!i)throw new Error("No 2d context available");this.checkContext=i,this.points=r.points;const l=this.points,c=new Path2D,_=s.x-n.width*e.half,o=s.y-n.height*e.half;for(const[t,s]of l.entries()){const a={x:_+s.x*n.width/e.percentDenominator,y:o+s.y*n.height/e.percentDenominator};t?c.lineTo(a.x,a.y):c.moveTo(a.x,a.y)}const h=l[0];if(!h)throw new Error("No path data available");const p={x:_+h.x*n.width/e.percentDenominator,y:o+h.y*n.height/e.percentDenominator};c.lineTo(p.x,p.y),this.path=c}async init(){}randomPosition(){const t=this.checkContext,s=this.position,n=this.size,a=this.fill,r=this.path,i=a?function(t,s,n,a){let r=null;for(let i=0;i<100;i++){const i={x:n.x+e.getRandom()*a.width-a.width*e.half,y:n.y+e.getRandom()*a.height-a.height*e.half};if(t.isPointInPath(s,i.x,i.y)){r=i;break}}return r}(t,r,s,n):function(t,s,n,a){let r=null;for(let i=0;i<100;i++){const i={x:n.x+e.getRandom()*a.width-a.width*e.half,y:n.y+e.getRandom()*a.height-a.height*e.half};if(t.isPointInStroke(s,i.x,i.y)){r=i;break}}return r}(t,r,s,n);return i?{position:i}:null}resize(t,s){super.resize(t,s);const n=this.points,a=new Path2D,r=t.x-s.width*e.half,i=t.y-s.height*e.half;for(const[t,l]of n.entries()){const n={x:r+l.x*s.width/e.percentDenominator,y:i+l.y*s.height/e.percentDenominator};t?a.lineTo(n.x,n.y):a.moveTo(n.x,n.y)}const l=n[0];if(!l)throw new Error("No path data available");const c={x:r+l.x*s.width/e.percentDenominator,y:i+l.y*s.height/e.percentDenominator};a.lineTo(c.x,c.y),this.path=a}}const a=50,r=50;class i{points=[];load(t){e.isNull(t)||void 0!==t.points&&(this.points=t.points.map(t=>({x:t.x??a,y:t.y??r})))}}class l{generate(t,s,e,a,r){const l=new i;return l.load(r),new n(t,s,e,a,l)}}async function c(t){t.checkVersion("4.3.0"),await t.pluginManager.register(t=>{s.ensureEmittersPluginLoaded(t),t.pluginManager.addEmitterShapeGenerator?.("path",new l)})}const _=globalThis;_.__tsParticlesInternals=_.__tsParticlesInternals??{},_.loadEmittersShapePath=c,t.loadEmittersShapePath=c}),Object.assign(globalThis.window||globalThis,{loadEmittersShapePath:(globalThis.__tsParticlesInternals.plugins.emittersShapes.path||{}).loadEmittersShapePath}),delete(globalThis.window||globalThis).tsparticlesInternalExports;