@tsparticles/updater-twinkle 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.
@@ -2,12 +2,8 @@ import { isNull } from "@tsparticles/engine";
2
2
  import { TwinkleLinksValues } from "./TwinkleLinksValues.js";
3
3
  import { TwinkleParticlesValues } from "./TwinkleParticlesValues.js";
4
4
  export class Twinkle {
5
- links;
6
- particles;
7
- constructor() {
8
- this.links = new TwinkleLinksValues();
9
- this.particles = new TwinkleParticlesValues();
10
- }
5
+ links = new TwinkleLinksValues();
6
+ particles = new TwinkleParticlesValues();
11
7
  load(data) {
12
8
  if (isNull(data)) {
13
9
  return;
@@ -1,14 +1,9 @@
1
- import { OptionsColor, isNull, setRangeValue, } from "@tsparticles/engine";
1
+ import { OptionsColor, isNull, loadProperty, loadRangeProperty, } from "@tsparticles/engine";
2
2
  export class TwinkleLinksValues {
3
3
  color;
4
- enable;
5
- frequency;
6
- opacity;
7
- constructor() {
8
- this.enable = false;
9
- this.frequency = 0.05;
10
- this.opacity = 1;
11
- }
4
+ enable = false;
5
+ frequency = 0.05;
6
+ opacity = 1;
12
7
  load(data) {
13
8
  if (isNull(data)) {
14
9
  return;
@@ -16,14 +11,8 @@ export class TwinkleLinksValues {
16
11
  if (data.color !== undefined) {
17
12
  this.color = OptionsColor.create(this.color, data.color);
18
13
  }
19
- if (data.enable !== undefined) {
20
- this.enable = data.enable;
21
- }
22
- if (data.frequency !== undefined) {
23
- this.frequency = data.frequency;
24
- }
25
- if (data.opacity !== undefined) {
26
- this.opacity = setRangeValue(data.opacity);
27
- }
14
+ loadProperty(this, "enable", data.enable);
15
+ loadProperty(this, "frequency", data.frequency);
16
+ loadRangeProperty(this, "opacity", data.opacity);
28
17
  }
29
18
  }
@@ -1,15 +1,10 @@
1
- import { OptionsColor, isNull, setRangeValue, } from "@tsparticles/engine";
1
+ import { OptionsColor, isNull, loadProperty, loadRangeProperty, } from "@tsparticles/engine";
2
2
  export class TwinkleParticlesValues {
3
- enable;
3
+ enable = false;
4
4
  fillColor;
5
- frequency;
6
- opacity;
5
+ frequency = 0.05;
6
+ opacity = 1;
7
7
  strokeColor;
8
- constructor() {
9
- this.enable = false;
10
- this.frequency = 0.05;
11
- this.opacity = 1;
12
- }
13
8
  load(data) {
14
9
  if (isNull(data)) {
15
10
  return;
@@ -20,14 +15,8 @@ export class TwinkleParticlesValues {
20
15
  if (data.strokeColor !== undefined) {
21
16
  this.strokeColor = OptionsColor.create(this.strokeColor, data.strokeColor);
22
17
  }
23
- if (data.enable !== undefined) {
24
- this.enable = data.enable;
25
- }
26
- if (data.frequency !== undefined) {
27
- this.frequency = data.frequency;
28
- }
29
- if (data.opacity !== undefined) {
30
- this.opacity = setRangeValue(data.opacity);
31
- }
18
+ loadProperty(this, "enable", data.enable);
19
+ loadProperty(this, "frequency", data.frequency);
20
+ loadRangeProperty(this, "opacity", data.opacity);
32
21
  }
33
22
  }
@@ -1,4 +1,4 @@
1
- import { getRandom, getRangeValue, getStyleFromHsl, rangeColorToHsl, } from "@tsparticles/engine";
1
+ import { getRandom, getRangeValue, getStyleFromHsl, loadOptionProperty, rangeColorToHsl, } from "@tsparticles/engine";
2
2
  import { Twinkle } from "./Options/Classes/Twinkle.js";
3
3
  export class TwinkleUpdater {
4
4
  #container;
@@ -37,10 +37,7 @@ export class TwinkleUpdater {
37
37
  return twinkleOptions.particles.enable;
38
38
  }
39
39
  loadOptions(options, ...sources) {
40
- options.twinkle ??= new Twinkle();
41
- for (const source of sources) {
42
- options.twinkle.load(source?.twinkle);
43
- }
40
+ loadOptionProperty(options, "twinkle", Twinkle, ...sources);
44
41
  }
45
42
  update() {
46
43
  }
package/browser/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { TwinkleUpdater } from "./TwinkleUpdater.js";
2
2
  export async function loadTwinkleUpdater(engine) {
3
- engine.checkVersion("4.1.2");
3
+ engine.checkVersion("4.2.0");
4
4
  await engine.pluginManager.register(e => {
5
5
  e.pluginManager.addParticleUpdater("twinkle", container => {
6
6
  return Promise.resolve(new TwinkleUpdater(e.pluginManager, container));
@@ -1,5 +1,5 @@
1
1
  export async function loadTwinkleUpdater(engine) {
2
- engine.checkVersion("4.1.2");
2
+ engine.checkVersion("4.2.0");
3
3
  await engine.pluginManager.register(e => {
4
4
  e.pluginManager.addParticleUpdater("twinkle", async (container) => {
5
5
  const { TwinkleUpdater } = await import("./TwinkleUpdater.js");
@@ -2,12 +2,8 @@ import { isNull } from "@tsparticles/engine";
2
2
  import { TwinkleLinksValues } from "./TwinkleLinksValues.js";
3
3
  import { TwinkleParticlesValues } from "./TwinkleParticlesValues.js";
4
4
  export class Twinkle {
5
- links;
6
- particles;
7
- constructor() {
8
- this.links = new TwinkleLinksValues();
9
- this.particles = new TwinkleParticlesValues();
10
- }
5
+ links = new TwinkleLinksValues();
6
+ particles = new TwinkleParticlesValues();
11
7
  load(data) {
12
8
  if (isNull(data)) {
13
9
  return;
@@ -1,14 +1,9 @@
1
- import { OptionsColor, isNull, setRangeValue, } from "@tsparticles/engine";
1
+ import { OptionsColor, isNull, loadProperty, loadRangeProperty, } from "@tsparticles/engine";
2
2
  export class TwinkleLinksValues {
3
3
  color;
4
- enable;
5
- frequency;
6
- opacity;
7
- constructor() {
8
- this.enable = false;
9
- this.frequency = 0.05;
10
- this.opacity = 1;
11
- }
4
+ enable = false;
5
+ frequency = 0.05;
6
+ opacity = 1;
12
7
  load(data) {
13
8
  if (isNull(data)) {
14
9
  return;
@@ -16,14 +11,8 @@ export class TwinkleLinksValues {
16
11
  if (data.color !== undefined) {
17
12
  this.color = OptionsColor.create(this.color, data.color);
18
13
  }
19
- if (data.enable !== undefined) {
20
- this.enable = data.enable;
21
- }
22
- if (data.frequency !== undefined) {
23
- this.frequency = data.frequency;
24
- }
25
- if (data.opacity !== undefined) {
26
- this.opacity = setRangeValue(data.opacity);
27
- }
14
+ loadProperty(this, "enable", data.enable);
15
+ loadProperty(this, "frequency", data.frequency);
16
+ loadRangeProperty(this, "opacity", data.opacity);
28
17
  }
29
18
  }
@@ -1,15 +1,10 @@
1
- import { OptionsColor, isNull, setRangeValue, } from "@tsparticles/engine";
1
+ import { OptionsColor, isNull, loadProperty, loadRangeProperty, } from "@tsparticles/engine";
2
2
  export class TwinkleParticlesValues {
3
- enable;
3
+ enable = false;
4
4
  fillColor;
5
- frequency;
6
- opacity;
5
+ frequency = 0.05;
6
+ opacity = 1;
7
7
  strokeColor;
8
- constructor() {
9
- this.enable = false;
10
- this.frequency = 0.05;
11
- this.opacity = 1;
12
- }
13
8
  load(data) {
14
9
  if (isNull(data)) {
15
10
  return;
@@ -20,14 +15,8 @@ export class TwinkleParticlesValues {
20
15
  if (data.strokeColor !== undefined) {
21
16
  this.strokeColor = OptionsColor.create(this.strokeColor, data.strokeColor);
22
17
  }
23
- if (data.enable !== undefined) {
24
- this.enable = data.enable;
25
- }
26
- if (data.frequency !== undefined) {
27
- this.frequency = data.frequency;
28
- }
29
- if (data.opacity !== undefined) {
30
- this.opacity = setRangeValue(data.opacity);
31
- }
18
+ loadProperty(this, "enable", data.enable);
19
+ loadProperty(this, "frequency", data.frequency);
20
+ loadRangeProperty(this, "opacity", data.opacity);
32
21
  }
33
22
  }
@@ -1,4 +1,4 @@
1
- import { getRandom, getRangeValue, getStyleFromHsl, rangeColorToHsl, } from "@tsparticles/engine";
1
+ import { getRandom, getRangeValue, getStyleFromHsl, loadOptionProperty, rangeColorToHsl, } from "@tsparticles/engine";
2
2
  import { Twinkle } from "./Options/Classes/Twinkle.js";
3
3
  export class TwinkleUpdater {
4
4
  #container;
@@ -37,10 +37,7 @@ export class TwinkleUpdater {
37
37
  return twinkleOptions.particles.enable;
38
38
  }
39
39
  loadOptions(options, ...sources) {
40
- options.twinkle ??= new Twinkle();
41
- for (const source of sources) {
42
- options.twinkle.load(source?.twinkle);
43
- }
40
+ loadOptionProperty(options, "twinkle", Twinkle, ...sources);
44
41
  }
45
42
  update() {
46
43
  }
package/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { TwinkleUpdater } from "./TwinkleUpdater.js";
2
2
  export async function loadTwinkleUpdater(engine) {
3
- engine.checkVersion("4.1.2");
3
+ engine.checkVersion("4.2.0");
4
4
  await engine.pluginManager.register(e => {
5
5
  e.pluginManager.addParticleUpdater("twinkle", container => {
6
6
  return Promise.resolve(new TwinkleUpdater(e.pluginManager, container));
package/cjs/index.lazy.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export async function loadTwinkleUpdater(engine) {
2
- engine.checkVersion("4.1.2");
2
+ engine.checkVersion("4.2.0");
3
3
  await engine.pluginManager.register(e => {
4
4
  e.pluginManager.addParticleUpdater("twinkle", async (container) => {
5
5
  const { TwinkleUpdater } = await import("./TwinkleUpdater.js");
@@ -2,12 +2,8 @@ import { isNull } from "@tsparticles/engine";
2
2
  import { TwinkleLinksValues } from "./TwinkleLinksValues.js";
3
3
  import { TwinkleParticlesValues } from "./TwinkleParticlesValues.js";
4
4
  export class Twinkle {
5
- links;
6
- particles;
7
- constructor() {
8
- this.links = new TwinkleLinksValues();
9
- this.particles = new TwinkleParticlesValues();
10
- }
5
+ links = new TwinkleLinksValues();
6
+ particles = new TwinkleParticlesValues();
11
7
  load(data) {
12
8
  if (isNull(data)) {
13
9
  return;
@@ -1,14 +1,9 @@
1
- import { OptionsColor, isNull, setRangeValue, } from "@tsparticles/engine";
1
+ import { OptionsColor, isNull, loadProperty, loadRangeProperty, } from "@tsparticles/engine";
2
2
  export class TwinkleLinksValues {
3
3
  color;
4
- enable;
5
- frequency;
6
- opacity;
7
- constructor() {
8
- this.enable = false;
9
- this.frequency = 0.05;
10
- this.opacity = 1;
11
- }
4
+ enable = false;
5
+ frequency = 0.05;
6
+ opacity = 1;
12
7
  load(data) {
13
8
  if (isNull(data)) {
14
9
  return;
@@ -16,14 +11,8 @@ export class TwinkleLinksValues {
16
11
  if (data.color !== undefined) {
17
12
  this.color = OptionsColor.create(this.color, data.color);
18
13
  }
19
- if (data.enable !== undefined) {
20
- this.enable = data.enable;
21
- }
22
- if (data.frequency !== undefined) {
23
- this.frequency = data.frequency;
24
- }
25
- if (data.opacity !== undefined) {
26
- this.opacity = setRangeValue(data.opacity);
27
- }
14
+ loadProperty(this, "enable", data.enable);
15
+ loadProperty(this, "frequency", data.frequency);
16
+ loadRangeProperty(this, "opacity", data.opacity);
28
17
  }
29
18
  }
@@ -1,15 +1,10 @@
1
- import { OptionsColor, isNull, setRangeValue, } from "@tsparticles/engine";
1
+ import { OptionsColor, isNull, loadProperty, loadRangeProperty, } from "@tsparticles/engine";
2
2
  export class TwinkleParticlesValues {
3
- enable;
3
+ enable = false;
4
4
  fillColor;
5
- frequency;
6
- opacity;
5
+ frequency = 0.05;
6
+ opacity = 1;
7
7
  strokeColor;
8
- constructor() {
9
- this.enable = false;
10
- this.frequency = 0.05;
11
- this.opacity = 1;
12
- }
13
8
  load(data) {
14
9
  if (isNull(data)) {
15
10
  return;
@@ -20,14 +15,8 @@ export class TwinkleParticlesValues {
20
15
  if (data.strokeColor !== undefined) {
21
16
  this.strokeColor = OptionsColor.create(this.strokeColor, data.strokeColor);
22
17
  }
23
- if (data.enable !== undefined) {
24
- this.enable = data.enable;
25
- }
26
- if (data.frequency !== undefined) {
27
- this.frequency = data.frequency;
28
- }
29
- if (data.opacity !== undefined) {
30
- this.opacity = setRangeValue(data.opacity);
31
- }
18
+ loadProperty(this, "enable", data.enable);
19
+ loadProperty(this, "frequency", data.frequency);
20
+ loadRangeProperty(this, "opacity", data.opacity);
32
21
  }
33
22
  }
@@ -1,4 +1,4 @@
1
- import { getRandom, getRangeValue, getStyleFromHsl, rangeColorToHsl, } from "@tsparticles/engine";
1
+ import { getRandom, getRangeValue, getStyleFromHsl, loadOptionProperty, rangeColorToHsl, } from "@tsparticles/engine";
2
2
  import { Twinkle } from "./Options/Classes/Twinkle.js";
3
3
  export class TwinkleUpdater {
4
4
  #container;
@@ -37,10 +37,7 @@ export class TwinkleUpdater {
37
37
  return twinkleOptions.particles.enable;
38
38
  }
39
39
  loadOptions(options, ...sources) {
40
- options.twinkle ??= new Twinkle();
41
- for (const source of sources) {
42
- options.twinkle.load(source?.twinkle);
43
- }
40
+ loadOptionProperty(options, "twinkle", Twinkle, ...sources);
44
41
  }
45
42
  update() {
46
43
  }
package/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { TwinkleUpdater } from "./TwinkleUpdater.js";
2
2
  export async function loadTwinkleUpdater(engine) {
3
- engine.checkVersion("4.1.2");
3
+ engine.checkVersion("4.2.0");
4
4
  await engine.pluginManager.register(e => {
5
5
  e.pluginManager.addParticleUpdater("twinkle", container => {
6
6
  return Promise.resolve(new TwinkleUpdater(e.pluginManager, container));
package/esm/index.lazy.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export async function loadTwinkleUpdater(engine) {
2
- engine.checkVersion("4.1.2");
2
+ engine.checkVersion("4.2.0");
3
3
  await engine.pluginManager.register(e => {
4
4
  e.pluginManager.addParticleUpdater("twinkle", async (container) => {
5
5
  const { TwinkleUpdater } = await import("./TwinkleUpdater.js");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/updater-twinkle",
3
- "version": "4.1.2",
3
+ "version": "4.2.0",
4
4
  "description": "tsParticles particles twinkle updater",
5
5
  "homepage": "https://particles.js.org",
6
6
  "repository": {
@@ -93,7 +93,7 @@
93
93
  "./package.json": "./package.json"
94
94
  },
95
95
  "peerDependencies": {
96
- "@tsparticles/engine": "4.1.2"
96
+ "@tsparticles/engine": "4.2.0"
97
97
  },
98
98
  "publishConfig": {
99
99
  "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.updater.twinkle.js","children":[{"name":"dist/browser","children":[{"name":"Options/Classes","children":[{"uid":"e02364fb-1","name":"TwinkleLinksValues.js"},{"uid":"e02364fb-3","name":"TwinkleParticlesValues.js"},{"uid":"e02364fb-5","name":"Twinkle.js"}]},{"uid":"e02364fb-7","name":"TwinkleUpdater.js"},{"uid":"e02364fb-9","name":"index.js"},{"uid":"e02364fb-11","name":"browser.js"}]}]}],"isRoot":true},"nodeParts":{"e02364fb-1":{"renderedLength":822,"gzipLength":0,"brotliLength":0,"metaUid":"e02364fb-0"},"e02364fb-3":{"renderedLength":1030,"gzipLength":0,"brotliLength":0,"metaUid":"e02364fb-2"},"e02364fb-5":{"renderedLength":401,"gzipLength":0,"brotliLength":0,"metaUid":"e02364fb-4"},"e02364fb-7":{"renderedLength":2345,"gzipLength":0,"brotliLength":0,"metaUid":"e02364fb-6"},"e02364fb-9":{"renderedLength":331,"gzipLength":0,"brotliLength":0,"metaUid":"e02364fb-8"},"e02364fb-11":{"renderedLength":179,"gzipLength":0,"brotliLength":0,"metaUid":"e02364fb-10"}},"nodeMetas":{"e02364fb-0":{"id":"/dist/browser/Options/Classes/TwinkleLinksValues.js","moduleParts":{"tsparticles.updater.twinkle.js":"e02364fb-1"},"imported":[{"uid":"e02364fb-12"}],"importedBy":[{"uid":"e02364fb-4"}]},"e02364fb-2":{"id":"/dist/browser/Options/Classes/TwinkleParticlesValues.js","moduleParts":{"tsparticles.updater.twinkle.js":"e02364fb-3"},"imported":[{"uid":"e02364fb-12"}],"importedBy":[{"uid":"e02364fb-4"}]},"e02364fb-4":{"id":"/dist/browser/Options/Classes/Twinkle.js","moduleParts":{"tsparticles.updater.twinkle.js":"e02364fb-5"},"imported":[{"uid":"e02364fb-12"},{"uid":"e02364fb-0"},{"uid":"e02364fb-2"}],"importedBy":[{"uid":"e02364fb-6"}]},"e02364fb-6":{"id":"/dist/browser/TwinkleUpdater.js","moduleParts":{"tsparticles.updater.twinkle.js":"e02364fb-7"},"imported":[{"uid":"e02364fb-12"},{"uid":"e02364fb-4"}],"importedBy":[{"uid":"e02364fb-8"}]},"e02364fb-8":{"id":"/dist/browser/index.js","moduleParts":{"tsparticles.updater.twinkle.js":"e02364fb-9"},"imported":[{"uid":"e02364fb-6"}],"importedBy":[{"uid":"e02364fb-10"}]},"e02364fb-10":{"id":"/dist/browser/browser.js","moduleParts":{"tsparticles.updater.twinkle.js":"e02364fb-11"},"imported":[{"uid":"e02364fb-8"}],"importedBy":[],"isEntry":true},"e02364fb-12":{"id":"@tsparticles/engine","moduleParts":{},"imported":[],"importedBy":[{"uid":"e02364fb-6"},{"uid":"e02364fb-4"},{"uid":"e02364fb-0"},{"uid":"e02364fb-2"}],"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.updater.twinkle.js","children":[{"name":"dist/browser","children":[{"name":"Options/Classes","children":[{"uid":"2d2290db-1","name":"TwinkleLinksValues.js"},{"uid":"2d2290db-3","name":"TwinkleParticlesValues.js"},{"uid":"2d2290db-5","name":"Twinkle.js"}]},{"uid":"2d2290db-7","name":"TwinkleUpdater.js"},{"uid":"2d2290db-9","name":"index.js"},{"uid":"2d2290db-11","name":"browser.js"}]}]}],"isRoot":true},"nodeParts":{"2d2290db-1":{"renderedLength":568,"gzipLength":0,"brotliLength":0,"metaUid":"2d2290db-0"},"2d2290db-3":{"renderedLength":776,"gzipLength":0,"brotliLength":0,"metaUid":"2d2290db-2"},"2d2290db-5":{"renderedLength":315,"gzipLength":0,"brotliLength":0,"metaUid":"2d2290db-4"},"2d2290db-7":{"renderedLength":2265,"gzipLength":0,"brotliLength":0,"metaUid":"2d2290db-6"},"2d2290db-9":{"renderedLength":331,"gzipLength":0,"brotliLength":0,"metaUid":"2d2290db-8"},"2d2290db-11":{"renderedLength":179,"gzipLength":0,"brotliLength":0,"metaUid":"2d2290db-10"}},"nodeMetas":{"2d2290db-0":{"id":"/dist/browser/Options/Classes/TwinkleLinksValues.js","moduleParts":{"tsparticles.updater.twinkle.js":"2d2290db-1"},"imported":[{"uid":"2d2290db-12"}],"importedBy":[{"uid":"2d2290db-4"}]},"2d2290db-2":{"id":"/dist/browser/Options/Classes/TwinkleParticlesValues.js","moduleParts":{"tsparticles.updater.twinkle.js":"2d2290db-3"},"imported":[{"uid":"2d2290db-12"}],"importedBy":[{"uid":"2d2290db-4"}]},"2d2290db-4":{"id":"/dist/browser/Options/Classes/Twinkle.js","moduleParts":{"tsparticles.updater.twinkle.js":"2d2290db-5"},"imported":[{"uid":"2d2290db-12"},{"uid":"2d2290db-0"},{"uid":"2d2290db-2"}],"importedBy":[{"uid":"2d2290db-6"}]},"2d2290db-6":{"id":"/dist/browser/TwinkleUpdater.js","moduleParts":{"tsparticles.updater.twinkle.js":"2d2290db-7"},"imported":[{"uid":"2d2290db-12"},{"uid":"2d2290db-4"}],"importedBy":[{"uid":"2d2290db-8"}]},"2d2290db-8":{"id":"/dist/browser/index.js","moduleParts":{"tsparticles.updater.twinkle.js":"2d2290db-9"},"imported":[{"uid":"2d2290db-6"}],"importedBy":[{"uid":"2d2290db-10"}]},"2d2290db-10":{"id":"/dist/browser/browser.js","moduleParts":{"tsparticles.updater.twinkle.js":"2d2290db-11"},"imported":[{"uid":"2d2290db-8"}],"importedBy":[],"isEntry":true},"2d2290db-12":{"id":"@tsparticles/engine","moduleParts":{},"imported":[],"importedBy":[{"uid":"2d2290db-6"},{"uid":"2d2290db-4"},{"uid":"2d2290db-0"},{"uid":"2d2290db-2"}],"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
- /* Updater v4.1.2 */
2
+ /* Updater v4.2.0 */
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@tsparticles/engine')) :
5
5
  typeof define === 'function' && define.amd ? define(['exports', '@tsparticles/engine'], factory) :
@@ -8,14 +8,9 @@
8
8
 
9
9
  class TwinkleLinksValues {
10
10
  color;
11
- enable;
12
- frequency;
13
- opacity;
14
- constructor() {
15
- this.enable = false;
16
- this.frequency = 0.05;
17
- this.opacity = 1;
18
- }
11
+ enable = false;
12
+ frequency = 0.05;
13
+ opacity = 1;
19
14
  load(data) {
20
15
  if (engine.isNull(data)) {
21
16
  return;
@@ -23,29 +18,18 @@
23
18
  if (data.color !== undefined) {
24
19
  this.color = engine.OptionsColor.create(this.color, data.color);
25
20
  }
26
- if (data.enable !== undefined) {
27
- this.enable = data.enable;
28
- }
29
- if (data.frequency !== undefined) {
30
- this.frequency = data.frequency;
31
- }
32
- if (data.opacity !== undefined) {
33
- this.opacity = engine.setRangeValue(data.opacity);
34
- }
21
+ engine.loadProperty(this, "enable", data.enable);
22
+ engine.loadProperty(this, "frequency", data.frequency);
23
+ engine.loadRangeProperty(this, "opacity", data.opacity);
35
24
  }
36
25
  }
37
26
 
38
27
  class TwinkleParticlesValues {
39
- enable;
28
+ enable = false;
40
29
  fillColor;
41
- frequency;
42
- opacity;
30
+ frequency = 0.05;
31
+ opacity = 1;
43
32
  strokeColor;
44
- constructor() {
45
- this.enable = false;
46
- this.frequency = 0.05;
47
- this.opacity = 1;
48
- }
49
33
  load(data) {
50
34
  if (engine.isNull(data)) {
51
35
  return;
@@ -56,25 +40,15 @@
56
40
  if (data.strokeColor !== undefined) {
57
41
  this.strokeColor = engine.OptionsColor.create(this.strokeColor, data.strokeColor);
58
42
  }
59
- if (data.enable !== undefined) {
60
- this.enable = data.enable;
61
- }
62
- if (data.frequency !== undefined) {
63
- this.frequency = data.frequency;
64
- }
65
- if (data.opacity !== undefined) {
66
- this.opacity = engine.setRangeValue(data.opacity);
67
- }
43
+ engine.loadProperty(this, "enable", data.enable);
44
+ engine.loadProperty(this, "frequency", data.frequency);
45
+ engine.loadRangeProperty(this, "opacity", data.opacity);
68
46
  }
69
47
  }
70
48
 
71
49
  class Twinkle {
72
- links;
73
- particles;
74
- constructor() {
75
- this.links = new TwinkleLinksValues();
76
- this.particles = new TwinkleParticlesValues();
77
- }
50
+ links = new TwinkleLinksValues();
51
+ particles = new TwinkleParticlesValues();
78
52
  load(data) {
79
53
  if (engine.isNull(data)) {
80
54
  return;
@@ -121,17 +95,14 @@
121
95
  return twinkleOptions.particles.enable;
122
96
  }
123
97
  loadOptions(options, ...sources) {
124
- options.twinkle ??= new Twinkle();
125
- for (const source of sources) {
126
- options.twinkle.load(source?.twinkle);
127
- }
98
+ engine.loadOptionProperty(options, "twinkle", Twinkle, ...sources);
128
99
  }
129
100
  update() {
130
101
  }
131
102
  }
132
103
 
133
104
  async function loadTwinkleUpdater(engine) {
134
- engine.checkVersion("4.1.2");
105
+ engine.checkVersion("4.2.0");
135
106
  await engine.pluginManager.register(e => {
136
107
  e.pluginManager.addParticleUpdater("twinkle", container => {
137
108
  return Promise.resolve(new TwinkleUpdater(e.pluginManager, 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/engine")):"function"==typeof define&&define.amd?define(["exports","@tsparticles/engine"],s):s(((t="undefined"!=typeof globalThis?globalThis:t||self).__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.updaters=t.__tsParticlesInternals.updaters||{},t.__tsParticlesInternals.updaters.twinkle=t.__tsParticlesInternals.updaters.twinkle||{}),t.__tsParticlesInternals.engine)}(this,function(t,s){"use strict";class e{color;enable;frequency;opacity;constructor(){this.enable=!1,this.frequency=.05,this.opacity=1}load(t){s.isNull(t)||(void 0!==t.color&&(this.color=s.OptionsColor.create(this.color,t.color)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.frequency&&(this.frequency=t.frequency),void 0!==t.opacity&&(this.opacity=s.setRangeValue(t.opacity)))}}class n{enable;fillColor;frequency;opacity;strokeColor;constructor(){this.enable=!1,this.frequency=.05,this.opacity=1}load(t){s.isNull(t)||(void 0!==t.fillColor&&(this.fillColor=s.OptionsColor.create(this.fillColor,t.fillColor)),void 0!==t.strokeColor&&(this.strokeColor=s.OptionsColor.create(this.strokeColor,t.strokeColor)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.frequency&&(this.frequency=t.frequency),void 0!==t.opacity&&(this.opacity=s.setRangeValue(t.opacity)))}}class l{links;particles;constructor(){this.links=new e,this.particles=new n}load(t){s.isNull(t)||(this.links.load(t.links),this.particles.load(t.particles))}}class a{#t;#s;constructor(t,s){this.#s=t,this.#t=s}getColorStyles(t,e,n,l){const a=t.options,r=this.#t,i=a.twinkle;if(!i)return{};const c=i.particles,o=c.enable&&s.getRandom()<c.frequency,_=t.options.zIndex,p=(1-t.zIndexFactor)**_.opacityRate,u=o?s.getRangeValue(c.opacity)*p:l,I=s.rangeColorToHsl(this.#s,c.fillColor),P=s.rangeColorToHsl(this.#s,c.strokeColor),d=(()=>{if(I)return s.getStyleFromHsl(I,r.hdr,u)})(),h=(()=>{if(P)return s.getStyleFromHsl(P,r.hdr,u)})(),f={},g=o&&(!!d||!!h);return f.fill=g?d:void 0,f.stroke=g?h:void 0,f}init(){}isEnabled(t){const s=t.options.twinkle;return!!s&&s.particles.enable}loadOptions(t,...s){t.twinkle??=new l;for(const e of s)t.twinkle.load(e?.twinkle)}update(){}}async function r(t){t.checkVersion("4.1.2"),await t.pluginManager.register(t=>{t.pluginManager.addParticleUpdater("twinkle",s=>Promise.resolve(new a(t.pluginManager,s)))})}const i=globalThis;i.__tsParticlesInternals=i.__tsParticlesInternals??{},i.loadTwinkleUpdater=r,t.loadTwinkleUpdater=r}),Object.assign(globalThis.window||globalThis,{loadTwinkleUpdater:(globalThis.__tsParticlesInternals.updaters.twinkle||{}).loadTwinkleUpdater}),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/engine")):"function"==typeof define&&define.amd?define(["exports","@tsparticles/engine"],s):s(((t="undefined"!=typeof globalThis?globalThis:t||self).__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.updaters=t.__tsParticlesInternals.updaters||{},t.__tsParticlesInternals.updaters.twinkle=t.__tsParticlesInternals.updaters.twinkle||{}),t.__tsParticlesInternals.engine)}(this,function(t,s){"use strict";class e{color;enable=!1;frequency=.05;opacity=1;load(t){s.isNull(t)||(void 0!==t.color&&(this.color=s.OptionsColor.create(this.color,t.color)),s.loadProperty(this,"enable",t.enable),s.loadProperty(this,"frequency",t.frequency),s.loadRangeProperty(this,"opacity",t.opacity))}}class n{enable=!1;fillColor;frequency=.05;opacity=1;strokeColor;load(t){s.isNull(t)||(void 0!==t.fillColor&&(this.fillColor=s.OptionsColor.create(this.fillColor,t.fillColor)),void 0!==t.strokeColor&&(this.strokeColor=s.OptionsColor.create(this.strokeColor,t.strokeColor)),s.loadProperty(this,"enable",t.enable),s.loadProperty(this,"frequency",t.frequency),s.loadRangeProperty(this,"opacity",t.opacity))}}class l{links=new e;particles=new n;load(t){s.isNull(t)||(this.links.load(t.links),this.particles.load(t.particles))}}class a{#t;#s;constructor(t,s){this.#s=t,this.#t=s}getColorStyles(t,e,n,l){const a=t.options,r=this.#t,i=a.twinkle;if(!i)return{};const o=i.particles,c=o.enable&&s.getRandom()<o.frequency,_=t.options.zIndex,p=(1-t.zIndexFactor)**_.opacityRate,P=c?s.getRangeValue(o.opacity)*p:l,I=s.rangeColorToHsl(this.#s,o.fillColor),u=s.rangeColorToHsl(this.#s,o.strokeColor),d=(()=>{if(I)return s.getStyleFromHsl(I,r.hdr,P)})(),h=(()=>{if(u)return s.getStyleFromHsl(u,r.hdr,P)})(),g={},f=c&&(!!d||!!h);return g.fill=f?d:void 0,g.stroke=f?h:void 0,g}init(){}isEnabled(t){const s=t.options.twinkle;return!!s&&s.particles.enable}loadOptions(t,...e){s.loadOptionProperty(t,"twinkle",l,...e)}update(){}}async function r(t){t.checkVersion("4.2.0"),await t.pluginManager.register(t=>{t.pluginManager.addParticleUpdater("twinkle",s=>Promise.resolve(new a(t.pluginManager,s)))})}const i=globalThis;i.__tsParticlesInternals=i.__tsParticlesInternals??{},i.loadTwinkleUpdater=r,t.loadTwinkleUpdater=r}),Object.assign(globalThis.window||globalThis,{loadTwinkleUpdater:(globalThis.__tsParticlesInternals.updaters.twinkle||{}).loadTwinkleUpdater}),delete(globalThis.window||globalThis).tsparticlesInternalExports;
@@ -3,8 +3,7 @@ import type { ITwinkle } from "../Interfaces/ITwinkle.js";
3
3
  import { TwinkleLinksValues } from "./TwinkleLinksValues.js";
4
4
  import { TwinkleParticlesValues } from "./TwinkleParticlesValues.js";
5
5
  export declare class Twinkle implements ITwinkle, IOptionLoader<ITwinkle> {
6
- links: TwinkleLinksValues;
7
- particles: TwinkleParticlesValues;
8
- constructor();
6
+ readonly links: TwinkleLinksValues;
7
+ readonly particles: TwinkleParticlesValues;
9
8
  load(data?: RecursivePartial<ITwinkle>): void;
10
9
  }
@@ -5,6 +5,5 @@ export declare class TwinkleLinksValues implements ITwinkleLinksValues, IOptionL
5
5
  enable: boolean;
6
6
  frequency: number;
7
7
  opacity: RangeValue;
8
- constructor();
9
8
  load(data?: RecursivePartial<ITwinkleLinksValues>): void;
10
9
  }
@@ -6,6 +6,5 @@ export declare class TwinkleParticlesValues implements ITwinkleParticlesValues,
6
6
  frequency: number;
7
7
  opacity: RangeValue;
8
8
  strokeColor?: OptionsColor;
9
- constructor();
10
9
  load(data?: RecursivePartial<ITwinkleParticlesValues>): void;
11
10
  }