@tsparticles/plugin-emitters 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 (47) hide show
  1. package/README.md +15 -11
  2. package/browser/EmitterInstance.js +101 -113
  3. package/browser/Emitters.js +31 -27
  4. package/browser/Options/Classes/Emitter.js +6 -6
  5. package/browser/Options/Classes/EmitterLife.js +4 -3
  6. package/browser/index.js +23 -26
  7. package/browser/package.json +1 -0
  8. package/cjs/EmitterInstance.js +102 -114
  9. package/cjs/Emitters.js +41 -48
  10. package/cjs/Options/Classes/Emitter.js +8 -8
  11. package/cjs/Options/Classes/EmitterLife.js +4 -3
  12. package/cjs/Shapes/Circle/CircleShape.js +1 -1
  13. package/cjs/index.js +38 -52
  14. package/cjs/package.json +1 -0
  15. package/esm/EmitterInstance.js +101 -113
  16. package/esm/Emitters.js +31 -27
  17. package/esm/Options/Classes/Emitter.js +6 -6
  18. package/esm/Options/Classes/EmitterLife.js +4 -3
  19. package/esm/index.js +23 -26
  20. package/esm/package.json +1 -0
  21. package/package.json +19 -6
  22. package/report.html +4 -4
  23. package/tsparticles.plugin.emitters.js +137 -145
  24. package/tsparticles.plugin.emitters.min.js +1 -1
  25. package/tsparticles.plugin.emitters.min.js.LICENSE.txt +1 -8
  26. package/types/EmitterContainer.d.ts +3 -3
  27. package/types/EmitterInstance.d.ts +12 -12
  28. package/types/Emitters.d.ts +7 -7
  29. package/types/EmittersEngine.d.ts +2 -2
  30. package/types/Enums/EmitterShapeType.d.ts +3 -1
  31. package/types/Options/Classes/Emitter.d.ts +6 -7
  32. package/types/Options/Classes/EmitterLife.d.ts +4 -4
  33. package/types/Options/Classes/EmitterRate.d.ts +2 -2
  34. package/types/Options/Classes/EmitterSize.d.ts +3 -4
  35. package/types/Options/Interfaces/IEmitter.d.ts +4 -4
  36. package/types/Options/Interfaces/IEmitterLife.d.ts +3 -2
  37. package/types/Options/Interfaces/IEmitterSize.d.ts +2 -2
  38. package/types/ShapeManager.d.ts +1 -1
  39. package/types/Shapes/Circle/CircleShape.d.ts +2 -2
  40. package/types/Shapes/Square/SquareShape.d.ts +2 -2
  41. package/types/index.d.ts +6 -6
  42. package/types/types.d.ts +2 -2
  43. package/umd/EmitterInstance.js +103 -115
  44. package/umd/Emitters.js +33 -29
  45. package/umd/Options/Classes/Emitter.js +9 -9
  46. package/umd/Options/Classes/EmitterLife.js +5 -4
  47. package/umd/index.js +32 -35
package/umd/index.js CHANGED
@@ -18,48 +18,47 @@ 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", "./Shapes/Circle/CircleShape", "./Options/Classes/Emitter", "./Emitters", "./ShapeManager", "./Shapes/Square/SquareShape", "./EmitterContainer", "./EmittersEngine", "./Enums/EmitterClickMode", "./Enums/EmitterShapeType"], factory);
21
+ define(["require", "exports", "@tsparticles/engine", "./Shapes/Circle/CircleShape.js", "./Options/Classes/Emitter.js", "./Emitters.js", "./ShapeManager.js", "./Shapes/Square/SquareShape.js", "./EmitterContainer.js", "./EmittersEngine.js", "./Enums/EmitterClickMode.js", "./Enums/EmitterShapeType.js"], factory);
22
22
  }
23
23
  })(function (require, exports) {
24
24
  "use strict";
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.loadEmittersPlugin = void 0;
27
27
  const engine_1 = require("@tsparticles/engine");
28
- const CircleShape_1 = require("./Shapes/Circle/CircleShape");
29
- const Emitter_1 = require("./Options/Classes/Emitter");
30
- const Emitters_1 = require("./Emitters");
31
- const ShapeManager_1 = require("./ShapeManager");
32
- const SquareShape_1 = require("./Shapes/Square/SquareShape");
28
+ const CircleShape_js_1 = require("./Shapes/Circle/CircleShape.js");
29
+ const Emitter_js_1 = require("./Options/Classes/Emitter.js");
30
+ const Emitters_js_1 = require("./Emitters.js");
31
+ const ShapeManager_js_1 = require("./ShapeManager.js");
32
+ const SquareShape_js_1 = require("./Shapes/Square/SquareShape.js");
33
33
  class EmittersPlugin {
34
34
  constructor(engine) {
35
35
  this._engine = engine;
36
36
  this.id = "emitters";
37
37
  }
38
38
  getPlugin(container) {
39
- return new Emitters_1.Emitters(this._engine, container);
39
+ return new Emitters_js_1.Emitters(this._engine, container);
40
40
  }
41
41
  loadOptions(options, source) {
42
- var _a, _b, _c, _d, _e, _f;
43
42
  if (!this.needsPlugin(options) && !this.needsPlugin(source)) {
44
43
  return;
45
44
  }
46
- if (source === null || source === void 0 ? void 0 : source.emitters) {
45
+ if (source?.emitters) {
47
46
  options.emitters = (0, engine_1.executeOnSingleOrMultiple)(source.emitters, (emitter) => {
48
- const tmp = new Emitter_1.Emitter();
47
+ const tmp = new Emitter_js_1.Emitter();
49
48
  tmp.load(emitter);
50
49
  return tmp;
51
50
  });
52
51
  }
53
- const interactivityEmitters = (_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.emitters;
52
+ const interactivityEmitters = source?.interactivity?.modes?.emitters;
54
53
  if (interactivityEmitters) {
55
- if (interactivityEmitters instanceof Array) {
54
+ if ((0, engine_1.isArray)(interactivityEmitters)) {
56
55
  options.interactivity.modes.emitters = {
57
56
  random: {
58
57
  count: 1,
59
58
  enable: true,
60
59
  },
61
60
  value: interactivityEmitters.map((s) => {
62
- const tmp = new Emitter_1.Emitter();
61
+ const tmp = new Emitter_js_1.Emitter();
63
62
  tmp.load(s);
64
63
  return tmp;
65
64
  }),
@@ -68,26 +67,26 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
68
67
  else {
69
68
  const emitterMode = interactivityEmitters;
70
69
  if (emitterMode.value !== undefined) {
71
- if (emitterMode.value instanceof Array) {
70
+ if ((0, engine_1.isArray)(emitterMode.value)) {
72
71
  options.interactivity.modes.emitters = {
73
72
  random: {
74
- count: (_c = emitterMode.random.count) !== null && _c !== void 0 ? _c : 1,
75
- enable: (_d = emitterMode.random.enable) !== null && _d !== void 0 ? _d : false,
73
+ count: emitterMode.random.count ?? 1,
74
+ enable: emitterMode.random.enable ?? false,
76
75
  },
77
76
  value: emitterMode.value.map((s) => {
78
- const tmp = new Emitter_1.Emitter();
77
+ const tmp = new Emitter_js_1.Emitter();
79
78
  tmp.load(s);
80
79
  return tmp;
81
80
  }),
82
81
  };
83
82
  }
84
83
  else {
85
- const tmp = new Emitter_1.Emitter();
84
+ const tmp = new Emitter_js_1.Emitter();
86
85
  tmp.load(emitterMode.value);
87
86
  options.interactivity.modes.emitters = {
88
87
  random: {
89
- count: (_e = emitterMode.random.count) !== null && _e !== void 0 ? _e : 1,
90
- enable: (_f = emitterMode.random.enable) !== null && _f !== void 0 ? _f : false,
88
+ count: emitterMode.random.count ?? 1,
89
+ enable: emitterMode.random.enable ?? false,
91
90
  },
92
91
  value: tmp,
93
92
  };
@@ -99,7 +98,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
99
98
  count: 1,
100
99
  enable: false,
101
100
  },
102
- value: new Emitter_1.Emitter(),
101
+ value: new Emitter_js_1.Emitter(),
103
102
  });
104
103
  emitterOptions.value.load(interactivityEmitters);
105
104
  }
@@ -107,35 +106,33 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
107
106
  }
108
107
  }
109
108
  needsPlugin(options) {
110
- var _a, _b, _c;
111
109
  if (!options) {
112
110
  return false;
113
111
  }
114
112
  const emitters = options.emitters;
115
- return ((emitters instanceof Array && !!emitters.length) ||
113
+ return (((0, engine_1.isArray)(emitters) && !!emitters.length) ||
116
114
  emitters !== undefined ||
117
- (!!((_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) &&
115
+ (!!options.interactivity?.events?.onClick?.mode &&
118
116
  (0, engine_1.isInArray)("emitter", options.interactivity.events.onClick.mode)));
119
117
  }
120
118
  }
121
- async function loadEmittersPlugin(engine) {
119
+ async function loadEmittersPlugin(engine, refresh = true) {
122
120
  if (!engine.emitterShapeManager) {
123
- engine.emitterShapeManager = new ShapeManager_1.ShapeManager(engine);
121
+ engine.emitterShapeManager = new ShapeManager_js_1.ShapeManager(engine);
124
122
  }
125
123
  if (!engine.addEmitterShape) {
126
124
  engine.addEmitterShape = (name, shape) => {
127
- var _a;
128
- (_a = engine.emitterShapeManager) === null || _a === void 0 ? void 0 : _a.addShape(name, shape);
125
+ engine.emitterShapeManager?.addShape(name, shape);
129
126
  };
130
127
  }
131
128
  const plugin = new EmittersPlugin(engine);
132
- await engine.addPlugin(plugin);
133
- engine.addEmitterShape("circle", new CircleShape_1.CircleShape());
134
- engine.addEmitterShape("square", new SquareShape_1.SquareShape());
129
+ await engine.addPlugin(plugin, refresh);
130
+ engine.addEmitterShape("circle", new CircleShape_js_1.CircleShape());
131
+ engine.addEmitterShape("square", new SquareShape_js_1.SquareShape());
135
132
  }
136
133
  exports.loadEmittersPlugin = loadEmittersPlugin;
137
- __exportStar(require("./EmitterContainer"), exports);
138
- __exportStar(require("./EmittersEngine"), exports);
139
- __exportStar(require("./Enums/EmitterClickMode"), exports);
140
- __exportStar(require("./Enums/EmitterShapeType"), exports);
134
+ __exportStar(require("./EmitterContainer.js"), exports);
135
+ __exportStar(require("./EmittersEngine.js"), exports);
136
+ __exportStar(require("./Enums/EmitterClickMode.js"), exports);
137
+ __exportStar(require("./Enums/EmitterShapeType.js"), exports);
141
138
  });