@tsparticles/interaction-external-particle 4.1.2 → 4.2.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.
@@ -1,5 +1,5 @@
1
1
  import { ExternalInteractorBase, } from "@tsparticles/plugin-interactivity";
2
- import { deepExtend, isInArray, safeDocument, } from "@tsparticles/engine";
2
+ import { deepExtend, isInArray, loadOptionProperty, safeDocument, } from "@tsparticles/engine";
3
3
  import { InteractivityParticleOptions } from "./Options/Classes/InteractivityParticleOptions.js";
4
4
  const particleMode = "particle";
5
5
  export class InteractivityParticleMaker extends ExternalInteractorBase {
@@ -96,10 +96,7 @@ export class InteractivityParticleMaker extends ExternalInteractorBase {
96
96
  (mouse.inside && !!mouse.position && isInArray(particleMode, events.onHover.mode))));
97
97
  }
98
98
  loadModeOptions(options, ...sources) {
99
- options.particle ??= new InteractivityParticleOptions();
100
- for (const source of sources) {
101
- options.particle.load(source?.particle);
102
- }
99
+ loadOptionProperty(options, "particle", InteractivityParticleOptions, ...sources);
103
100
  }
104
101
  reset() {
105
102
  }
@@ -1,14 +1,9 @@
1
- import { deepExtend, isNull, } from "@tsparticles/engine";
1
+ import { deepExtend, isNull, loadProperty, } from "@tsparticles/engine";
2
2
  export class InteractivityParticleOptions {
3
3
  options;
4
- pauseOnStop;
5
- replaceCursor;
6
- stopDelay;
7
- constructor() {
8
- this.replaceCursor = false;
9
- this.pauseOnStop = false;
10
- this.stopDelay = 0;
11
- }
4
+ pauseOnStop = false;
5
+ replaceCursor = false;
6
+ stopDelay = 0;
12
7
  load(data) {
13
8
  if (isNull(data)) {
14
9
  return;
@@ -16,14 +11,8 @@ export class InteractivityParticleOptions {
16
11
  if (data.options !== undefined) {
17
12
  this.options = deepExtend({}, data.options);
18
13
  }
19
- if (data.replaceCursor !== undefined) {
20
- this.replaceCursor = data.replaceCursor;
21
- }
22
- if (data.pauseOnStop !== undefined) {
23
- this.pauseOnStop = data.pauseOnStop;
24
- }
25
- if (data.stopDelay !== undefined) {
26
- this.stopDelay = data.stopDelay;
27
- }
14
+ loadProperty(this, "replaceCursor", data.replaceCursor);
15
+ loadProperty(this, "pauseOnStop", data.pauseOnStop);
16
+ loadProperty(this, "stopDelay", data.stopDelay);
28
17
  }
29
18
  }
package/browser/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ensureInteractivityPluginLoaded } from "@tsparticles/plugin-interactivity";
2
2
  import { InteractivityParticleMaker } from "./InteractivityParticleMaker.js";
3
3
  export async function loadExternalParticleInteraction(engine) {
4
- engine.checkVersion("4.1.2");
4
+ engine.checkVersion("4.2.0");
5
5
  await engine.pluginManager.register((e) => {
6
6
  ensureInteractivityPluginLoaded(e);
7
7
  e.pluginManager.addInteractor?.("externalParticle", container => {
@@ -1,5 +1,5 @@
1
1
  export async function loadExternalParticleInteraction(engine) {
2
- engine.checkVersion("4.1.2");
2
+ engine.checkVersion("4.2.0");
3
3
  await engine.pluginManager.register(async (e) => {
4
4
  const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity/lazy");
5
5
  ensureInteractivityPluginLoaded(e);
@@ -1,5 +1,5 @@
1
1
  import { ExternalInteractorBase, } from "@tsparticles/plugin-interactivity";
2
- import { deepExtend, isInArray, safeDocument, } from "@tsparticles/engine";
2
+ import { deepExtend, isInArray, loadOptionProperty, safeDocument, } from "@tsparticles/engine";
3
3
  import { InteractivityParticleOptions } from "./Options/Classes/InteractivityParticleOptions.js";
4
4
  const particleMode = "particle";
5
5
  export class InteractivityParticleMaker extends ExternalInteractorBase {
@@ -96,10 +96,7 @@ export class InteractivityParticleMaker extends ExternalInteractorBase {
96
96
  (mouse.inside && !!mouse.position && isInArray(particleMode, events.onHover.mode))));
97
97
  }
98
98
  loadModeOptions(options, ...sources) {
99
- options.particle ??= new InteractivityParticleOptions();
100
- for (const source of sources) {
101
- options.particle.load(source?.particle);
102
- }
99
+ loadOptionProperty(options, "particle", InteractivityParticleOptions, ...sources);
103
100
  }
104
101
  reset() {
105
102
  }
@@ -1,14 +1,9 @@
1
- import { deepExtend, isNull, } from "@tsparticles/engine";
1
+ import { deepExtend, isNull, loadProperty, } from "@tsparticles/engine";
2
2
  export class InteractivityParticleOptions {
3
3
  options;
4
- pauseOnStop;
5
- replaceCursor;
6
- stopDelay;
7
- constructor() {
8
- this.replaceCursor = false;
9
- this.pauseOnStop = false;
10
- this.stopDelay = 0;
11
- }
4
+ pauseOnStop = false;
5
+ replaceCursor = false;
6
+ stopDelay = 0;
12
7
  load(data) {
13
8
  if (isNull(data)) {
14
9
  return;
@@ -16,14 +11,8 @@ export class InteractivityParticleOptions {
16
11
  if (data.options !== undefined) {
17
12
  this.options = deepExtend({}, data.options);
18
13
  }
19
- if (data.replaceCursor !== undefined) {
20
- this.replaceCursor = data.replaceCursor;
21
- }
22
- if (data.pauseOnStop !== undefined) {
23
- this.pauseOnStop = data.pauseOnStop;
24
- }
25
- if (data.stopDelay !== undefined) {
26
- this.stopDelay = data.stopDelay;
27
- }
14
+ loadProperty(this, "replaceCursor", data.replaceCursor);
15
+ loadProperty(this, "pauseOnStop", data.pauseOnStop);
16
+ loadProperty(this, "stopDelay", data.stopDelay);
28
17
  }
29
18
  }
package/cjs/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ensureInteractivityPluginLoaded } from "@tsparticles/plugin-interactivity";
2
2
  import { InteractivityParticleMaker } from "./InteractivityParticleMaker.js";
3
3
  export async function loadExternalParticleInteraction(engine) {
4
- engine.checkVersion("4.1.2");
4
+ engine.checkVersion("4.2.0");
5
5
  await engine.pluginManager.register((e) => {
6
6
  ensureInteractivityPluginLoaded(e);
7
7
  e.pluginManager.addInteractor?.("externalParticle", container => {
package/cjs/index.lazy.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export async function loadExternalParticleInteraction(engine) {
2
- engine.checkVersion("4.1.2");
2
+ engine.checkVersion("4.2.0");
3
3
  await engine.pluginManager.register(async (e) => {
4
4
  const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity/lazy");
5
5
  ensureInteractivityPluginLoaded(e);
@@ -1,5 +1,5 @@
1
1
  import { ExternalInteractorBase, } from "@tsparticles/plugin-interactivity";
2
- import { deepExtend, isInArray, safeDocument, } from "@tsparticles/engine";
2
+ import { deepExtend, isInArray, loadOptionProperty, safeDocument, } from "@tsparticles/engine";
3
3
  import { InteractivityParticleOptions } from "./Options/Classes/InteractivityParticleOptions.js";
4
4
  const particleMode = "particle";
5
5
  export class InteractivityParticleMaker extends ExternalInteractorBase {
@@ -96,10 +96,7 @@ export class InteractivityParticleMaker extends ExternalInteractorBase {
96
96
  (mouse.inside && !!mouse.position && isInArray(particleMode, events.onHover.mode))));
97
97
  }
98
98
  loadModeOptions(options, ...sources) {
99
- options.particle ??= new InteractivityParticleOptions();
100
- for (const source of sources) {
101
- options.particle.load(source?.particle);
102
- }
99
+ loadOptionProperty(options, "particle", InteractivityParticleOptions, ...sources);
103
100
  }
104
101
  reset() {
105
102
  }
@@ -1,14 +1,9 @@
1
- import { deepExtend, isNull, } from "@tsparticles/engine";
1
+ import { deepExtend, isNull, loadProperty, } from "@tsparticles/engine";
2
2
  export class InteractivityParticleOptions {
3
3
  options;
4
- pauseOnStop;
5
- replaceCursor;
6
- stopDelay;
7
- constructor() {
8
- this.replaceCursor = false;
9
- this.pauseOnStop = false;
10
- this.stopDelay = 0;
11
- }
4
+ pauseOnStop = false;
5
+ replaceCursor = false;
6
+ stopDelay = 0;
12
7
  load(data) {
13
8
  if (isNull(data)) {
14
9
  return;
@@ -16,14 +11,8 @@ export class InteractivityParticleOptions {
16
11
  if (data.options !== undefined) {
17
12
  this.options = deepExtend({}, data.options);
18
13
  }
19
- if (data.replaceCursor !== undefined) {
20
- this.replaceCursor = data.replaceCursor;
21
- }
22
- if (data.pauseOnStop !== undefined) {
23
- this.pauseOnStop = data.pauseOnStop;
24
- }
25
- if (data.stopDelay !== undefined) {
26
- this.stopDelay = data.stopDelay;
27
- }
14
+ loadProperty(this, "replaceCursor", data.replaceCursor);
15
+ loadProperty(this, "pauseOnStop", data.pauseOnStop);
16
+ loadProperty(this, "stopDelay", data.stopDelay);
28
17
  }
29
18
  }
package/esm/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ensureInteractivityPluginLoaded } from "@tsparticles/plugin-interactivity";
2
2
  import { InteractivityParticleMaker } from "./InteractivityParticleMaker.js";
3
3
  export async function loadExternalParticleInteraction(engine) {
4
- engine.checkVersion("4.1.2");
4
+ engine.checkVersion("4.2.0");
5
5
  await engine.pluginManager.register((e) => {
6
6
  ensureInteractivityPluginLoaded(e);
7
7
  e.pluginManager.addInteractor?.("externalParticle", container => {
package/esm/index.lazy.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export async function loadExternalParticleInteraction(engine) {
2
- engine.checkVersion("4.1.2");
2
+ engine.checkVersion("4.2.0");
3
3
  await engine.pluginManager.register(async (e) => {
4
4
  const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity/lazy");
5
5
  ensureInteractivityPluginLoaded(e);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/interaction-external-particle",
3
- "version": "4.1.2",
3
+ "version": "4.2.0",
4
4
  "description": "tsParticles particle external interaction",
5
5
  "homepage": "https://particles.js.org",
6
6
  "repository": {
@@ -97,7 +97,7 @@
97
97
  },
98
98
  "type": "module",
99
99
  "peerDependencies": {
100
- "@tsparticles/engine": "4.1.2",
101
- "@tsparticles/plugin-interactivity": "4.1.2"
100
+ "@tsparticles/engine": "4.2.0",
101
+ "@tsparticles/plugin-interactivity": "4.2.0"
102
102
  }
103
103
  }
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.interaction.external.particle.js","children":[{"name":"dist/browser","children":[{"name":"Options/Classes/InteractivityParticleOptions.js","uid":"a7260bcf-1"},{"uid":"a7260bcf-3","name":"InteractivityParticleMaker.js"},{"uid":"a7260bcf-5","name":"index.js"},{"uid":"a7260bcf-7","name":"browser.js"}]}]}],"isRoot":true},"nodeParts":{"a7260bcf-1":{"renderedLength":857,"gzipLength":0,"brotliLength":0,"metaUid":"a7260bcf-0"},"a7260bcf-3":{"renderedLength":4414,"gzipLength":0,"brotliLength":0,"metaUid":"a7260bcf-2"},"a7260bcf-5":{"renderedLength":415,"gzipLength":0,"brotliLength":0,"metaUid":"a7260bcf-4"},"a7260bcf-7":{"renderedLength":205,"gzipLength":0,"brotliLength":0,"metaUid":"a7260bcf-6"}},"nodeMetas":{"a7260bcf-0":{"id":"/dist/browser/Options/Classes/InteractivityParticleOptions.js","moduleParts":{"tsparticles.interaction.external.particle.js":"a7260bcf-1"},"imported":[{"uid":"a7260bcf-9"}],"importedBy":[{"uid":"a7260bcf-2"}]},"a7260bcf-2":{"id":"/dist/browser/InteractivityParticleMaker.js","moduleParts":{"tsparticles.interaction.external.particle.js":"a7260bcf-3"},"imported":[{"uid":"a7260bcf-8"},{"uid":"a7260bcf-9"},{"uid":"a7260bcf-0"}],"importedBy":[{"uid":"a7260bcf-4"}]},"a7260bcf-4":{"id":"/dist/browser/index.js","moduleParts":{"tsparticles.interaction.external.particle.js":"a7260bcf-5"},"imported":[{"uid":"a7260bcf-8"},{"uid":"a7260bcf-2"}],"importedBy":[{"uid":"a7260bcf-6"}]},"a7260bcf-6":{"id":"/dist/browser/browser.js","moduleParts":{"tsparticles.interaction.external.particle.js":"a7260bcf-7"},"imported":[{"uid":"a7260bcf-4"}],"importedBy":[],"isEntry":true},"a7260bcf-8":{"id":"@tsparticles/plugin-interactivity","moduleParts":{},"imported":[],"importedBy":[{"uid":"a7260bcf-4"},{"uid":"a7260bcf-2"}],"isExternal":true},"a7260bcf-9":{"id":"@tsparticles/engine","moduleParts":{},"imported":[],"importedBy":[{"uid":"a7260bcf-2"},{"uid":"a7260bcf-0"}],"isExternal":true}},"env":{"rollup":"4.60.4"},"options":{"gzip":false,"brotli":false,"sourcemap":false}};
4933
+ const data = {"version":2,"tree":{"name":"root","children":[{"name":"tsparticles.interaction.external.particle.js","children":[{"name":"dist/browser","children":[{"name":"Options/Classes/InteractivityParticleOptions.js","uid":"c74dada5-1"},{"uid":"c74dada5-3","name":"InteractivityParticleMaker.js"},{"uid":"c74dada5-5","name":"index.js"},{"uid":"c74dada5-7","name":"browser.js"}]}]}],"isRoot":true},"nodeParts":{"c74dada5-1":{"renderedLength":598,"gzipLength":0,"brotliLength":0,"metaUid":"c74dada5-0"},"c74dada5-3":{"renderedLength":4332,"gzipLength":0,"brotliLength":0,"metaUid":"c74dada5-2"},"c74dada5-5":{"renderedLength":415,"gzipLength":0,"brotliLength":0,"metaUid":"c74dada5-4"},"c74dada5-7":{"renderedLength":205,"gzipLength":0,"brotliLength":0,"metaUid":"c74dada5-6"}},"nodeMetas":{"c74dada5-0":{"id":"/dist/browser/Options/Classes/InteractivityParticleOptions.js","moduleParts":{"tsparticles.interaction.external.particle.js":"c74dada5-1"},"imported":[{"uid":"c74dada5-9"}],"importedBy":[{"uid":"c74dada5-2"}]},"c74dada5-2":{"id":"/dist/browser/InteractivityParticleMaker.js","moduleParts":{"tsparticles.interaction.external.particle.js":"c74dada5-3"},"imported":[{"uid":"c74dada5-8"},{"uid":"c74dada5-9"},{"uid":"c74dada5-0"}],"importedBy":[{"uid":"c74dada5-4"}]},"c74dada5-4":{"id":"/dist/browser/index.js","moduleParts":{"tsparticles.interaction.external.particle.js":"c74dada5-5"},"imported":[{"uid":"c74dada5-8"},{"uid":"c74dada5-2"}],"importedBy":[{"uid":"c74dada5-6"}]},"c74dada5-6":{"id":"/dist/browser/browser.js","moduleParts":{"tsparticles.interaction.external.particle.js":"c74dada5-7"},"imported":[{"uid":"c74dada5-4"}],"importedBy":[],"isEntry":true},"c74dada5-8":{"id":"@tsparticles/plugin-interactivity","moduleParts":{},"imported":[],"importedBy":[{"uid":"c74dada5-4"},{"uid":"c74dada5-2"}],"isExternal":true},"c74dada5-9":{"id":"@tsparticles/engine","moduleParts":{},"imported":[],"importedBy":[{"uid":"c74dada5-2"},{"uid":"c74dada5-0"}],"isExternal":true}},"env":{"rollup":"4.62.0"},"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
- /* External Interaction v4.1.2 */
2
+ /* External Interaction v4.2.0 */
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@tsparticles/plugin-interactivity'), require('@tsparticles/engine')) :
5
5
  typeof define === 'function' && define.amd ? define(['exports', '@tsparticles/plugin-interactivity', '@tsparticles/engine'], factory) :
@@ -8,14 +8,9 @@
8
8
 
9
9
  class InteractivityParticleOptions {
10
10
  options;
11
- pauseOnStop;
12
- replaceCursor;
13
- stopDelay;
14
- constructor() {
15
- this.replaceCursor = false;
16
- this.pauseOnStop = false;
17
- this.stopDelay = 0;
18
- }
11
+ pauseOnStop = false;
12
+ replaceCursor = false;
13
+ stopDelay = 0;
19
14
  load(data) {
20
15
  if (engine.isNull(data)) {
21
16
  return;
@@ -23,15 +18,9 @@
23
18
  if (data.options !== undefined) {
24
19
  this.options = engine.deepExtend({}, data.options);
25
20
  }
26
- if (data.replaceCursor !== undefined) {
27
- this.replaceCursor = data.replaceCursor;
28
- }
29
- if (data.pauseOnStop !== undefined) {
30
- this.pauseOnStop = data.pauseOnStop;
31
- }
32
- if (data.stopDelay !== undefined) {
33
- this.stopDelay = data.stopDelay;
34
- }
21
+ engine.loadProperty(this, "replaceCursor", data.replaceCursor);
22
+ engine.loadProperty(this, "pauseOnStop", data.pauseOnStop);
23
+ engine.loadProperty(this, "stopDelay", data.stopDelay);
35
24
  }
36
25
  }
37
26
 
@@ -130,17 +119,14 @@
130
119
  (mouse.inside && !!mouse.position && engine.isInArray(particleMode, events.onHover.mode))));
131
120
  }
132
121
  loadModeOptions(options, ...sources) {
133
- options.particle ??= new InteractivityParticleOptions();
134
- for (const source of sources) {
135
- options.particle.load(source?.particle);
136
- }
122
+ engine.loadOptionProperty(options, "particle", InteractivityParticleOptions, ...sources);
137
123
  }
138
124
  reset() {
139
125
  }
140
126
  }
141
127
 
142
128
  async function loadExternalParticleInteraction(engine) {
143
- engine.checkVersion("4.1.2");
129
+ engine.checkVersion("4.2.0");
144
130
  await engine.pluginManager.register((e) => {
145
131
  pluginInteractivity.ensureInteractivityPluginLoaded(e);
146
132
  e.pluginManager.addInteractor?.("externalParticle", container => {
@@ -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-interactivity"),require("@tsparticles/engine")):"function"==typeof define&&define.amd?define(["exports","@tsparticles/plugin-interactivity","@tsparticles/engine"],s):s(((t="undefined"!=typeof globalThis?globalThis:t||self).__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.interactions=t.__tsParticlesInternals.interactions||{},t.__tsParticlesInternals.interactions.externalParticle=t.__tsParticlesInternals.interactions.externalParticle||{}),t.__tsParticlesInternals.plugins.interactivity,t.__tsParticlesInternals.engine)}(this,function(t,s,e){"use strict";class n{options;pauseOnStop;replaceCursor;stopDelay;constructor(){this.replaceCursor=!1,this.pauseOnStop=!1,this.stopDelay=0}load(t){e.isNull(t)||(void 0!==t.options&&(this.options=e.deepExtend({},t.options)),void 0!==t.replaceCursor&&(this.replaceCursor=t.replaceCursor),void 0!==t.pauseOnStop&&(this.pauseOnStop=t.pauseOnStop),void 0!==t.stopDelay&&(this.stopDelay=t.stopDelay))}}const a="particle";class i extends s.ExternalInteractorBase{maxDistance=0;#t;#s;#e;constructor(t){super(t)}clear(){}init(){}interact(t){const s=this.container,n=s.actualOptions;if(!s.retina.reduceFactor)return;const a=t.mouse.position,i=n.interactivity?.modes.particle;if(!i)return;const r=i.pauseOnStop&&(t.mouse.position===this.#s||t.mouse.position?.x===this.#s?.x&&t.mouse.position?.y===this.#s?.y),l=i.stopDelay;if(this.#s=a?{...a}:void 0,this.#s)if(r){if(this.#t)return;this.#t=setTimeout(()=>{if(this.#e){if(i.replaceCursor){const s=t.element;s&&(s instanceof Window||s instanceof Document?e.safeDocument().body.style.cursor="":s.style.cursor="")}this.#e.destroy(!0),this.#e=void 0}},l)}else{if(this.#t&&(clearTimeout(this.#t),this.#t=void 0),!this.#e){const n=e.deepExtend(i.options,{move:{enable:!1}});if(this.#e=s.particles.addParticle(this.#s,n),i.replaceCursor){const s=t.element;s&&(s instanceof Window||s instanceof Document?e.safeDocument().body.style.cursor="none":s.style.cursor="none")}}this.#e&&(this.#e.position.x=this.#s.x,this.#e.position.y=this.#s.y)}}isEnabled(t,s){const n=this.container.actualOptions,i=t.mouse,r=(s?.interactivity??n.interactivity)?.events;return!!r&&(i.clicking&&i.inside&&!!i.position&&e.isInArray(a,r.onClick.mode)||i.inside&&!!i.position&&e.isInArray(a,r.onHover.mode))}loadModeOptions(t,...s){t.particle??=new n;for(const e of s)t.particle.load(e?.particle)}reset(){}}async function r(t){t.checkVersion("4.1.2"),await t.pluginManager.register(t=>{s.ensureInteractivityPluginLoaded(t),t.pluginManager.addInteractor?.("externalParticle",t=>Promise.resolve(new i(t)))})}const l=globalThis;l.__tsParticlesInternals=l.__tsParticlesInternals??{},l.loadExternalParticleInteraction=r,t.loadExternalParticleInteraction=r}),Object.assign(globalThis.window||globalThis,{loadExternalParticleInteraction:(globalThis.__tsParticlesInternals.interactions.externalParticle||{}).loadExternalParticleInteraction}),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-interactivity"),require("@tsparticles/engine")):"function"==typeof define&&define.amd?define(["exports","@tsparticles/plugin-interactivity","@tsparticles/engine"],s):s(((t="undefined"!=typeof globalThis?globalThis:t||self).__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.interactions=t.__tsParticlesInternals.interactions||{},t.__tsParticlesInternals.interactions.externalParticle=t.__tsParticlesInternals.interactions.externalParticle||{}),t.__tsParticlesInternals.plugins.interactivity,t.__tsParticlesInternals.engine)}(this,function(t,s,e){"use strict";class n{options;pauseOnStop=!1;replaceCursor=!1;stopDelay=0;load(t){e.isNull(t)||(void 0!==t.options&&(this.options=e.deepExtend({},t.options)),e.loadProperty(this,"replaceCursor",t.replaceCursor),e.loadProperty(this,"pauseOnStop",t.pauseOnStop),e.loadProperty(this,"stopDelay",t.stopDelay))}}const a="particle";class i extends s.ExternalInteractorBase{maxDistance=0;#t;#s;#e;constructor(t){super(t)}clear(){}init(){}interact(t){const s=this.container,n=s.actualOptions;if(!s.retina.reduceFactor)return;const a=t.mouse.position,i=n.interactivity?.modes.particle;if(!i)return;const r=i.pauseOnStop&&(t.mouse.position===this.#s||t.mouse.position?.x===this.#s?.x&&t.mouse.position?.y===this.#s?.y),l=i.stopDelay;if(this.#s=a?{...a}:void 0,this.#s)if(r){if(this.#t)return;this.#t=setTimeout(()=>{if(this.#e){if(i.replaceCursor){const s=t.element;s&&(s instanceof Window||s instanceof Document?e.safeDocument().body.style.cursor="":s.style.cursor="")}this.#e.destroy(!0),this.#e=void 0}},l)}else{if(this.#t&&(clearTimeout(this.#t),this.#t=void 0),!this.#e){const n=e.deepExtend(i.options,{move:{enable:!1}});if(this.#e=s.particles.addParticle(this.#s,n),i.replaceCursor){const s=t.element;s&&(s instanceof Window||s instanceof Document?e.safeDocument().body.style.cursor="none":s.style.cursor="none")}}this.#e&&(this.#e.position.x=this.#s.x,this.#e.position.y=this.#s.y)}}isEnabled(t,s){const n=this.container.actualOptions,i=t.mouse,r=(s?.interactivity??n.interactivity)?.events;return!!r&&(i.clicking&&i.inside&&!!i.position&&e.isInArray(a,r.onClick.mode)||i.inside&&!!i.position&&e.isInArray(a,r.onHover.mode))}loadModeOptions(t,...s){e.loadOptionProperty(t,"particle",n,...s)}reset(){}}async function r(t){t.checkVersion("4.2.0"),await t.pluginManager.register(t=>{s.ensureInteractivityPluginLoaded(t),t.pluginManager.addInteractor?.("externalParticle",t=>Promise.resolve(new i(t)))})}const l=globalThis;l.__tsParticlesInternals=l.__tsParticlesInternals??{},l.loadExternalParticleInteraction=r,t.loadExternalParticleInteraction=r}),Object.assign(globalThis.window||globalThis,{loadExternalParticleInteraction:(globalThis.__tsParticlesInternals.interactions.externalParticle||{}).loadExternalParticleInteraction}),delete(globalThis.window||globalThis).tsparticlesInternalExports;
@@ -5,6 +5,5 @@ export declare class InteractivityParticleOptions implements IInteractivityParti
5
5
  pauseOnStop: boolean;
6
6
  replaceCursor: boolean;
7
7
  stopDelay: number;
8
- constructor();
9
8
  load(data?: RecursivePartial<IInteractivityParticleOptions>): void;
10
9
  }
@@ -1,7 +1,9 @@
1
+ import type { InteractivityParticleOptions } from "./InteractivityParticleOptions.js";
1
2
  import type { Options } from "@tsparticles/engine";
2
- import type { ParticleMode } from "../../Types.js";
3
3
  export type InteractivityParticleOptionsData = Options & {
4
4
  interactivity?: {
5
- modes: ParticleMode;
5
+ modes: {
6
+ particle?: InteractivityParticleOptions;
7
+ };
6
8
  };
7
9
  };