@tsparticles/fireworks 3.2.2 → 3.4.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 (136) hide show
  1. package/browser/fireworks.js +22 -12
  2. package/cjs/fireworks.js +29 -42
  3. package/esm/fireworks.js +22 -12
  4. package/package.json +10 -10
  5. package/report.html +1 -1
  6. package/tsparticles.fireworks.bundle.js +944 -302
  7. package/tsparticles.fireworks.bundle.min.js +1 -1
  8. package/tsparticles.fireworks.bundle.min.js.LICENSE.txt +1 -1
  9. package/tsparticles.fireworks.js +6 -36
  10. package/tsparticles.fireworks.min.js +1 -1
  11. package/tsparticles.fireworks.min.js.LICENSE.txt +1 -1
  12. package/types/fireworks.d.ts +6 -1
  13. package/umd/fireworks.js +30 -44
  14. package/108.min.js +0 -2
  15. package/108.min.js.LICENSE.txt +0 -1
  16. package/120.min.js +0 -2
  17. package/120.min.js.LICENSE.txt +0 -1
  18. package/126.min.js +0 -2
  19. package/126.min.js.LICENSE.txt +0 -1
  20. package/132.min.js +0 -2
  21. package/132.min.js.LICENSE.txt +0 -1
  22. package/141.min.js +0 -2
  23. package/141.min.js.LICENSE.txt +0 -1
  24. package/163.min.js +0 -2
  25. package/163.min.js.LICENSE.txt +0 -1
  26. package/173.min.js +0 -2
  27. package/173.min.js.LICENSE.txt +0 -1
  28. package/196.min.js +0 -2
  29. package/196.min.js.LICENSE.txt +0 -1
  30. package/245.min.js +0 -2
  31. package/245.min.js.LICENSE.txt +0 -1
  32. package/274.min.js +0 -2
  33. package/274.min.js.LICENSE.txt +0 -1
  34. package/30.min.js +0 -2
  35. package/30.min.js.LICENSE.txt +0 -1
  36. package/308.min.js +0 -2
  37. package/308.min.js.LICENSE.txt +0 -1
  38. package/31.min.js +0 -2
  39. package/31.min.js.LICENSE.txt +0 -1
  40. package/328.min.js +0 -2
  41. package/328.min.js.LICENSE.txt +0 -1
  42. package/329.min.js +0 -2
  43. package/329.min.js.LICENSE.txt +0 -1
  44. package/376.min.js +0 -2
  45. package/376.min.js.LICENSE.txt +0 -1
  46. package/468.min.js +0 -2
  47. package/468.min.js.LICENSE.txt +0 -1
  48. package/49.min.js +0 -2
  49. package/49.min.js.LICENSE.txt +0 -1
  50. package/547.min.js +0 -2
  51. package/547.min.js.LICENSE.txt +0 -1
  52. package/560.min.js +0 -2
  53. package/560.min.js.LICENSE.txt +0 -1
  54. package/580.min.js +0 -2
  55. package/580.min.js.LICENSE.txt +0 -1
  56. package/610.min.js +0 -2
  57. package/610.min.js.LICENSE.txt +0 -1
  58. package/647.min.js +0 -2
  59. package/647.min.js.LICENSE.txt +0 -1
  60. package/648.min.js +0 -2
  61. package/648.min.js.LICENSE.txt +0 -1
  62. package/720.min.js +0 -2
  63. package/720.min.js.LICENSE.txt +0 -1
  64. package/725.min.js +0 -2
  65. package/725.min.js.LICENSE.txt +0 -1
  66. package/749.min.js +0 -2
  67. package/749.min.js.LICENSE.txt +0 -1
  68. package/757.min.js +0 -2
  69. package/757.min.js.LICENSE.txt +0 -1
  70. package/81.min.js +0 -2
  71. package/81.min.js.LICENSE.txt +0 -1
  72. package/835.min.js +0 -2
  73. package/835.min.js.LICENSE.txt +0 -1
  74. package/837.min.js +0 -2
  75. package/837.min.js.LICENSE.txt +0 -1
  76. package/859.min.js +0 -2
  77. package/859.min.js.LICENSE.txt +0 -1
  78. package/866.min.js +0 -2
  79. package/866.min.js.LICENSE.txt +0 -1
  80. package/88.min.js +0 -2
  81. package/88.min.js.LICENSE.txt +0 -1
  82. package/886.min.js +0 -2
  83. package/886.min.js.LICENSE.txt +0 -1
  84. package/921.min.js +0 -2
  85. package/921.min.js.LICENSE.txt +0 -1
  86. package/929.min.js +0 -2
  87. package/929.min.js.LICENSE.txt +0 -1
  88. package/937.min.js +0 -2
  89. package/937.min.js.LICENSE.txt +0 -1
  90. package/952.min.js +0 -2
  91. package/952.min.js.LICENSE.txt +0 -1
  92. package/973.min.js +0 -2
  93. package/973.min.js.LICENSE.txt +0 -1
  94. package/994.min.js +0 -2
  95. package/994.min.js.LICENSE.txt +0 -1
  96. package/basic_dist_browser_index_js.js +0 -30
  97. package/effects_trail_dist_browser_TrailDrawer_js.js +0 -30
  98. package/effects_trail_dist_browser_index_js.js +0 -30
  99. package/engine_dist_browser_Core_Container_js.js +0 -90
  100. package/engine_dist_browser_Core_Particle_js.js +0 -30
  101. package/move_base_dist_browser_BaseMover_js.js +0 -30
  102. package/move_base_dist_browser_Utils_js.js +0 -30
  103. package/move_base_dist_browser_index_js.js +0 -30
  104. package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +0 -120
  105. package/plugins_emittersShapes_square_dist_browser_index_js.js +0 -30
  106. package/plugins_emitters_dist_browser_EmitterInstance_js.js +0 -30
  107. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +0 -90
  108. package/plugins_emitters_dist_browser_Emitters_js.js +0 -30
  109. package/plugins_emitters_dist_browser_ShapeManager_js.js +0 -30
  110. package/plugins_emitters_dist_browser_index_js.js +0 -100
  111. package/plugins_sounds_dist_browser_SoundsInstance_js.js +0 -30
  112. package/plugins_sounds_dist_browser_SoundsPlugin_js.js +0 -120
  113. package/plugins_sounds_dist_browser_index_js.js +0 -30
  114. package/shapes_circle_dist_browser_CircleDrawer_js.js +0 -30
  115. package/shapes_circle_dist_browser_Utils_js.js +0 -30
  116. package/shapes_circle_dist_browser_index_js.js +0 -30
  117. package/updaters_color_dist_browser_ColorUpdater_js.js +0 -30
  118. package/updaters_color_dist_browser_index_js.js +0 -30
  119. package/updaters_destroy_dist_browser_DestroyUpdater_js.js +0 -90
  120. package/updaters_destroy_dist_browser_index_js.js +0 -30
  121. package/updaters_life_dist_browser_LifeUpdater_js.js +0 -60
  122. package/updaters_life_dist_browser_Utils_js.js +0 -30
  123. package/updaters_life_dist_browser_index_js.js +0 -30
  124. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +0 -30
  125. package/updaters_opacity_dist_browser_index_js.js +0 -30
  126. package/updaters_outModes_dist_browser_BounceOutMode_js.js +0 -30
  127. package/updaters_outModes_dist_browser_DestroyOutMode_js.js +0 -30
  128. package/updaters_outModes_dist_browser_NoneOutMode_js.js +0 -30
  129. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +0 -30
  130. package/updaters_outModes_dist_browser_OutOutMode_js.js +0 -30
  131. package/updaters_outModes_dist_browser_Utils_js.js +0 -30
  132. package/updaters_outModes_dist_browser_index_js.js +0 -30
  133. package/updaters_rotate_dist_browser_RotateUpdater_js.js +0 -50
  134. package/updaters_rotate_dist_browser_index_js.js +0 -30
  135. package/updaters_size_dist_browser_SizeUpdater_js.js +0 -30
  136. package/updaters_size_dist_browser_index_js.js +0 -30
@@ -1,5 +1,13 @@
1
- import { getRangeMax, getRangeMin, isNumber, isSsr, isString, setRangeValue, tsParticles, } from "@tsparticles/engine";
1
+ import { DestroyType, EventType, MoveDirection, OutMode, StartValueType, getRangeMax, getRangeMin, isNumber, isSsr, isString, setRangeValue, tsParticles, } from "@tsparticles/engine";
2
2
  import { FireworkOptions } from "./FireworkOptions.js";
3
+ import { loadBasic } from "@tsparticles/basic";
4
+ import { loadDestroyUpdater } from "@tsparticles/updater-destroy";
5
+ import { loadEmittersPlugin } from "@tsparticles/plugin-emitters";
6
+ import { loadEmittersShapeSquare } from "@tsparticles/plugin-emitters-shape-square";
7
+ import { loadLifeUpdater } from "@tsparticles/updater-life";
8
+ import { loadRotateUpdater } from "@tsparticles/updater-rotate";
9
+ import { loadSoundsPlugin } from "@tsparticles/plugin-sounds";
10
+ import { loadTrailEffect } from "@tsparticles/effect-trail";
3
11
  const minSplitCount = 2;
4
12
  let initialized = false;
5
13
  let initializing = false;
@@ -26,7 +34,7 @@ async function initPlugins() {
26
34
  return;
27
35
  }
28
36
  if (initializing) {
29
- return new Promise((resolve) => {
37
+ return new Promise(resolve => {
30
38
  const timeout = 100, interval = setInterval(() => {
31
39
  if (!initialized) {
32
40
  return;
@@ -37,7 +45,6 @@ async function initPlugins() {
37
45
  });
38
46
  }
39
47
  initializing = true;
40
- const { loadEmittersPlugin } = await import("@tsparticles/plugin-emitters"), { loadEmittersShapeSquare } = await import("@tsparticles/plugin-emitters-shape-square"), { loadSoundsPlugin } = await import("@tsparticles/plugin-sounds"), { loadRotateUpdater } = await import("@tsparticles/updater-rotate"), { loadDestroyUpdater } = await import("@tsparticles/updater-destroy"), { loadLifeUpdater } = await import("@tsparticles/updater-life"), { loadTrailEffect } = await import("@tsparticles/effect-trail"), { loadBasic } = await import("@tsparticles/basic");
41
48
  await loadEmittersPlugin(tsParticles, false);
42
49
  await loadEmittersShapeSquare(tsParticles, false);
43
50
  await loadSoundsPlugin(tsParticles, false);
@@ -68,7 +75,7 @@ export async function fireworks(idOrOptions, sourceOptions) {
68
75
  },
69
76
  fpsLimit: 60,
70
77
  emitters: {
71
- direction: "top",
78
+ direction: MoveDirection.top,
72
79
  life: {
73
80
  count: 0,
74
81
  duration: 0.1,
@@ -130,8 +137,8 @@ export async function fireworks(idOrOptions, sourceOptions) {
130
137
  enable: true,
131
138
  speed: 1,
132
139
  sync: false,
133
- startValue: "max",
134
- destroy: "min",
140
+ startValue: StartValueType.max,
141
+ destroy: DestroyType.min,
135
142
  },
136
143
  },
137
144
  effect: {
@@ -155,8 +162,8 @@ export async function fireworks(idOrOptions, sourceOptions) {
155
162
  speed: 5,
156
163
  count: 1,
157
164
  sync: false,
158
- startValue: "min",
159
- destroy: "none",
165
+ startValue: StartValueType.min,
166
+ destroy: DestroyType.none,
160
167
  },
161
168
  },
162
169
  life: {
@@ -178,7 +185,7 @@ export async function fireworks(idOrOptions, sourceOptions) {
178
185
  },
179
186
  speed: setRangeValue(options.speed),
180
187
  direction: "none",
181
- outModes: "destroy",
188
+ outModes: OutMode.destroy,
182
189
  },
183
190
  },
184
191
  },
@@ -224,8 +231,8 @@ export async function fireworks(idOrOptions, sourceOptions) {
224
231
  max: 20,
225
232
  },
226
233
  outModes: {
227
- default: "destroy",
228
- top: "none",
234
+ default: OutMode.destroy,
235
+ top: OutMode.none,
229
236
  },
230
237
  },
231
238
  },
@@ -233,7 +240,7 @@ export async function fireworks(idOrOptions, sourceOptions) {
233
240
  enable: options.sounds,
234
241
  events: [
235
242
  {
236
- event: "particleRemoved",
243
+ event: EventType.particleRemoved,
237
244
  filter: explodeSoundCheck,
238
245
  audio: [
239
246
  "https://particles.js.org/audio/explosion0.mp3",
@@ -251,6 +258,9 @@ export async function fireworks(idOrOptions, sourceOptions) {
251
258
  }
252
259
  return new FireworksInstance(container);
253
260
  }
261
+ fireworks.init = async () => {
262
+ await initPlugins();
263
+ };
254
264
  fireworks.version = tsParticles.version;
255
265
  if (!isSsr()) {
256
266
  window.fireworks = fireworks;
package/cjs/fireworks.js CHANGED
@@ -1,31 +1,16 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.fireworks = void 0;
27
4
  const engine_1 = require("@tsparticles/engine");
28
5
  const FireworkOptions_js_1 = require("./FireworkOptions.js");
6
+ const basic_1 = require("@tsparticles/basic");
7
+ const updater_destroy_1 = require("@tsparticles/updater-destroy");
8
+ const plugin_emitters_1 = require("@tsparticles/plugin-emitters");
9
+ const plugin_emitters_shape_square_1 = require("@tsparticles/plugin-emitters-shape-square");
10
+ const updater_life_1 = require("@tsparticles/updater-life");
11
+ const updater_rotate_1 = require("@tsparticles/updater-rotate");
12
+ const plugin_sounds_1 = require("@tsparticles/plugin-sounds");
13
+ const effect_trail_1 = require("@tsparticles/effect-trail");
29
14
  const minSplitCount = 2;
30
15
  let initialized = false;
31
16
  let initializing = false;
@@ -52,7 +37,7 @@ async function initPlugins() {
52
37
  return;
53
38
  }
54
39
  if (initializing) {
55
- return new Promise((resolve) => {
40
+ return new Promise(resolve => {
56
41
  const timeout = 100, interval = setInterval(() => {
57
42
  if (!initialized) {
58
43
  return;
@@ -63,15 +48,14 @@ async function initPlugins() {
63
48
  });
64
49
  }
65
50
  initializing = true;
66
- const { loadEmittersPlugin } = await Promise.resolve().then(() => __importStar(require("@tsparticles/plugin-emitters"))), { loadEmittersShapeSquare } = await Promise.resolve().then(() => __importStar(require("@tsparticles/plugin-emitters-shape-square"))), { loadSoundsPlugin } = await Promise.resolve().then(() => __importStar(require("@tsparticles/plugin-sounds"))), { loadRotateUpdater } = await Promise.resolve().then(() => __importStar(require("@tsparticles/updater-rotate"))), { loadDestroyUpdater } = await Promise.resolve().then(() => __importStar(require("@tsparticles/updater-destroy"))), { loadLifeUpdater } = await Promise.resolve().then(() => __importStar(require("@tsparticles/updater-life"))), { loadTrailEffect } = await Promise.resolve().then(() => __importStar(require("@tsparticles/effect-trail"))), { loadBasic } = await Promise.resolve().then(() => __importStar(require("@tsparticles/basic")));
67
- await loadEmittersPlugin(engine_1.tsParticles, false);
68
- await loadEmittersShapeSquare(engine_1.tsParticles, false);
69
- await loadSoundsPlugin(engine_1.tsParticles, false);
70
- await loadRotateUpdater(engine_1.tsParticles, false);
71
- await loadDestroyUpdater(engine_1.tsParticles, false);
72
- await loadLifeUpdater(engine_1.tsParticles, false);
73
- await loadTrailEffect(engine_1.tsParticles, false);
74
- await loadBasic(engine_1.tsParticles, false);
51
+ await (0, plugin_emitters_1.loadEmittersPlugin)(engine_1.tsParticles, false);
52
+ await (0, plugin_emitters_shape_square_1.loadEmittersShapeSquare)(engine_1.tsParticles, false);
53
+ await (0, plugin_sounds_1.loadSoundsPlugin)(engine_1.tsParticles, false);
54
+ await (0, updater_rotate_1.loadRotateUpdater)(engine_1.tsParticles, false);
55
+ await (0, updater_destroy_1.loadDestroyUpdater)(engine_1.tsParticles, false);
56
+ await (0, updater_life_1.loadLifeUpdater)(engine_1.tsParticles, false);
57
+ await (0, effect_trail_1.loadTrailEffect)(engine_1.tsParticles, false);
58
+ await (0, basic_1.loadBasic)(engine_1.tsParticles, false);
75
59
  initializing = false;
76
60
  initialized = true;
77
61
  }
@@ -94,7 +78,7 @@ async function fireworks(idOrOptions, sourceOptions) {
94
78
  },
95
79
  fpsLimit: 60,
96
80
  emitters: {
97
- direction: "top",
81
+ direction: engine_1.MoveDirection.top,
98
82
  life: {
99
83
  count: 0,
100
84
  duration: 0.1,
@@ -156,8 +140,8 @@ async function fireworks(idOrOptions, sourceOptions) {
156
140
  enable: true,
157
141
  speed: 1,
158
142
  sync: false,
159
- startValue: "max",
160
- destroy: "min",
143
+ startValue: engine_1.StartValueType.max,
144
+ destroy: engine_1.DestroyType.min,
161
145
  },
162
146
  },
163
147
  effect: {
@@ -181,8 +165,8 @@ async function fireworks(idOrOptions, sourceOptions) {
181
165
  speed: 5,
182
166
  count: 1,
183
167
  sync: false,
184
- startValue: "min",
185
- destroy: "none",
168
+ startValue: engine_1.StartValueType.min,
169
+ destroy: engine_1.DestroyType.none,
186
170
  },
187
171
  },
188
172
  life: {
@@ -204,7 +188,7 @@ async function fireworks(idOrOptions, sourceOptions) {
204
188
  },
205
189
  speed: (0, engine_1.setRangeValue)(options.speed),
206
190
  direction: "none",
207
- outModes: "destroy",
191
+ outModes: engine_1.OutMode.destroy,
208
192
  },
209
193
  },
210
194
  },
@@ -250,8 +234,8 @@ async function fireworks(idOrOptions, sourceOptions) {
250
234
  max: 20,
251
235
  },
252
236
  outModes: {
253
- default: "destroy",
254
- top: "none",
237
+ default: engine_1.OutMode.destroy,
238
+ top: engine_1.OutMode.none,
255
239
  },
256
240
  },
257
241
  },
@@ -259,7 +243,7 @@ async function fireworks(idOrOptions, sourceOptions) {
259
243
  enable: options.sounds,
260
244
  events: [
261
245
  {
262
- event: "particleRemoved",
246
+ event: engine_1.EventType.particleRemoved,
263
247
  filter: explodeSoundCheck,
264
248
  audio: [
265
249
  "https://particles.js.org/audio/explosion0.mp3",
@@ -278,6 +262,9 @@ async function fireworks(idOrOptions, sourceOptions) {
278
262
  return new FireworksInstance(container);
279
263
  }
280
264
  exports.fireworks = fireworks;
265
+ fireworks.init = async () => {
266
+ await initPlugins();
267
+ };
281
268
  fireworks.version = engine_1.tsParticles.version;
282
269
  if (!(0, engine_1.isSsr)()) {
283
270
  window.fireworks = fireworks;
package/esm/fireworks.js CHANGED
@@ -1,5 +1,13 @@
1
- import { getRangeMax, getRangeMin, isNumber, isSsr, isString, setRangeValue, tsParticles, } from "@tsparticles/engine";
1
+ import { DestroyType, EventType, MoveDirection, OutMode, StartValueType, getRangeMax, getRangeMin, isNumber, isSsr, isString, setRangeValue, tsParticles, } from "@tsparticles/engine";
2
2
  import { FireworkOptions } from "./FireworkOptions.js";
3
+ import { loadBasic } from "@tsparticles/basic";
4
+ import { loadDestroyUpdater } from "@tsparticles/updater-destroy";
5
+ import { loadEmittersPlugin } from "@tsparticles/plugin-emitters";
6
+ import { loadEmittersShapeSquare } from "@tsparticles/plugin-emitters-shape-square";
7
+ import { loadLifeUpdater } from "@tsparticles/updater-life";
8
+ import { loadRotateUpdater } from "@tsparticles/updater-rotate";
9
+ import { loadSoundsPlugin } from "@tsparticles/plugin-sounds";
10
+ import { loadTrailEffect } from "@tsparticles/effect-trail";
3
11
  const minSplitCount = 2;
4
12
  let initialized = false;
5
13
  let initializing = false;
@@ -26,7 +34,7 @@ async function initPlugins() {
26
34
  return;
27
35
  }
28
36
  if (initializing) {
29
- return new Promise((resolve) => {
37
+ return new Promise(resolve => {
30
38
  const timeout = 100, interval = setInterval(() => {
31
39
  if (!initialized) {
32
40
  return;
@@ -37,7 +45,6 @@ async function initPlugins() {
37
45
  });
38
46
  }
39
47
  initializing = true;
40
- const { loadEmittersPlugin } = await import("@tsparticles/plugin-emitters"), { loadEmittersShapeSquare } = await import("@tsparticles/plugin-emitters-shape-square"), { loadSoundsPlugin } = await import("@tsparticles/plugin-sounds"), { loadRotateUpdater } = await import("@tsparticles/updater-rotate"), { loadDestroyUpdater } = await import("@tsparticles/updater-destroy"), { loadLifeUpdater } = await import("@tsparticles/updater-life"), { loadTrailEffect } = await import("@tsparticles/effect-trail"), { loadBasic } = await import("@tsparticles/basic");
41
48
  await loadEmittersPlugin(tsParticles, false);
42
49
  await loadEmittersShapeSquare(tsParticles, false);
43
50
  await loadSoundsPlugin(tsParticles, false);
@@ -68,7 +75,7 @@ export async function fireworks(idOrOptions, sourceOptions) {
68
75
  },
69
76
  fpsLimit: 60,
70
77
  emitters: {
71
- direction: "top",
78
+ direction: MoveDirection.top,
72
79
  life: {
73
80
  count: 0,
74
81
  duration: 0.1,
@@ -130,8 +137,8 @@ export async function fireworks(idOrOptions, sourceOptions) {
130
137
  enable: true,
131
138
  speed: 1,
132
139
  sync: false,
133
- startValue: "max",
134
- destroy: "min",
140
+ startValue: StartValueType.max,
141
+ destroy: DestroyType.min,
135
142
  },
136
143
  },
137
144
  effect: {
@@ -155,8 +162,8 @@ export async function fireworks(idOrOptions, sourceOptions) {
155
162
  speed: 5,
156
163
  count: 1,
157
164
  sync: false,
158
- startValue: "min",
159
- destroy: "none",
165
+ startValue: StartValueType.min,
166
+ destroy: DestroyType.none,
160
167
  },
161
168
  },
162
169
  life: {
@@ -178,7 +185,7 @@ export async function fireworks(idOrOptions, sourceOptions) {
178
185
  },
179
186
  speed: setRangeValue(options.speed),
180
187
  direction: "none",
181
- outModes: "destroy",
188
+ outModes: OutMode.destroy,
182
189
  },
183
190
  },
184
191
  },
@@ -224,8 +231,8 @@ export async function fireworks(idOrOptions, sourceOptions) {
224
231
  max: 20,
225
232
  },
226
233
  outModes: {
227
- default: "destroy",
228
- top: "none",
234
+ default: OutMode.destroy,
235
+ top: OutMode.none,
229
236
  },
230
237
  },
231
238
  },
@@ -233,7 +240,7 @@ export async function fireworks(idOrOptions, sourceOptions) {
233
240
  enable: options.sounds,
234
241
  events: [
235
242
  {
236
- event: "particleRemoved",
243
+ event: EventType.particleRemoved,
237
244
  filter: explodeSoundCheck,
238
245
  audio: [
239
246
  "https://particles.js.org/audio/explosion0.mp3",
@@ -251,6 +258,9 @@ export async function fireworks(idOrOptions, sourceOptions) {
251
258
  }
252
259
  return new FireworksInstance(container);
253
260
  }
261
+ fireworks.init = async () => {
262
+ await initPlugins();
263
+ };
254
264
  fireworks.version = tsParticles.version;
255
265
  if (!isSsr()) {
256
266
  window.fireworks = fireworks;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/fireworks",
3
- "version": "3.2.2",
3
+ "version": "3.4.0",
4
4
  "description": "Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.",
5
5
  "homepage": "https://particles.js.org",
6
6
  "repository": {
@@ -99,15 +99,15 @@
99
99
  "./package.json": "./package.json"
100
100
  },
101
101
  "dependencies": {
102
- "@tsparticles/basic": "^3.2.2",
103
- "@tsparticles/effect-trail": "^3.2.2",
104
- "@tsparticles/engine": "^3.2.2",
105
- "@tsparticles/plugin-emitters": "^3.2.2",
106
- "@tsparticles/plugin-emitters-shape-square": "^3.2.2",
107
- "@tsparticles/plugin-sounds": "^3.2.2",
108
- "@tsparticles/updater-destroy": "^3.2.2",
109
- "@tsparticles/updater-life": "^3.2.2",
110
- "@tsparticles/updater-rotate": "^3.2.2"
102
+ "@tsparticles/basic": "^3.4.0",
103
+ "@tsparticles/effect-trail": "^3.4.0",
104
+ "@tsparticles/engine": "^3.4.0",
105
+ "@tsparticles/plugin-emitters": "^3.4.0",
106
+ "@tsparticles/plugin-emitters-shape-square": "^3.4.0",
107
+ "@tsparticles/plugin-sounds": "^3.4.0",
108
+ "@tsparticles/updater-destroy": "^3.4.0",
109
+ "@tsparticles/updater-life": "^3.4.0",
110
+ "@tsparticles/updater-rotate": "^3.4.0"
111
111
  },
112
112
  "publishConfig": {
113
113
  "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/fireworks [20 Feb 2024 at 01:42]</title>
6
+ <title>@tsparticles/fireworks [13 May 2024 at 00:17]</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>