@tsparticles/plugin-canvas-mask 3.6.0-beta.1 → 3.6.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.
Files changed (44) hide show
  1. package/browser/CanvasMaskInstance.js +2 -1
  2. package/browser/Options/Classes/CanvasMask.js +2 -1
  3. package/browser/Options/Classes/CanvasMaskOverride.js +2 -1
  4. package/browser/Options/Classes/CanvasMaskPixels.js +2 -2
  5. package/browser/Options/Classes/FontTextMask.js +2 -1
  6. package/browser/Options/Classes/ImageMask.js +2 -1
  7. package/browser/Options/Classes/TextMask.js +2 -1
  8. package/browser/Options/Classes/TextMaskLine.js +2 -1
  9. package/cjs/CanvasMaskInstance.js +2 -1
  10. package/cjs/Options/Classes/CanvasMask.js +2 -1
  11. package/cjs/Options/Classes/CanvasMaskOverride.js +2 -1
  12. package/cjs/Options/Classes/CanvasMaskPixels.js +1 -1
  13. package/cjs/Options/Classes/FontTextMask.js +2 -1
  14. package/cjs/Options/Classes/ImageMask.js +2 -1
  15. package/cjs/Options/Classes/TextMask.js +2 -1
  16. package/cjs/Options/Classes/TextMaskLine.js +2 -1
  17. package/esm/CanvasMaskInstance.js +2 -1
  18. package/esm/Options/Classes/CanvasMask.js +2 -1
  19. package/esm/Options/Classes/CanvasMaskOverride.js +2 -1
  20. package/esm/Options/Classes/CanvasMaskPixels.js +2 -2
  21. package/esm/Options/Classes/FontTextMask.js +2 -1
  22. package/esm/Options/Classes/ImageMask.js +2 -1
  23. package/esm/Options/Classes/TextMask.js +2 -1
  24. package/esm/Options/Classes/TextMaskLine.js +2 -1
  25. package/package.json +2 -2
  26. package/report.html +1 -1
  27. package/tsparticles.plugin.canvas-mask.js +9 -9
  28. package/tsparticles.plugin.canvas-mask.min.js +1 -1
  29. package/tsparticles.plugin.canvas-mask.min.js.LICENSE.txt +1 -1
  30. package/types/CanvasMaskInstance.d.ts +1 -1
  31. package/types/Options/Classes/CanvasMask.d.ts +1 -1
  32. package/types/Options/Classes/CanvasMaskOverride.d.ts +1 -1
  33. package/types/Options/Classes/FontTextMask.d.ts +1 -1
  34. package/types/Options/Classes/ImageMask.d.ts +1 -1
  35. package/types/Options/Classes/TextMask.d.ts +1 -1
  36. package/types/Options/Classes/TextMaskLine.d.ts +1 -1
  37. package/umd/CanvasMaskInstance.js +3 -2
  38. package/umd/Options/Classes/CanvasMask.js +3 -2
  39. package/umd/Options/Classes/CanvasMaskOverride.js +3 -2
  40. package/umd/Options/Classes/CanvasMaskPixels.js +1 -1
  41. package/umd/Options/Classes/FontTextMask.js +3 -2
  42. package/umd/Options/Classes/ImageMask.js +3 -2
  43. package/umd/Options/Classes/TextMask.js +3 -2
  44. package/umd/Options/Classes/TextMaskLine.js +3 -2
@@ -1,4 +1,5 @@
1
1
  import { addParticlesFromCanvasPixels, getCanvasImageData, getImageData, getTextData, } from "./utils.js";
2
+ import { isNull } from "@tsparticles/engine";
2
3
  export class CanvasMaskInstance {
3
4
  constructor(container) {
4
5
  this._container = container;
@@ -24,7 +25,7 @@ export class CanvasMaskInstance {
24
25
  else if (options.text) {
25
26
  const textOptions = options.text;
26
27
  const data = getTextData(textOptions, offset);
27
- if (!data) {
28
+ if (isNull(data)) {
28
29
  return;
29
30
  }
30
31
  pixelData = data;
@@ -1,3 +1,4 @@
1
+ import { isNull } from "@tsparticles/engine";
1
2
  import { CanvasMaskOverride } from "./CanvasMaskOverride.js";
2
3
  import { CanvasMaskPixels } from "./CanvasMaskPixels.js";
3
4
  import { ImageMask } from "./ImageMask.js";
@@ -14,7 +15,7 @@ export class CanvasMask {
14
15
  this.scale = 1;
15
16
  }
16
17
  load(data) {
17
- if (!data) {
18
+ if (isNull(data)) {
18
19
  return;
19
20
  }
20
21
  if (data.element !== undefined && data.element instanceof HTMLCanvasElement) {
@@ -1,10 +1,11 @@
1
+ import { isNull } from "@tsparticles/engine";
1
2
  export class CanvasMaskOverride {
2
3
  constructor() {
3
4
  this.color = true;
4
5
  this.opacity = false;
5
6
  }
6
7
  load(data) {
7
- if (!data) {
8
+ if (isNull(data)) {
8
9
  return;
9
10
  }
10
11
  if (data.color !== undefined) {
@@ -1,4 +1,4 @@
1
- import { isFunction, isString } from "@tsparticles/engine";
1
+ import { isFunction, isNull, isString, } from "@tsparticles/engine";
2
2
  const minAlpha = 0;
3
3
  export class CanvasMaskPixels {
4
4
  constructor() {
@@ -6,7 +6,7 @@ export class CanvasMaskPixels {
6
6
  this.offset = 4;
7
7
  }
8
8
  load(data) {
9
- if (!data) {
9
+ if (isNull(data)) {
10
10
  return;
11
11
  }
12
12
  if (data.filter !== undefined) {
@@ -1,10 +1,11 @@
1
+ import { isNull } from "@tsparticles/engine";
1
2
  export class FontTextMask {
2
3
  constructor() {
3
4
  this.family = "sans-serif";
4
5
  this.size = 100;
5
6
  }
6
7
  load(data) {
7
- if (!data) {
8
+ if (isNull(data)) {
8
9
  return;
9
10
  }
10
11
  if (data.family !== undefined) {
@@ -1,9 +1,10 @@
1
+ import { isNull } from "@tsparticles/engine";
1
2
  export class ImageMask {
2
3
  constructor() {
3
4
  this.src = "";
4
5
  }
5
6
  load(data) {
6
- if (!data) {
7
+ if (isNull(data)) {
7
8
  return;
8
9
  }
9
10
  if (data.src !== undefined) {
@@ -1,3 +1,4 @@
1
+ import { isNull } from "@tsparticles/engine";
1
2
  import { FontTextMask } from "./FontTextMask.js";
2
3
  import { TextMaskLine } from "./TextMaskLine.js";
3
4
  export class TextMask {
@@ -8,7 +9,7 @@ export class TextMask {
8
9
  this.text = "";
9
10
  }
10
11
  load(data) {
11
- if (!data) {
12
+ if (isNull(data)) {
12
13
  return;
13
14
  }
14
15
  if (data.color !== undefined) {
@@ -1,10 +1,11 @@
1
+ import { isNull } from "@tsparticles/engine";
1
2
  export class TextMaskLine {
2
3
  constructor() {
3
4
  this.separator = "\n";
4
5
  this.spacing = 10;
5
6
  }
6
7
  load(data) {
7
- if (!data) {
8
+ if (isNull(data)) {
8
9
  return;
9
10
  }
10
11
  if (data.separator !== undefined) {
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CanvasMaskInstance = void 0;
4
4
  const utils_js_1 = require("./utils.js");
5
+ const engine_1 = require("@tsparticles/engine");
5
6
  class CanvasMaskInstance {
6
7
  constructor(container) {
7
8
  this._container = container;
@@ -27,7 +28,7 @@ class CanvasMaskInstance {
27
28
  else if (options.text) {
28
29
  const textOptions = options.text;
29
30
  const data = (0, utils_js_1.getTextData)(textOptions, offset);
30
- if (!data) {
31
+ if ((0, engine_1.isNull)(data)) {
31
32
  return;
32
33
  }
33
34
  pixelData = data;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CanvasMask = void 0;
4
+ const engine_1 = require("@tsparticles/engine");
4
5
  const CanvasMaskOverride_js_1 = require("./CanvasMaskOverride.js");
5
6
  const CanvasMaskPixels_js_1 = require("./CanvasMaskPixels.js");
6
7
  const ImageMask_js_1 = require("./ImageMask.js");
@@ -17,7 +18,7 @@ class CanvasMask {
17
18
  this.scale = 1;
18
19
  }
19
20
  load(data) {
20
- if (!data) {
21
+ if ((0, engine_1.isNull)(data)) {
21
22
  return;
22
23
  }
23
24
  if (data.element !== undefined && data.element instanceof HTMLCanvasElement) {
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CanvasMaskOverride = void 0;
4
+ const engine_1 = require("@tsparticles/engine");
4
5
  class CanvasMaskOverride {
5
6
  constructor() {
6
7
  this.color = true;
7
8
  this.opacity = false;
8
9
  }
9
10
  load(data) {
10
- if (!data) {
11
+ if ((0, engine_1.isNull)(data)) {
11
12
  return;
12
13
  }
13
14
  if (data.color !== undefined) {
@@ -9,7 +9,7 @@ class CanvasMaskPixels {
9
9
  this.offset = 4;
10
10
  }
11
11
  load(data) {
12
- if (!data) {
12
+ if ((0, engine_1.isNull)(data)) {
13
13
  return;
14
14
  }
15
15
  if (data.filter !== undefined) {
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FontTextMask = void 0;
4
+ const engine_1 = require("@tsparticles/engine");
4
5
  class FontTextMask {
5
6
  constructor() {
6
7
  this.family = "sans-serif";
7
8
  this.size = 100;
8
9
  }
9
10
  load(data) {
10
- if (!data) {
11
+ if ((0, engine_1.isNull)(data)) {
11
12
  return;
12
13
  }
13
14
  if (data.family !== undefined) {
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ImageMask = void 0;
4
+ const engine_1 = require("@tsparticles/engine");
4
5
  class ImageMask {
5
6
  constructor() {
6
7
  this.src = "";
7
8
  }
8
9
  load(data) {
9
- if (!data) {
10
+ if ((0, engine_1.isNull)(data)) {
10
11
  return;
11
12
  }
12
13
  if (data.src !== undefined) {
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TextMask = void 0;
4
+ const engine_1 = require("@tsparticles/engine");
4
5
  const FontTextMask_js_1 = require("./FontTextMask.js");
5
6
  const TextMaskLine_js_1 = require("./TextMaskLine.js");
6
7
  class TextMask {
@@ -11,7 +12,7 @@ class TextMask {
11
12
  this.text = "";
12
13
  }
13
14
  load(data) {
14
- if (!data) {
15
+ if ((0, engine_1.isNull)(data)) {
15
16
  return;
16
17
  }
17
18
  if (data.color !== undefined) {
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TextMaskLine = void 0;
4
+ const engine_1 = require("@tsparticles/engine");
4
5
  class TextMaskLine {
5
6
  constructor() {
6
7
  this.separator = "\n";
7
8
  this.spacing = 10;
8
9
  }
9
10
  load(data) {
10
- if (!data) {
11
+ if ((0, engine_1.isNull)(data)) {
11
12
  return;
12
13
  }
13
14
  if (data.separator !== undefined) {
@@ -1,4 +1,5 @@
1
1
  import { addParticlesFromCanvasPixels, getCanvasImageData, getImageData, getTextData, } from "./utils.js";
2
+ import { isNull } from "@tsparticles/engine";
2
3
  export class CanvasMaskInstance {
3
4
  constructor(container) {
4
5
  this._container = container;
@@ -24,7 +25,7 @@ export class CanvasMaskInstance {
24
25
  else if (options.text) {
25
26
  const textOptions = options.text;
26
27
  const data = getTextData(textOptions, offset);
27
- if (!data) {
28
+ if (isNull(data)) {
28
29
  return;
29
30
  }
30
31
  pixelData = data;
@@ -1,3 +1,4 @@
1
+ import { isNull } from "@tsparticles/engine";
1
2
  import { CanvasMaskOverride } from "./CanvasMaskOverride.js";
2
3
  import { CanvasMaskPixels } from "./CanvasMaskPixels.js";
3
4
  import { ImageMask } from "./ImageMask.js";
@@ -14,7 +15,7 @@ export class CanvasMask {
14
15
  this.scale = 1;
15
16
  }
16
17
  load(data) {
17
- if (!data) {
18
+ if (isNull(data)) {
18
19
  return;
19
20
  }
20
21
  if (data.element !== undefined && data.element instanceof HTMLCanvasElement) {
@@ -1,10 +1,11 @@
1
+ import { isNull } from "@tsparticles/engine";
1
2
  export class CanvasMaskOverride {
2
3
  constructor() {
3
4
  this.color = true;
4
5
  this.opacity = false;
5
6
  }
6
7
  load(data) {
7
- if (!data) {
8
+ if (isNull(data)) {
8
9
  return;
9
10
  }
10
11
  if (data.color !== undefined) {
@@ -1,4 +1,4 @@
1
- import { isFunction, isString } from "@tsparticles/engine";
1
+ import { isFunction, isNull, isString, } from "@tsparticles/engine";
2
2
  const minAlpha = 0;
3
3
  export class CanvasMaskPixels {
4
4
  constructor() {
@@ -6,7 +6,7 @@ export class CanvasMaskPixels {
6
6
  this.offset = 4;
7
7
  }
8
8
  load(data) {
9
- if (!data) {
9
+ if (isNull(data)) {
10
10
  return;
11
11
  }
12
12
  if (data.filter !== undefined) {
@@ -1,10 +1,11 @@
1
+ import { isNull } from "@tsparticles/engine";
1
2
  export class FontTextMask {
2
3
  constructor() {
3
4
  this.family = "sans-serif";
4
5
  this.size = 100;
5
6
  }
6
7
  load(data) {
7
- if (!data) {
8
+ if (isNull(data)) {
8
9
  return;
9
10
  }
10
11
  if (data.family !== undefined) {
@@ -1,9 +1,10 @@
1
+ import { isNull } from "@tsparticles/engine";
1
2
  export class ImageMask {
2
3
  constructor() {
3
4
  this.src = "";
4
5
  }
5
6
  load(data) {
6
- if (!data) {
7
+ if (isNull(data)) {
7
8
  return;
8
9
  }
9
10
  if (data.src !== undefined) {
@@ -1,3 +1,4 @@
1
+ import { isNull } from "@tsparticles/engine";
1
2
  import { FontTextMask } from "./FontTextMask.js";
2
3
  import { TextMaskLine } from "./TextMaskLine.js";
3
4
  export class TextMask {
@@ -8,7 +9,7 @@ export class TextMask {
8
9
  this.text = "";
9
10
  }
10
11
  load(data) {
11
- if (!data) {
12
+ if (isNull(data)) {
12
13
  return;
13
14
  }
14
15
  if (data.color !== undefined) {
@@ -1,10 +1,11 @@
1
+ import { isNull } from "@tsparticles/engine";
1
2
  export class TextMaskLine {
2
3
  constructor() {
3
4
  this.separator = "\n";
4
5
  this.spacing = 10;
5
6
  }
6
7
  load(data) {
7
- if (!data) {
8
+ if (isNull(data)) {
8
9
  return;
9
10
  }
10
11
  if (data.separator !== undefined) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/plugin-canvas-mask",
3
- "version": "3.6.0-beta.1",
3
+ "version": "3.6.0",
4
4
  "description": "tsParticles canvas mask plugin",
5
5
  "homepage": "https://particles.js.org",
6
6
  "repository": {
@@ -86,7 +86,7 @@
86
86
  "./package.json": "./package.json"
87
87
  },
88
88
  "dependencies": {
89
- "@tsparticles/engine": "^3.6.0-beta.1"
89
+ "@tsparticles/engine": "^3.6.0"
90
90
  },
91
91
  "publishConfig": {
92
92
  "access": "public"
package/report.html CHANGED
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8"/>
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
- <title>@tsparticles/plugin-canvas-mask [13 Oct 2024 at 17:25]</title>
6
+ <title>@tsparticles/plugin-canvas-mask [18 Nov 2024 at 23:53]</title>
7
7
  <link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
8
8
 
9
9
  <script>
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v3.6.0-beta.1
7
+ * v3.6.0
8
8
  */
9
9
  /*
10
10
  * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
@@ -34,7 +34,7 @@ return /******/ (() => { // webpackBootstrap
34
34
  \********************************************/
35
35
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
36
36
 
37
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CanvasMaskInstance: () => (/* binding */ CanvasMaskInstance)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"./dist/browser/utils.js\");\n\nclass CanvasMaskInstance {\n constructor(container) {\n this._container = container;\n }\n async init() {\n const container = this._container,\n options = container.actualOptions.canvasMask;\n if (!options?.enable) {\n return;\n }\n let pixelData = {\n pixels: [],\n height: 0,\n width: 0\n };\n const offset = options.pixels.offset;\n if (options.image) {\n const url = options.image.src;\n if (!url) {\n return;\n }\n pixelData = await (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getImageData)(url, offset);\n } else if (options.text) {\n const textOptions = options.text;\n const data = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getTextData)(textOptions, offset);\n if (!data) {\n return;\n }\n pixelData = data;\n } else if (options.element ?? options.selector) {\n const canvas = options.element ?? (options.selector && document.querySelector(options.selector));\n if (!canvas) {\n return;\n }\n const context = canvas.getContext(\"2d\");\n if (!context) {\n return;\n }\n pixelData = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getCanvasImageData)(context, canvas, offset);\n }\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.addParticlesFromCanvasPixels)(container, pixelData, options.position, options.scale, options.override, options.pixels.filter);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-canvas-mask/./dist/browser/CanvasMaskInstance.js?");
37
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CanvasMaskInstance: () => (/* binding */ CanvasMaskInstance)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.js */ \"./dist/browser/utils.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n\n\nclass CanvasMaskInstance {\n constructor(container) {\n this._container = container;\n }\n async init() {\n const container = this._container,\n options = container.actualOptions.canvasMask;\n if (!options?.enable) {\n return;\n }\n let pixelData = {\n pixels: [],\n height: 0,\n width: 0\n };\n const offset = options.pixels.offset;\n if (options.image) {\n const url = options.image.src;\n if (!url) {\n return;\n }\n pixelData = await (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getImageData)(url, offset);\n } else if (options.text) {\n const textOptions = options.text;\n const data = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getTextData)(textOptions, offset);\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n pixelData = data;\n } else if (options.element ?? options.selector) {\n const canvas = options.element ?? (options.selector && document.querySelector(options.selector));\n if (!canvas) {\n return;\n }\n const context = canvas.getContext(\"2d\");\n if (!context) {\n return;\n }\n pixelData = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getCanvasImageData)(context, canvas, offset);\n }\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.addParticlesFromCanvasPixels)(container, pixelData, options.position, options.scale, options.override, options.pixels.filter);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-canvas-mask/./dist/browser/CanvasMaskInstance.js?");
38
38
 
39
39
  /***/ }),
40
40
 
@@ -54,7 +54,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
54
54
  \****************************************************/
55
55
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
56
56
 
57
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CanvasMask: () => (/* binding */ CanvasMask)\n/* harmony export */ });\n/* harmony import */ var _CanvasMaskOverride_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CanvasMaskOverride.js */ \"./dist/browser/Options/Classes/CanvasMaskOverride.js\");\n/* harmony import */ var _CanvasMaskPixels_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CanvasMaskPixels.js */ \"./dist/browser/Options/Classes/CanvasMaskPixels.js\");\n/* harmony import */ var _ImageMask_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ImageMask.js */ \"./dist/browser/Options/Classes/ImageMask.js\");\n/* harmony import */ var _TextMask_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./TextMask.js */ \"./dist/browser/Options/Classes/TextMask.js\");\n\n\n\n\nclass CanvasMask {\n constructor() {\n this.enable = false;\n this.override = new _CanvasMaskOverride_js__WEBPACK_IMPORTED_MODULE_0__.CanvasMaskOverride();\n this.pixels = new _CanvasMaskPixels_js__WEBPACK_IMPORTED_MODULE_1__.CanvasMaskPixels();\n this.position = {\n x: 50,\n y: 50\n };\n this.scale = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.element !== undefined && data.element instanceof HTMLCanvasElement) {\n this.element = data.element;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.image) {\n if (!this.image) {\n this.image = new _ImageMask_js__WEBPACK_IMPORTED_MODULE_2__.ImageMask();\n }\n this.image.load(data.image);\n }\n this.pixels.load(data.pixels);\n if (data.position) {\n this.position = {\n x: data.position.x ?? this.position.x,\n y: data.position.y ?? this.position.y\n };\n }\n this.override.load(data.override);\n if (data.scale !== undefined) {\n this.scale = data.scale;\n }\n if (data.selector !== undefined) {\n this.selector = data.selector;\n }\n if (data.text) {\n if (!this.text) {\n this.text = new _TextMask_js__WEBPACK_IMPORTED_MODULE_3__.TextMask();\n }\n this.text.load(data.text);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-canvas-mask/./dist/browser/Options/Classes/CanvasMask.js?");
57
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CanvasMask: () => (/* binding */ CanvasMask)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _CanvasMaskOverride_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CanvasMaskOverride.js */ \"./dist/browser/Options/Classes/CanvasMaskOverride.js\");\n/* harmony import */ var _CanvasMaskPixels_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CanvasMaskPixels.js */ \"./dist/browser/Options/Classes/CanvasMaskPixels.js\");\n/* harmony import */ var _ImageMask_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ImageMask.js */ \"./dist/browser/Options/Classes/ImageMask.js\");\n/* harmony import */ var _TextMask_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TextMask.js */ \"./dist/browser/Options/Classes/TextMask.js\");\n\n\n\n\n\nclass CanvasMask {\n constructor() {\n this.enable = false;\n this.override = new _CanvasMaskOverride_js__WEBPACK_IMPORTED_MODULE_1__.CanvasMaskOverride();\n this.pixels = new _CanvasMaskPixels_js__WEBPACK_IMPORTED_MODULE_2__.CanvasMaskPixels();\n this.position = {\n x: 50,\n y: 50\n };\n this.scale = 1;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.element !== undefined && data.element instanceof HTMLCanvasElement) {\n this.element = data.element;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.image) {\n if (!this.image) {\n this.image = new _ImageMask_js__WEBPACK_IMPORTED_MODULE_3__.ImageMask();\n }\n this.image.load(data.image);\n }\n this.pixels.load(data.pixels);\n if (data.position) {\n this.position = {\n x: data.position.x ?? this.position.x,\n y: data.position.y ?? this.position.y\n };\n }\n this.override.load(data.override);\n if (data.scale !== undefined) {\n this.scale = data.scale;\n }\n if (data.selector !== undefined) {\n this.selector = data.selector;\n }\n if (data.text) {\n if (!this.text) {\n this.text = new _TextMask_js__WEBPACK_IMPORTED_MODULE_4__.TextMask();\n }\n this.text.load(data.text);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-canvas-mask/./dist/browser/Options/Classes/CanvasMask.js?");
58
58
 
59
59
  /***/ }),
60
60
 
@@ -64,7 +64,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
64
64
  \************************************************************/
65
65
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
66
66
 
67
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CanvasMaskOverride: () => (/* binding */ CanvasMaskOverride)\n/* harmony export */ });\nclass CanvasMaskOverride {\n constructor() {\n this.color = true;\n this.opacity = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = data.color;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-canvas-mask/./dist/browser/Options/Classes/CanvasMaskOverride.js?");
67
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CanvasMaskOverride: () => (/* binding */ CanvasMaskOverride)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n\nclass CanvasMaskOverride {\n constructor() {\n this.color = true;\n this.opacity = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = data.color;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-canvas-mask/./dist/browser/Options/Classes/CanvasMaskOverride.js?");
68
68
 
69
69
  /***/ }),
70
70
 
@@ -74,7 +74,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
74
74
  \**********************************************************/
75
75
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
76
76
 
77
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CanvasMaskPixels: () => (/* binding */ CanvasMaskPixels)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n\nconst minAlpha = 0;\nclass CanvasMaskPixels {\n constructor() {\n this.filter = pixel => pixel.a > minAlpha;\n this.offset = 4;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.filter !== undefined) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isString)(data.filter)) {\n if (Object.hasOwn(window, data.filter)) {\n const filter = window[data.filter];\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isFunction)(filter)) {\n this.filter = filter;\n }\n }\n } else {\n this.filter = data.filter;\n }\n }\n if (data.offset !== undefined) {\n this.offset = data.offset;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-canvas-mask/./dist/browser/Options/Classes/CanvasMaskPixels.js?");
77
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CanvasMaskPixels: () => (/* binding */ CanvasMaskPixels)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n\nconst minAlpha = 0;\nclass CanvasMaskPixels {\n constructor() {\n this.filter = pixel => pixel.a > minAlpha;\n this.offset = 4;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.filter !== undefined) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isString)(data.filter)) {\n if (Object.hasOwn(window, data.filter)) {\n const filter = window[data.filter];\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isFunction)(filter)) {\n this.filter = filter;\n }\n }\n } else {\n this.filter = data.filter;\n }\n }\n if (data.offset !== undefined) {\n this.offset = data.offset;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-canvas-mask/./dist/browser/Options/Classes/CanvasMaskPixels.js?");
78
78
 
79
79
  /***/ }),
80
80
 
@@ -84,7 +84,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
84
84
  \******************************************************/
85
85
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
86
86
 
87
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FontTextMask: () => (/* binding */ FontTextMask)\n/* harmony export */ });\nclass FontTextMask {\n constructor() {\n this.family = \"sans-serif\";\n this.size = 100;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.family !== undefined) {\n this.family = data.family;\n }\n if (data.size !== undefined) {\n this.size = data.size;\n }\n if (data.style !== undefined) {\n this.style = data.style;\n }\n if (data.variant !== undefined) {\n this.variant = data.variant;\n }\n if (data.weight !== undefined) {\n this.weight = data.weight;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-canvas-mask/./dist/browser/Options/Classes/FontTextMask.js?");
87
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FontTextMask: () => (/* binding */ FontTextMask)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n\nclass FontTextMask {\n constructor() {\n this.family = \"sans-serif\";\n this.size = 100;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.family !== undefined) {\n this.family = data.family;\n }\n if (data.size !== undefined) {\n this.size = data.size;\n }\n if (data.style !== undefined) {\n this.style = data.style;\n }\n if (data.variant !== undefined) {\n this.variant = data.variant;\n }\n if (data.weight !== undefined) {\n this.weight = data.weight;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-canvas-mask/./dist/browser/Options/Classes/FontTextMask.js?");
88
88
 
89
89
  /***/ }),
90
90
 
@@ -94,7 +94,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
94
94
  \***************************************************/
95
95
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
96
96
 
97
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ImageMask: () => (/* binding */ ImageMask)\n/* harmony export */ });\nclass ImageMask {\n constructor() {\n this.src = \"\";\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.src !== undefined) {\n this.src = data.src;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-canvas-mask/./dist/browser/Options/Classes/ImageMask.js?");
97
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ImageMask: () => (/* binding */ ImageMask)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n\nclass ImageMask {\n constructor() {\n this.src = \"\";\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.src !== undefined) {\n this.src = data.src;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-canvas-mask/./dist/browser/Options/Classes/ImageMask.js?");
98
98
 
99
99
  /***/ }),
100
100
 
@@ -104,7 +104,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
104
104
  \**************************************************/
105
105
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
106
106
 
107
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TextMask: () => (/* binding */ TextMask)\n/* harmony export */ });\n/* harmony import */ var _FontTextMask_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./FontTextMask.js */ \"./dist/browser/Options/Classes/FontTextMask.js\");\n/* harmony import */ var _TextMaskLine_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TextMaskLine.js */ \"./dist/browser/Options/Classes/TextMaskLine.js\");\n\n\nclass TextMask {\n constructor() {\n this.color = \"#000000\";\n this.font = new _FontTextMask_js__WEBPACK_IMPORTED_MODULE_0__.FontTextMask();\n this.lines = new _TextMaskLine_js__WEBPACK_IMPORTED_MODULE_1__.TextMaskLine();\n this.text = \"\";\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = data.color;\n }\n this.font.load(data.font);\n this.lines.load(data.lines);\n if (data.text !== undefined) {\n this.text = data.text;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-canvas-mask/./dist/browser/Options/Classes/TextMask.js?");
107
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TextMask: () => (/* binding */ TextMask)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _FontTextMask_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FontTextMask.js */ \"./dist/browser/Options/Classes/FontTextMask.js\");\n/* harmony import */ var _TextMaskLine_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TextMaskLine.js */ \"./dist/browser/Options/Classes/TextMaskLine.js\");\n\n\n\nclass TextMask {\n constructor() {\n this.color = \"#000000\";\n this.font = new _FontTextMask_js__WEBPACK_IMPORTED_MODULE_1__.FontTextMask();\n this.lines = new _TextMaskLine_js__WEBPACK_IMPORTED_MODULE_2__.TextMaskLine();\n this.text = \"\";\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = data.color;\n }\n this.font.load(data.font);\n this.lines.load(data.lines);\n if (data.text !== undefined) {\n this.text = data.text;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-canvas-mask/./dist/browser/Options/Classes/TextMask.js?");
108
108
 
109
109
  /***/ }),
110
110
 
@@ -114,7 +114,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
114
114
  \******************************************************/
115
115
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
116
116
 
117
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TextMaskLine: () => (/* binding */ TextMaskLine)\n/* harmony export */ });\nclass TextMaskLine {\n constructor() {\n this.separator = \"\\n\";\n this.spacing = 10;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.separator !== undefined) {\n this.separator = data.separator;\n }\n if (data.spacing !== undefined) {\n this.spacing = data.spacing;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-canvas-mask/./dist/browser/Options/Classes/TextMaskLine.js?");
117
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TextMaskLine: () => (/* binding */ TextMaskLine)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n\nclass TextMaskLine {\n constructor() {\n this.separator = \"\\n\";\n this.spacing = 10;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.separator !== undefined) {\n this.separator = data.separator;\n }\n if (data.spacing !== undefined) {\n this.spacing = data.spacing;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-canvas-mask/./dist/browser/Options/Classes/TextMaskLine.js?");
118
118
 
119
119
  /***/ }),
120
120
 
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see tsparticles.plugin.canvas-mask.min.js.LICENSE.txt */
2
- !function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],e);else{var i="object"==typeof exports?e(require("@tsparticles/engine")):e(t.window);for(var o in i)("object"==typeof exports?exports:t)[o]=i[o]}}(this,(t=>(()=>{var e={303:e=>{e.exports=t}},i={};function o(t){var s=i[t];if(void 0!==s)return s.exports;var n=i[t]={exports:{}};return e[t](n,n.exports,o),n.exports}o.d=(t,e)=>{for(var i in e)o.o(e,i)&&!o.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var s={};o.r(s),o.d(s,{loadCanvasMaskPlugin:()=>m});class n{constructor(){this.color=!0,this.opacity=!1}load(t){t&&(void 0!==t.color&&(this.color=t.color),void 0!==t.opacity&&(this.opacity=t.opacity))}}var r=o(303);class a{constructor(){this.filter=t=>t.a>0,this.offset=4}load(t){if(t){if(void 0!==t.filter)if((0,r.isString)(t.filter)){if(Object.hasOwn(window,t.filter)){const e=window[t.filter];(0,r.isFunction)(e)&&(this.filter=e)}}else this.filter=t.filter;void 0!==t.offset&&(this.offset=t.offset)}}}class l{constructor(){this.src=""}load(t){t&&void 0!==t.src&&(this.src=t.src)}}class c{constructor(){this.family="sans-serif",this.size=100}load(t){t&&(void 0!==t.family&&(this.family=t.family),void 0!==t.size&&(this.size=t.size),void 0!==t.style&&(this.style=t.style),void 0!==t.variant&&(this.variant=t.variant),void 0!==t.weight&&(this.weight=t.weight))}}class h{constructor(){this.separator="\n",this.spacing=10}load(t){t&&(void 0!==t.separator&&(this.separator=t.separator),void 0!==t.spacing&&(this.spacing=t.spacing))}}class d{constructor(){this.color="#000000",this.font=new c,this.lines=new h,this.text=""}load(t){t&&(void 0!==t.color&&(this.color=t.color),this.font.load(t.font),this.lines.load(t.lines),void 0!==t.text&&(this.text=t.text))}}class f{constructor(){this.enable=!1,this.override=new n,this.pixels=new a,this.position={x:50,y:50},this.scale=1}load(t){t&&(void 0!==t.element&&t.element instanceof HTMLCanvasElement&&(this.element=t.element),void 0!==t.enable&&(this.enable=t.enable),t.image&&(this.image||(this.image=new l),this.image.load(t.image)),this.pixels.load(t.pixels),t.position&&(this.position={x:t.position.x??this.position.x,y:t.position.y??this.position.y}),this.override.load(t.override),void 0!==t.scale&&(this.scale=t.scale),void 0!==t.selector&&(this.selector=t.selector),t.text&&(this.text||(this.text=new d),this.text.load(t.text)))}}const u={x:0,y:0};function p(t,e,i,o,s,n){const{height:a,width:l}=e,c=a*l,h=function(t){const e=1,i=0;for(let o=t.length-e;o>=i;o--){const e=Math.floor((0,r.getRandom)()*o);[t[o],t[e]]=[t[e],t[o]]}return t}(x(c)),d=Math.min(c,t.actualOptions.particles.number.value),f=t.canvas.size;let u=0;const p=f.width*i.x/r.percentDenominator-l*o*.5,g=f.height*i.y/r.percentDenominator-a*o*.5;for(;u<d&&h.length;){const i=0,r=h.pop()??i,a={x:r%l,y:Math.floor(r/l)},c=e.pixels[a.y][a.x];if(!n(c))continue;const d={x:a.x*o+p,y:a.y*o+g},f={};s.color&&(f.color={value:c}),s.opacity&&(f.opacity={value:c.a}),t.particles.addParticle(d,f),u++}}function g(t,e,i,o=!0){const s=t.getImageData(u.x,u.y,e.width,e.height).data;o&&t.clearRect(u.x,u.y,e.width,e.height);const n=[];for(let t=0;t<s.length;t+=i){const o=t/i,r={x:o%e.width,y:Math.floor(o/e.width)};n[r.y]||(n[r.y]=[]);const a={r:0,g:1,b:2,a:3},l=255;n[r.y][r.x]={r:s[t+a.r],g:s[t+a.g],b:s[t+a.b],a:s[t+a.a]/l}}return{pixels:n,width:Math.min(...n.map((t=>t.length))),height:n.length}}const x=t=>[...Array(t).keys()];class y{constructor(t){this._container=t}async init(){const t=this._container,e=t.actualOptions.canvasMask;if(!e?.enable)return;let i={pixels:[],height:0,width:0};const o=e.pixels.offset;if(e.image){const t=e.image.src;if(!t)return;i=await function(t,e){const i=new Image;i.crossOrigin="Anonymous";const o=new Promise(((t,o)=>{i.onerror=o,i.onload=()=>{const s=document.createElement("canvas");s.width=i.width,s.height=i.height;const n=s.getContext("2d");if(!n)return o(new Error(`${r.errorPrefix} Could not get canvas context`));n.drawImage(i,u.x,u.y,i.width,i.height,u.x,u.y,s.width,s.height),t(g(n,s,e))}}));return i.src=t,o}(t,o)}else if(e.text){const t=function(t,e){const i=document.createElement("canvas"),o=i.getContext("2d"),{font:s,text:n,lines:a,color:l}=t;if(!n||!o)return;const c=n.split(a.separator),h=(0,r.isNumber)(s.size)?`${s.size}px`:s.size,d=[];let f=0,p=0;for(const t of c){o.font=`${s.style??""} ${s.variant??""} ${s.weight??""} ${h} ${s.family}`;const e=o.measureText(t),i={measure:e,text:t,height:e.actualBoundingBoxAscent+e.actualBoundingBoxDescent,width:e.width};f=Math.max(f||0,i.width),p+=i.height+a.spacing,d.push(i)}i.width=f,i.height=p;let x=0;for(const t of d)o.font=`${s.style??""} ${s.variant??""} ${s.weight??""} ${h} ${s.family}`,o.fillStyle=l,o.fillText(t.text,u.x,x+t.measure.actualBoundingBoxAscent),x+=t.height+a.spacing;return g(o,i,e)}(e.text,o);if(!t)return;i=t}else if(e.element??e.selector){const t=e.element??(e.selector&&document.querySelector(e.selector));if(!t)return;const s=t.getContext("2d");if(!s)return;i=g(s,t,o)}p(t,i,e.position,e.scale,e.override,e.pixels.filter)}}class v{constructor(){this.id="canvasMask"}getPlugin(t){return Promise.resolve(new y(t))}loadOptions(t,e){if(!this.needsPlugin(t)&&!this.needsPlugin(e))return;let i=t.canvasMask;void 0===i?.load&&(t.canvasMask=i=new f),i.load(e?.canvasMask)}needsPlugin(t){return t?.canvasMask?.enable??!1}}async function m(t,e=!0){await t.addPlugin(new v,e)}return s})()));
2
+ !function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],e);else{var i="object"==typeof exports?e(require("@tsparticles/engine")):e(t.window);for(var o in i)("object"==typeof exports?exports:t)[o]=i[o]}}(this,(t=>(()=>{var e={303:e=>{e.exports=t}},i={};function o(t){var s=i[t];if(void 0!==s)return s.exports;var n=i[t]={exports:{}};return e[t](n,n.exports,o),n.exports}o.d=(t,e)=>{for(var i in e)o.o(e,i)&&!o.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var s={};o.r(s),o.d(s,{loadCanvasMaskPlugin:()=>m});var n=o(303);class r{constructor(){this.color=!0,this.opacity=!1}load(t){(0,n.isNull)(t)||(void 0!==t.color&&(this.color=t.color),void 0!==t.opacity&&(this.opacity=t.opacity))}}class a{constructor(){this.filter=t=>t.a>0,this.offset=4}load(t){if(!(0,n.isNull)(t)){if(void 0!==t.filter)if((0,n.isString)(t.filter)){if(Object.hasOwn(window,t.filter)){const e=window[t.filter];(0,n.isFunction)(e)&&(this.filter=e)}}else this.filter=t.filter;void 0!==t.offset&&(this.offset=t.offset)}}}class l{constructor(){this.src=""}load(t){(0,n.isNull)(t)||void 0!==t.src&&(this.src=t.src)}}class c{constructor(){this.family="sans-serif",this.size=100}load(t){(0,n.isNull)(t)||(void 0!==t.family&&(this.family=t.family),void 0!==t.size&&(this.size=t.size),void 0!==t.style&&(this.style=t.style),void 0!==t.variant&&(this.variant=t.variant),void 0!==t.weight&&(this.weight=t.weight))}}class h{constructor(){this.separator="\n",this.spacing=10}load(t){(0,n.isNull)(t)||(void 0!==t.separator&&(this.separator=t.separator),void 0!==t.spacing&&(this.spacing=t.spacing))}}class d{constructor(){this.color="#000000",this.font=new c,this.lines=new h,this.text=""}load(t){(0,n.isNull)(t)||(void 0!==t.color&&(this.color=t.color),this.font.load(t.font),this.lines.load(t.lines),void 0!==t.text&&(this.text=t.text))}}class f{constructor(){this.enable=!1,this.override=new r,this.pixels=new a,this.position={x:50,y:50},this.scale=1}load(t){(0,n.isNull)(t)||(void 0!==t.element&&t.element instanceof HTMLCanvasElement&&(this.element=t.element),void 0!==t.enable&&(this.enable=t.enable),t.image&&(this.image||(this.image=new l),this.image.load(t.image)),this.pixels.load(t.pixels),t.position&&(this.position={x:t.position.x??this.position.x,y:t.position.y??this.position.y}),this.override.load(t.override),void 0!==t.scale&&(this.scale=t.scale),void 0!==t.selector&&(this.selector=t.selector),t.text&&(this.text||(this.text=new d),this.text.load(t.text)))}}const u={x:0,y:0};function p(t,e,i,o,s,r){const{height:a,width:l}=e,c=a*l,h=function(t){const e=1,i=0;for(let o=t.length-e;o>=i;o--){const e=Math.floor((0,n.getRandom)()*o);[t[o],t[e]]=[t[e],t[o]]}return t}(x(c)),d=Math.min(c,t.actualOptions.particles.number.value),f=t.canvas.size;let u=0;const p=f.width*i.x/n.percentDenominator-l*o*.5,g=f.height*i.y/n.percentDenominator-a*o*.5;for(;u<d&&h.length;){const i=0,n=h.pop()??i,a={x:n%l,y:Math.floor(n/l)},c=e.pixels[a.y][a.x];if(!r(c))continue;const d={x:a.x*o+p,y:a.y*o+g},f={};s.color&&(f.color={value:c}),s.opacity&&(f.opacity={value:c.a}),t.particles.addParticle(d,f),u++}}function g(t,e,i,o=!0){const s=t.getImageData(u.x,u.y,e.width,e.height).data;o&&t.clearRect(u.x,u.y,e.width,e.height);const n=[];for(let t=0;t<s.length;t+=i){const o=t/i,r={x:o%e.width,y:Math.floor(o/e.width)};n[r.y]||(n[r.y]=[]);const a={r:0,g:1,b:2,a:3},l=255;n[r.y][r.x]={r:s[t+a.r],g:s[t+a.g],b:s[t+a.b],a:s[t+a.a]/l}}return{pixels:n,width:Math.min(...n.map((t=>t.length))),height:n.length}}const x=t=>[...Array(t).keys()];class y{constructor(t){this._container=t}async init(){const t=this._container,e=t.actualOptions.canvasMask;if(!e?.enable)return;let i={pixels:[],height:0,width:0};const o=e.pixels.offset;if(e.image){const t=e.image.src;if(!t)return;i=await function(t,e){const i=new Image;i.crossOrigin="Anonymous";const o=new Promise(((t,o)=>{i.onerror=o,i.onload=()=>{const s=document.createElement("canvas");s.width=i.width,s.height=i.height;const r=s.getContext("2d");if(!r)return o(new Error(`${n.errorPrefix} Could not get canvas context`));r.drawImage(i,u.x,u.y,i.width,i.height,u.x,u.y,s.width,s.height),t(g(r,s,e))}}));return i.src=t,o}(t,o)}else if(e.text){const t=function(t,e){const i=document.createElement("canvas"),o=i.getContext("2d"),{font:s,text:r,lines:a,color:l}=t;if(!r||!o)return;const c=r.split(a.separator),h=(0,n.isNumber)(s.size)?`${s.size}px`:s.size,d=[];let f=0,p=0;for(const t of c){o.font=`${s.style??""} ${s.variant??""} ${s.weight??""} ${h} ${s.family}`;const e=o.measureText(t),i={measure:e,text:t,height:e.actualBoundingBoxAscent+e.actualBoundingBoxDescent,width:e.width};f=Math.max(f||0,i.width),p+=i.height+a.spacing,d.push(i)}i.width=f,i.height=p;let x=0;for(const t of d)o.font=`${s.style??""} ${s.variant??""} ${s.weight??""} ${h} ${s.family}`,o.fillStyle=l,o.fillText(t.text,u.x,x+t.measure.actualBoundingBoxAscent),x+=t.height+a.spacing;return g(o,i,e)}(e.text,o);if((0,n.isNull)(t))return;i=t}else if(e.element??e.selector){const t=e.element??(e.selector&&document.querySelector(e.selector));if(!t)return;const s=t.getContext("2d");if(!s)return;i=g(s,t,o)}p(t,i,e.position,e.scale,e.override,e.pixels.filter)}}class v{constructor(){this.id="canvasMask"}getPlugin(t){return Promise.resolve(new y(t))}loadOptions(t,e){if(!this.needsPlugin(t)&&!this.needsPlugin(e))return;let i=t.canvasMask;void 0===i?.load&&(t.canvasMask=i=new f),i.load(e?.canvasMask)}needsPlugin(t){return t?.canvasMask?.enable??!1}}async function m(t,e=!0){await t.addPlugin(new v,e)}return s})()));
@@ -1 +1 @@
1
- /*! tsParticles Canvas Mask Plugin v3.6.0-beta.1 by Matteo Bruni */
1
+ /*! tsParticles Canvas Mask Plugin v3.6.0 by Matteo Bruni */
@@ -1,5 +1,5 @@
1
+ import { type IContainerPlugin } from "@tsparticles/engine";
1
2
  import type { CanvasMaskContainer } from "./types.js";
2
- import type { IContainerPlugin } from "@tsparticles/engine";
3
3
  export declare class CanvasMaskInstance implements IContainerPlugin {
4
4
  private readonly _container;
5
5
  constructor(container: CanvasMaskContainer);
@@ -1,4 +1,4 @@
1
- import type { ICoordinates, IOptionLoader, RecursivePartial } from "@tsparticles/engine";
1
+ import { type ICoordinates, type IOptionLoader, type RecursivePartial } from "@tsparticles/engine";
2
2
  import { CanvasMaskOverride } from "./CanvasMaskOverride.js";
3
3
  import { CanvasMaskPixels } from "./CanvasMaskPixels.js";
4
4
  import type { ICanvasMask } from "../Interfaces/ICanvasMask.js";
@@ -1,4 +1,4 @@
1
- import type { IOptionLoader, RecursivePartial } from "@tsparticles/engine";
1
+ import { type IOptionLoader, type RecursivePartial } from "@tsparticles/engine";
2
2
  import type { ICanvasMaskOverride } from "../Interfaces/ICanvasMaskOverride.js";
3
3
  export declare class CanvasMaskOverride implements ICanvasMaskOverride, IOptionLoader<ICanvasMaskOverride> {
4
4
  color: boolean;
@@ -1,4 +1,4 @@
1
- import type { IOptionLoader, RecursivePartial } from "@tsparticles/engine";
1
+ import { type IOptionLoader, type RecursivePartial } from "@tsparticles/engine";
2
2
  import type { IFontTextMask } from "../Interfaces/IFontTextMask.js";
3
3
  export declare class FontTextMask implements IFontTextMask, IOptionLoader<IFontTextMask> {
4
4
  family: string;
@@ -1,4 +1,4 @@
1
- import type { IOptionLoader, RecursivePartial } from "@tsparticles/engine";
1
+ import { type IOptionLoader, type RecursivePartial } from "@tsparticles/engine";
2
2
  import type { IImageMask } from "../Interfaces/IImageMask.js";
3
3
  export declare class ImageMask implements IImageMask, IOptionLoader<IImageMask> {
4
4
  src: string;
@@ -1,4 +1,4 @@
1
- import type { IOptionLoader, RecursivePartial } from "@tsparticles/engine";
1
+ import { type IOptionLoader, type RecursivePartial } from "@tsparticles/engine";
2
2
  import { FontTextMask } from "./FontTextMask.js";
3
3
  import type { ITextMask } from "../Interfaces/ITextMask.js";
4
4
  import { TextMaskLine } from "./TextMaskLine.js";
@@ -1,4 +1,4 @@
1
- import type { IOptionLoader, RecursivePartial } from "@tsparticles/engine";
1
+ import { type IOptionLoader, type RecursivePartial } from "@tsparticles/engine";
2
2
  import type { ITextMaskLine } from "../Interfaces/ITextMaskLine.js";
3
3
  export declare class TextMaskLine implements ITextMaskLine, IOptionLoader<ITextMaskLine> {
4
4
  separator: string;
@@ -4,13 +4,14 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./utils.js"], factory);
7
+ define(["require", "exports", "./utils.js", "@tsparticles/engine"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.CanvasMaskInstance = void 0;
13
13
  const utils_js_1 = require("./utils.js");
14
+ const engine_1 = require("@tsparticles/engine");
14
15
  class CanvasMaskInstance {
15
16
  constructor(container) {
16
17
  this._container = container;
@@ -36,7 +37,7 @@
36
37
  else if (options.text) {
37
38
  const textOptions = options.text;
38
39
  const data = (0, utils_js_1.getTextData)(textOptions, offset);
39
- if (!data) {
40
+ if ((0, engine_1.isNull)(data)) {
40
41
  return;
41
42
  }
42
43
  pixelData = data;
@@ -4,12 +4,13 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./CanvasMaskOverride.js", "./CanvasMaskPixels.js", "./ImageMask.js", "./TextMask.js"], factory);
7
+ define(["require", "exports", "@tsparticles/engine", "./CanvasMaskOverride.js", "./CanvasMaskPixels.js", "./ImageMask.js", "./TextMask.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.CanvasMask = void 0;
13
+ const engine_1 = require("@tsparticles/engine");
13
14
  const CanvasMaskOverride_js_1 = require("./CanvasMaskOverride.js");
14
15
  const CanvasMaskPixels_js_1 = require("./CanvasMaskPixels.js");
15
16
  const ImageMask_js_1 = require("./ImageMask.js");
@@ -26,7 +27,7 @@
26
27
  this.scale = 1;
27
28
  }
28
29
  load(data) {
29
- if (!data) {
30
+ if ((0, engine_1.isNull)(data)) {
30
31
  return;
31
32
  }
32
33
  if (data.element !== undefined && data.element instanceof HTMLCanvasElement) {
@@ -4,19 +4,20 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports"], factory);
7
+ define(["require", "exports", "@tsparticles/engine"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.CanvasMaskOverride = void 0;
13
+ const engine_1 = require("@tsparticles/engine");
13
14
  class CanvasMaskOverride {
14
15
  constructor() {
15
16
  this.color = true;
16
17
  this.opacity = false;
17
18
  }
18
19
  load(data) {
19
- if (!data) {
20
+ if ((0, engine_1.isNull)(data)) {
20
21
  return;
21
22
  }
22
23
  if (data.color !== undefined) {
@@ -18,7 +18,7 @@
18
18
  this.offset = 4;
19
19
  }
20
20
  load(data) {
21
- if (!data) {
21
+ if ((0, engine_1.isNull)(data)) {
22
22
  return;
23
23
  }
24
24
  if (data.filter !== undefined) {
@@ -4,19 +4,20 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports"], factory);
7
+ define(["require", "exports", "@tsparticles/engine"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.FontTextMask = void 0;
13
+ const engine_1 = require("@tsparticles/engine");
13
14
  class FontTextMask {
14
15
  constructor() {
15
16
  this.family = "sans-serif";
16
17
  this.size = 100;
17
18
  }
18
19
  load(data) {
19
- if (!data) {
20
+ if ((0, engine_1.isNull)(data)) {
20
21
  return;
21
22
  }
22
23
  if (data.family !== undefined) {
@@ -4,18 +4,19 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports"], factory);
7
+ define(["require", "exports", "@tsparticles/engine"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ImageMask = void 0;
13
+ const engine_1 = require("@tsparticles/engine");
13
14
  class ImageMask {
14
15
  constructor() {
15
16
  this.src = "";
16
17
  }
17
18
  load(data) {
18
- if (!data) {
19
+ if ((0, engine_1.isNull)(data)) {
19
20
  return;
20
21
  }
21
22
  if (data.src !== undefined) {
@@ -4,12 +4,13 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./FontTextMask.js", "./TextMaskLine.js"], factory);
7
+ define(["require", "exports", "@tsparticles/engine", "./FontTextMask.js", "./TextMaskLine.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.TextMask = void 0;
13
+ const engine_1 = require("@tsparticles/engine");
13
14
  const FontTextMask_js_1 = require("./FontTextMask.js");
14
15
  const TextMaskLine_js_1 = require("./TextMaskLine.js");
15
16
  class TextMask {
@@ -20,7 +21,7 @@
20
21
  this.text = "";
21
22
  }
22
23
  load(data) {
23
- if (!data) {
24
+ if ((0, engine_1.isNull)(data)) {
24
25
  return;
25
26
  }
26
27
  if (data.color !== undefined) {
@@ -4,19 +4,20 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports"], factory);
7
+ define(["require", "exports", "@tsparticles/engine"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.TextMaskLine = void 0;
13
+ const engine_1 = require("@tsparticles/engine");
13
14
  class TextMaskLine {
14
15
  constructor() {
15
16
  this.separator = "\n";
16
17
  this.spacing = 10;
17
18
  }
18
19
  load(data) {
19
- if (!data) {
20
+ if ((0, engine_1.isNull)(data)) {
20
21
  return;
21
22
  }
22
23
  if (data.separator !== undefined) {