@tsparticles/plugin-absorbers 3.0.0-alpha.1 → 3.0.0-beta.1

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 (39) hide show
  1. package/README.md +15 -11
  2. package/browser/AbsorberInstance.js +60 -62
  3. package/browser/Absorbers.js +4 -4
  4. package/browser/Options/Classes/Absorber.js +2 -2
  5. package/browser/Options/Classes/AbsorberSize.js +3 -3
  6. package/browser/index.js +11 -14
  7. package/browser/package.json +1 -0
  8. package/cjs/AbsorberInstance.js +62 -64
  9. package/cjs/Absorbers.js +9 -20
  10. package/cjs/Options/Classes/Absorber.js +2 -2
  11. package/cjs/Options/Classes/AbsorberSize.js +3 -3
  12. package/cjs/index.js +13 -27
  13. package/cjs/package.json +1 -0
  14. package/esm/AbsorberInstance.js +60 -62
  15. package/esm/Absorbers.js +4 -4
  16. package/esm/Options/Classes/Absorber.js +2 -2
  17. package/esm/Options/Classes/AbsorberSize.js +3 -3
  18. package/esm/index.js +11 -14
  19. package/esm/package.json +1 -0
  20. package/package.json +19 -6
  21. package/report.html +4 -4
  22. package/tsparticles.plugin.absorbers.js +71 -76
  23. package/tsparticles.plugin.absorbers.min.js +1 -1
  24. package/tsparticles.plugin.absorbers.min.js.LICENSE.txt +1 -8
  25. package/types/AbsorberContainer.d.ts +3 -3
  26. package/types/AbsorberInstance.d.ts +6 -7
  27. package/types/Absorbers.d.ts +5 -5
  28. package/types/Options/Classes/Absorber.d.ts +3 -4
  29. package/types/Options/Classes/AbsorberSize.d.ts +3 -4
  30. package/types/Options/Classes/AbsorberSizeLimit.d.ts +1 -1
  31. package/types/Options/Interfaces/IAbsorber.d.ts +1 -1
  32. package/types/Options/Interfaces/IAbsorberSize.d.ts +1 -1
  33. package/types/index.d.ts +4 -4
  34. package/types/types.d.ts +2 -2
  35. package/umd/AbsorberInstance.js +63 -65
  36. package/umd/Absorbers.js +5 -5
  37. package/umd/Options/Classes/Absorber.js +3 -3
  38. package/umd/Options/Classes/AbsorberSize.js +4 -4
  39. package/umd/index.js +14 -17
package/umd/Absorbers.js CHANGED
@@ -4,27 +4,27 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "@tsparticles/engine", "./AbsorberInstance"], factory);
7
+ define(["require", "exports", "@tsparticles/engine", "./AbsorberInstance.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Absorbers = void 0;
13
13
  const engine_1 = require("@tsparticles/engine");
14
- const AbsorberInstance_1 = require("./AbsorberInstance");
14
+ const AbsorberInstance_js_1 = require("./AbsorberInstance.js");
15
15
  class Absorbers {
16
16
  constructor(container) {
17
17
  this.container = container;
18
18
  this.array = [];
19
19
  this.absorbers = [];
20
20
  this.interactivityAbsorbers = [];
21
- container.getAbsorber = (idxOrName) => idxOrName === undefined || typeof idxOrName === "number"
21
+ container.getAbsorber = (idxOrName) => idxOrName === undefined || (0, engine_1.isNumber)(idxOrName)
22
22
  ? this.array[idxOrName || 0]
23
23
  : this.array.find((t) => t.name === idxOrName);
24
24
  container.addAbsorber = (options, position) => this.addAbsorber(options, position);
25
25
  }
26
26
  addAbsorber(options, position) {
27
- const absorber = new AbsorberInstance_1.AbsorberInstance(this, this.container, options, position);
27
+ const absorber = new AbsorberInstance_js_1.AbsorberInstance(this, this.container, options, position);
28
28
  this.array.push(absorber);
29
29
  return absorber;
30
30
  }
@@ -36,7 +36,7 @@
36
36
  handleClickMode(mode) {
37
37
  const absorberOptions = this.absorbers, modeAbsorbers = this.interactivityAbsorbers;
38
38
  if (mode === "absorber") {
39
- const absorbersModeOptions = (0, engine_1.itemFromSingleOrMultiple)(modeAbsorbers), absorbersOptions = absorbersModeOptions !== null && absorbersModeOptions !== void 0 ? absorbersModeOptions : (0, engine_1.itemFromSingleOrMultiple)(absorberOptions), aPosition = this.container.interactivity.mouse.clickPosition;
39
+ const absorbersModeOptions = (0, engine_1.itemFromSingleOrMultiple)(modeAbsorbers), absorbersOptions = absorbersModeOptions ?? (0, engine_1.itemFromSingleOrMultiple)(absorberOptions), aPosition = this.container.interactivity.mouse.clickPosition;
40
40
  this.addAbsorber(absorbersOptions, aPosition);
41
41
  }
42
42
  }
@@ -4,14 +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", "@tsparticles/engine", "./AbsorberSize"], factory);
7
+ define(["require", "exports", "@tsparticles/engine", "./AbsorberSize.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Absorber = void 0;
13
13
  const engine_1 = require("@tsparticles/engine");
14
- const AbsorberSize_1 = require("./AbsorberSize");
14
+ const AbsorberSize_js_1 = require("./AbsorberSize.js");
15
15
  class Absorber {
16
16
  constructor() {
17
17
  this.color = new engine_1.OptionsColor();
@@ -20,7 +20,7 @@
20
20
  this.opacity = 1;
21
21
  this.destroy = true;
22
22
  this.orbits = false;
23
- this.size = new AbsorberSize_1.AbsorberSize();
23
+ this.size = new AbsorberSize_js_1.AbsorberSize();
24
24
  }
25
25
  load(data) {
26
26
  if (data === undefined) {
@@ -4,20 +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", "./AbsorberSizeLimit", "@tsparticles/engine"], factory);
7
+ define(["require", "exports", "@tsparticles/engine", "./AbsorberSizeLimit.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.AbsorberSize = void 0;
13
- const AbsorberSizeLimit_1 = require("./AbsorberSizeLimit");
14
13
  const engine_1 = require("@tsparticles/engine");
14
+ const AbsorberSizeLimit_js_1 = require("./AbsorberSizeLimit.js");
15
15
  class AbsorberSize extends engine_1.ValueWithRandom {
16
16
  constructor() {
17
17
  super();
18
18
  this.density = 5;
19
19
  this.value = 50;
20
- this.limit = new AbsorberSizeLimit_1.AbsorberSizeLimit();
20
+ this.limit = new AbsorberSizeLimit_js_1.AbsorberSizeLimit();
21
21
  }
22
22
  load(data) {
23
23
  if (!data) {
@@ -27,7 +27,7 @@
27
27
  if (data.density !== undefined) {
28
28
  this.density = data.density;
29
29
  }
30
- if (typeof data.limit === "number") {
30
+ if ((0, engine_1.isNumber)(data.limit)) {
31
31
  this.limit.radius = data.limit;
32
32
  }
33
33
  else {
package/umd/index.js CHANGED
@@ -18,64 +18,61 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
18
  if (v !== undefined) module.exports = v;
19
19
  }
20
20
  else if (typeof define === "function" && define.amd) {
21
- define(["require", "exports", "@tsparticles/engine", "./Options/Classes/Absorber", "./Absorbers", "./AbsorberContainer", "./Enums/AbsorberClickMode"], factory);
21
+ define(["require", "exports", "@tsparticles/engine", "./Options/Classes/Absorber.js", "./Absorbers.js", "./AbsorberContainer.js", "./Enums/AbsorberClickMode.js"], factory);
22
22
  }
23
23
  })(function (require, exports) {
24
24
  "use strict";
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.loadAbsorbersPlugin = void 0;
27
27
  const engine_1 = require("@tsparticles/engine");
28
- const Absorber_1 = require("./Options/Classes/Absorber");
29
- const Absorbers_1 = require("./Absorbers");
28
+ const Absorber_js_1 = require("./Options/Classes/Absorber.js");
29
+ const Absorbers_js_1 = require("./Absorbers.js");
30
30
  class AbsorbersPlugin {
31
31
  constructor() {
32
32
  this.id = "absorbers";
33
33
  }
34
34
  getPlugin(container) {
35
- return new Absorbers_1.Absorbers(container);
35
+ return new Absorbers_js_1.Absorbers(container);
36
36
  }
37
37
  loadOptions(options, source) {
38
- var _a, _b;
39
38
  if (!this.needsPlugin(options) && !this.needsPlugin(source)) {
40
39
  return;
41
40
  }
42
- if (source === null || source === void 0 ? void 0 : source.absorbers) {
41
+ if (source?.absorbers) {
43
42
  options.absorbers = (0, engine_1.executeOnSingleOrMultiple)(source.absorbers, (absorber) => {
44
- const tmp = new Absorber_1.Absorber();
43
+ const tmp = new Absorber_js_1.Absorber();
45
44
  tmp.load(absorber);
46
45
  return tmp;
47
46
  });
48
47
  }
49
- options.interactivity.modes.absorbers = (0, engine_1.executeOnSingleOrMultiple)((_b = (_a = source === null || source === void 0 ? void 0 : source.interactivity) === null || _a === void 0 ? void 0 : _a.modes) === null || _b === void 0 ? void 0 : _b.absorbers, (absorber) => {
50
- const tmp = new Absorber_1.Absorber();
48
+ options.interactivity.modes.absorbers = (0, engine_1.executeOnSingleOrMultiple)(source?.interactivity?.modes?.absorbers, (absorber) => {
49
+ const tmp = new Absorber_js_1.Absorber();
51
50
  tmp.load(absorber);
52
51
  return tmp;
53
52
  });
54
53
  }
55
54
  needsPlugin(options) {
56
- var _a, _b, _c;
57
55
  if (!options) {
58
56
  return false;
59
57
  }
60
58
  const absorbers = options.absorbers;
61
- if (absorbers instanceof Array) {
59
+ if ((0, engine_1.isArray)(absorbers)) {
62
60
  return !!absorbers.length;
63
61
  }
64
62
  else if (absorbers) {
65
63
  return true;
66
64
  }
67
- else if (((_c = (_b = (_a = options.interactivity) === null || _a === void 0 ? void 0 : _a.events) === null || _b === void 0 ? void 0 : _b.onClick) === null || _c === void 0 ? void 0 : _c.mode) &&
65
+ else if (options.interactivity?.events?.onClick?.mode &&
68
66
  (0, engine_1.isInArray)("absorber", options.interactivity.events.onClick.mode)) {
69
67
  return true;
70
68
  }
71
69
  return false;
72
70
  }
73
71
  }
74
- async function loadAbsorbersPlugin(engine) {
75
- const plugin = new AbsorbersPlugin();
76
- await engine.addPlugin(plugin);
72
+ async function loadAbsorbersPlugin(engine, refresh = true) {
73
+ await engine.addPlugin(new AbsorbersPlugin(), refresh);
77
74
  }
78
75
  exports.loadAbsorbersPlugin = loadAbsorbersPlugin;
79
- __exportStar(require("./AbsorberContainer"), exports);
80
- __exportStar(require("./Enums/AbsorberClickMode"), exports);
76
+ __exportStar(require("./AbsorberContainer.js"), exports);
77
+ __exportStar(require("./Enums/AbsorberClickMode.js"), exports);
81
78
  });