@tsparticles/fireworks 4.0.0-alpha.8 → 4.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 (200) hide show
  1. package/129.min.js +1 -0
  2. package/134.min.js +1 -0
  3. package/143.min.js +1 -0
  4. package/157.min.js +1 -0
  5. package/167.min.js +1 -0
  6. package/17.min.js +1 -0
  7. package/177.min.js +1 -0
  8. package/27.min.js +1 -0
  9. package/274.min.js +1 -0
  10. package/293.min.js +1 -0
  11. package/301.min.js +1 -0
  12. package/347.min.js +1 -0
  13. package/356.min.js +1 -0
  14. package/360.min.js +1 -0
  15. package/368.min.js +1 -0
  16. package/454.min.js +1 -0
  17. package/468.min.js +1 -0
  18. package/477.min.js +1 -0
  19. package/496.min.js +1 -0
  20. package/51.min.js +1 -0
  21. package/510.min.js +1 -0
  22. package/541.min.js +1 -0
  23. package/550.min.js +1 -0
  24. package/553.min.js +33 -0
  25. package/554.min.js +1 -0
  26. package/56.min.js +1 -2
  27. package/590.min.js +1 -0
  28. package/598.min.js +1 -0
  29. package/601.min.js +1 -0
  30. package/604.min.js +1 -0
  31. package/626.min.js +1 -0
  32. package/663.min.js +1 -0
  33. package/684.min.js +1 -0
  34. package/686.min.js +1 -0
  35. package/72.min.js +1 -0
  36. package/737.min.js +1 -0
  37. package/742.min.js +1 -0
  38. package/744.min.js +1 -2
  39. package/748.min.js +1 -0
  40. package/775.min.js +1 -0
  41. package/866.min.js +1 -0
  42. package/88.min.js +1 -0
  43. package/880.min.js +1 -0
  44. package/930.min.js +1 -0
  45. package/951.min.js +1 -0
  46. package/README.md +38 -8
  47. package/basic_dist_browser_index_js.js +2 -2
  48. package/browser/FireworkOptions.js +10 -0
  49. package/browser/FireworksInstance.js +15 -0
  50. package/browser/fireworks.js +39 -34
  51. package/cjs/FireworkOptions.js +10 -0
  52. package/cjs/FireworksInstance.js +15 -0
  53. package/cjs/fireworks.js +39 -34
  54. package/{move_base_dist_browser_index_js.js → dist_browser_FireworksInstance_js.js} +7 -7
  55. package/effects_trail_dist_browser_TrailDrawer_js.js +2 -2
  56. package/effects_trail_dist_browser_index_js.js +2 -2
  57. package/engine_dist_browser_Core_Container_js.js +30 -20
  58. package/esm/FireworkOptions.js +10 -0
  59. package/esm/FireworksInstance.js +15 -0
  60. package/esm/fireworks.js +39 -34
  61. package/package.json +10 -10
  62. package/plugins_colors_hex_dist_browser_HexColorManager_js.js +2 -2
  63. package/plugins_colors_hex_dist_browser_index_js.js +2 -2
  64. package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +2 -2
  65. package/plugins_colors_hsl_dist_browser_index_js.js +2 -2
  66. package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +2 -2
  67. package/plugins_colors_rgb_dist_browser_index_js.js +2 -2
  68. package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +6 -6
  69. package/plugins_emittersShapes_square_dist_browser_index_js.js +2 -2
  70. package/plugins_emitters_dist_browser_EmitterInstance_js.js +2 -2
  71. package/plugins_emitters_dist_browser_EmittersInstancesManager_js.js +18 -8
  72. package/plugins_emitters_dist_browser_EmittersInteractor_js.js +58 -48
  73. package/plugins_emitters_dist_browser_EmittersPluginInstance_js.js +2 -2
  74. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +18 -8
  75. package/plugins_emitters_dist_browser_ShapeManager_js.js +2 -2
  76. package/plugins_emitters_dist_browser_index_js.js +4 -4
  77. package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +4 -4
  78. package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +6 -6
  79. package/plugins_interactivity_dist_browser_index_js.js +40 -40
  80. package/plugins_move_dist_browser_MovePluginInstance_js.js +40 -0
  81. package/plugins_move_dist_browser_MovePlugin_js.js +30 -0
  82. package/plugins_move_dist_browser_index_js.js +30 -0
  83. package/plugins_sounds_dist_browser_SoundsPluginInstance_js.js +3 -3
  84. package/plugins_sounds_dist_browser_SoundsPlugin_js.js +12 -12
  85. package/plugins_sounds_dist_browser_index_js.js +2 -2
  86. package/report.html +84 -29
  87. package/shapes_circle_dist_browser_CircleDrawer_js.js +3 -3
  88. package/shapes_circle_dist_browser_index_js.js +2 -2
  89. package/tsparticles.fireworks.bundle.js +102 -90
  90. package/tsparticles.fireworks.bundle.min.js +2 -2
  91. package/tsparticles.fireworks.js +236 -41
  92. package/tsparticles.fireworks.min.js +2 -2
  93. package/types/FireworksInstance.d.ts +8 -0
  94. package/types/fireworks.d.ts +3 -9
  95. package/umd/FireworkOptions.js +10 -0
  96. package/umd/FireworksInstance.js +29 -0
  97. package/umd/fireworks.js +39 -34
  98. package/updaters_destroy_dist_browser_DestroyUpdater_js.js +9 -9
  99. package/updaters_destroy_dist_browser_index_js.js +2 -2
  100. package/updaters_fillColor_dist_browser_FillColorUpdater_js.js +30 -0
  101. package/updaters_fillColor_dist_browser_index_js.js +30 -0
  102. package/updaters_life_dist_browser_LifeUpdater_js.js +6 -6
  103. package/updaters_life_dist_browser_index_js.js +2 -2
  104. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +2 -2
  105. package/updaters_opacity_dist_browser_index_js.js +2 -2
  106. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +7 -7
  107. package/updaters_outModes_dist_browser_index_js.js +2 -2
  108. package/updaters_rotate_dist_browser_RotateUpdater_js.js +4 -4
  109. package/updaters_rotate_dist_browser_index_js.js +2 -2
  110. package/updaters_size_dist_browser_SizeUpdater_js.js +2 -2
  111. package/updaters_size_dist_browser_index_js.js +2 -2
  112. package/111.min.js +0 -2
  113. package/111.min.js.LICENSE.txt +0 -1
  114. package/113.min.js +0 -2
  115. package/113.min.js.LICENSE.txt +0 -1
  116. package/12.min.js +0 -2
  117. package/12.min.js.LICENSE.txt +0 -1
  118. package/127.min.js +0 -2
  119. package/127.min.js.LICENSE.txt +0 -1
  120. package/160.min.js +0 -2
  121. package/160.min.js.LICENSE.txt +0 -1
  122. package/188.min.js +0 -2
  123. package/188.min.js.LICENSE.txt +0 -1
  124. package/191.min.js +0 -2
  125. package/191.min.js.LICENSE.txt +0 -1
  126. package/201.min.js +0 -2
  127. package/201.min.js.LICENSE.txt +0 -1
  128. package/209.min.js +0 -2
  129. package/209.min.js.LICENSE.txt +0 -1
  130. package/234.min.js +0 -2
  131. package/234.min.js.LICENSE.txt +0 -1
  132. package/256.min.js +0 -2
  133. package/256.min.js.LICENSE.txt +0 -1
  134. package/296.min.js +0 -2
  135. package/296.min.js.LICENSE.txt +0 -1
  136. package/3.min.js +0 -2
  137. package/3.min.js.LICENSE.txt +0 -1
  138. package/302.min.js +0 -2
  139. package/302.min.js.LICENSE.txt +0 -1
  140. package/306.min.js +0 -2
  141. package/306.min.js.LICENSE.txt +0 -1
  142. package/346.min.js +0 -2
  143. package/346.min.js.LICENSE.txt +0 -1
  144. package/361.min.js +0 -2
  145. package/361.min.js.LICENSE.txt +0 -1
  146. package/380.min.js +0 -2
  147. package/380.min.js.LICENSE.txt +0 -1
  148. package/410.min.js +0 -2
  149. package/410.min.js.LICENSE.txt +0 -1
  150. package/442.min.js +0 -2
  151. package/442.min.js.LICENSE.txt +0 -1
  152. package/445.min.js +0 -2
  153. package/445.min.js.LICENSE.txt +0 -1
  154. package/49.min.js +0 -2
  155. package/49.min.js.LICENSE.txt +0 -1
  156. package/505.min.js +0 -2
  157. package/505.min.js.LICENSE.txt +0 -1
  158. package/521.min.js +0 -2
  159. package/521.min.js.LICENSE.txt +0 -1
  160. package/526.min.js +0 -2
  161. package/526.min.js.LICENSE.txt +0 -1
  162. package/547.min.js +0 -2
  163. package/547.min.js.LICENSE.txt +0 -1
  164. package/56.min.js.LICENSE.txt +0 -1
  165. package/580.min.js +0 -2
  166. package/580.min.js.LICENSE.txt +0 -1
  167. package/591.min.js +0 -2
  168. package/591.min.js.LICENSE.txt +0 -1
  169. package/743.min.js +0 -2
  170. package/743.min.js.LICENSE.txt +0 -1
  171. package/744.min.js.LICENSE.txt +0 -1
  172. package/754.min.js +0 -2
  173. package/754.min.js.LICENSE.txt +0 -1
  174. package/759.min.js +0 -2
  175. package/759.min.js.LICENSE.txt +0 -1
  176. package/799.min.js +0 -2
  177. package/799.min.js.LICENSE.txt +0 -1
  178. package/804.min.js +0 -2
  179. package/804.min.js.LICENSE.txt +0 -1
  180. package/824.min.js +0 -2
  181. package/824.min.js.LICENSE.txt +0 -1
  182. package/830.min.js +0 -2
  183. package/830.min.js.LICENSE.txt +0 -1
  184. package/847.min.js +0 -2
  185. package/847.min.js.LICENSE.txt +0 -1
  186. package/85.min.js +0 -2
  187. package/85.min.js.LICENSE.txt +0 -1
  188. package/865.min.js +0 -2
  189. package/865.min.js.LICENSE.txt +0 -1
  190. package/911.min.js +0 -2
  191. package/911.min.js.LICENSE.txt +0 -1
  192. package/917.min.js +0 -2
  193. package/917.min.js.LICENSE.txt +0 -1
  194. package/993.min.js +0 -2
  195. package/993.min.js.LICENSE.txt +0 -1
  196. package/move_base_dist_browser_BaseMover_js.js +0 -40
  197. package/tsparticles.fireworks.bundle.min.js.LICENSE.txt +0 -1
  198. package/tsparticles.fireworks.min.js.LICENSE.txt +0 -1
  199. package/updaters_color_dist_browser_ColorUpdater_js.js +0 -30
  200. package/updaters_color_dist_browser_index_js.js +0 -30
@@ -0,0 +1,15 @@
1
+ export class FireworksInstance {
2
+ _container;
3
+ constructor(container) {
4
+ this._container = container;
5
+ }
6
+ pause() {
7
+ this._container.pause();
8
+ }
9
+ play() {
10
+ this._container.play();
11
+ }
12
+ stop() {
13
+ this._container.stop();
14
+ }
15
+ }
@@ -1,26 +1,11 @@
1
1
  import { DestroyType, EventType, MoveDirection, OutMode, StartValueType, getRangeMax, getRangeMin, isNumber, isString, setRangeValue, tsParticles, } from "@tsparticles/engine";
2
2
  import { FireworkOptions } from "./FireworkOptions.js";
3
+ let initialized = false, initializing = false;
3
4
  const minSplitCount = 2;
4
- let initialized = false;
5
- let initializing = false;
6
5
  const explodeSoundCheck = (args) => {
7
6
  const data = args.data;
8
7
  return data.particle.shape === "circle" && !!data.particle.splitCount && data.particle.splitCount < minSplitCount;
9
8
  };
10
- class FireworksInstance {
11
- constructor(container) {
12
- this._container = container;
13
- }
14
- pause() {
15
- this._container.pause();
16
- }
17
- play() {
18
- this._container.play();
19
- }
20
- stop() {
21
- this._container.stop();
22
- }
23
- }
24
9
  async function initPlugins(engine) {
25
10
  if (initialized) {
26
11
  return;
@@ -37,17 +22,28 @@ async function initPlugins(engine) {
37
22
  });
38
23
  }
39
24
  initializing = true;
40
- engine.checkVersion("4.0.0-alpha.8");
41
- await engine.register(async (e) => {
42
- const { loadEmittersPlugin } = await import("@tsparticles/plugin-emitters"), { 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"), { loadEmittersShapeSquare } = await import("@tsparticles/plugin-emitters-shape-square");
43
- await loadEmittersPlugin(e);
25
+ engine.checkVersion("4.0.0-beta.1");
26
+ await engine.pluginManager.register(async (e) => {
27
+ const [{ loadBasic }, { loadEmittersPlugin }, { loadEmittersShapeSquare }, { loadSoundsPlugin }, { loadRotateUpdater }, { loadDestroyUpdater }, { loadLifeUpdater }, { loadTrailEffect },] = await Promise.all([
28
+ import("@tsparticles/basic"),
29
+ import("@tsparticles/plugin-emitters"),
30
+ import("@tsparticles/plugin-emitters-shape-square"),
31
+ import("@tsparticles/plugin-sounds"),
32
+ import("@tsparticles/updater-rotate"),
33
+ import("@tsparticles/updater-destroy"),
34
+ import("@tsparticles/updater-life"),
35
+ import("@tsparticles/effect-trail"),
36
+ ]);
37
+ await Promise.all([
38
+ loadBasic(e),
39
+ loadEmittersPlugin(e),
40
+ loadSoundsPlugin(e),
41
+ loadRotateUpdater(e),
42
+ loadDestroyUpdater(e),
43
+ loadLifeUpdater(e),
44
+ loadTrailEffect(e),
45
+ ]);
44
46
  await loadEmittersShapeSquare(e);
45
- await loadSoundsPlugin(e);
46
- await loadRotateUpdater(e);
47
- await loadDestroyUpdater(e);
48
- await loadLifeUpdater(e);
49
- await loadTrailEffect(e);
50
- await loadBasic(e);
51
47
  });
52
48
  initializing = false;
53
49
  initialized = true;
@@ -89,8 +85,11 @@ function getOptions(options, canvas) {
89
85
  number: {
90
86
  value: 0,
91
87
  },
92
- color: {
93
- value: "#fff",
88
+ fill: {
89
+ color: {
90
+ value: "#fff",
91
+ },
92
+ enable: true,
94
93
  },
95
94
  destroy: {
96
95
  mode: "split",
@@ -106,13 +105,19 @@ function getOptions(options, canvas) {
106
105
  rate: {
107
106
  value: options.splitCount,
108
107
  },
109
- colorOffset: {
108
+ fillColorOffset: {
110
109
  s: options.saturation,
111
110
  l: options.brightness,
112
111
  },
113
112
  particles: {
114
- color: {
115
- value: options.colors,
113
+ fill: {
114
+ color: {
115
+ value: options.colors,
116
+ },
117
+ enable: true,
118
+ },
119
+ stroke: {
120
+ width: 0,
116
121
  },
117
122
  number: {
118
123
  value: 0,
@@ -250,11 +255,11 @@ async function getFireworksInstance(id, sourceOptions, canvas) {
250
255
  if (!container) {
251
256
  return;
252
257
  }
258
+ const { FireworksInstance } = await import("./FireworksInstance.js");
253
259
  return new FireworksInstance(container);
254
260
  }
255
261
  export async function fireworks(idOrOptions, sourceOptions) {
256
- let id;
257
- let options;
262
+ let id, options;
258
263
  if (isString(idOrOptions)) {
259
264
  id = idOrOptions;
260
265
  options = sourceOptions ?? {};
@@ -272,5 +277,5 @@ fireworks.create = async (canvas, options) => {
272
277
  fireworks.init = async () => {
273
278
  await initPlugins(tsParticles);
274
279
  };
275
- fireworks.version = "4.0.0-alpha.8";
280
+ fireworks.version = "4.0.0-beta.1";
276
281
  globalThis.fireworks = fireworks;
@@ -1,5 +1,15 @@
1
1
  import { isArray, isNull, setRangeValue, } from "@tsparticles/engine";
2
2
  export class FireworkOptions {
3
+ background;
4
+ brightness;
5
+ colors;
6
+ gravity;
7
+ minHeight;
8
+ rate;
9
+ saturation;
10
+ sounds;
11
+ speed;
12
+ splitCount;
3
13
  constructor() {
4
14
  this.background = "none";
5
15
  this.brightness = {
@@ -0,0 +1,15 @@
1
+ export class FireworksInstance {
2
+ _container;
3
+ constructor(container) {
4
+ this._container = container;
5
+ }
6
+ pause() {
7
+ this._container.pause();
8
+ }
9
+ play() {
10
+ this._container.play();
11
+ }
12
+ stop() {
13
+ this._container.stop();
14
+ }
15
+ }
package/cjs/fireworks.js CHANGED
@@ -1,26 +1,11 @@
1
1
  import { DestroyType, EventType, MoveDirection, OutMode, StartValueType, getRangeMax, getRangeMin, isNumber, isString, setRangeValue, tsParticles, } from "@tsparticles/engine";
2
2
  import { FireworkOptions } from "./FireworkOptions.js";
3
+ let initialized = false, initializing = false;
3
4
  const minSplitCount = 2;
4
- let initialized = false;
5
- let initializing = false;
6
5
  const explodeSoundCheck = (args) => {
7
6
  const data = args.data;
8
7
  return data.particle.shape === "circle" && !!data.particle.splitCount && data.particle.splitCount < minSplitCount;
9
8
  };
10
- class FireworksInstance {
11
- constructor(container) {
12
- this._container = container;
13
- }
14
- pause() {
15
- this._container.pause();
16
- }
17
- play() {
18
- this._container.play();
19
- }
20
- stop() {
21
- this._container.stop();
22
- }
23
- }
24
9
  async function initPlugins(engine) {
25
10
  if (initialized) {
26
11
  return;
@@ -37,17 +22,28 @@ async function initPlugins(engine) {
37
22
  });
38
23
  }
39
24
  initializing = true;
40
- engine.checkVersion("4.0.0-alpha.8");
41
- await engine.register(async (e) => {
42
- const { loadEmittersPlugin } = await import("@tsparticles/plugin-emitters"), { 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"), { loadEmittersShapeSquare } = await import("@tsparticles/plugin-emitters-shape-square");
43
- await loadEmittersPlugin(e);
25
+ engine.checkVersion("4.0.0-beta.1");
26
+ await engine.pluginManager.register(async (e) => {
27
+ const [{ loadBasic }, { loadEmittersPlugin }, { loadEmittersShapeSquare }, { loadSoundsPlugin }, { loadRotateUpdater }, { loadDestroyUpdater }, { loadLifeUpdater }, { loadTrailEffect },] = await Promise.all([
28
+ import("@tsparticles/basic"),
29
+ import("@tsparticles/plugin-emitters"),
30
+ import("@tsparticles/plugin-emitters-shape-square"),
31
+ import("@tsparticles/plugin-sounds"),
32
+ import("@tsparticles/updater-rotate"),
33
+ import("@tsparticles/updater-destroy"),
34
+ import("@tsparticles/updater-life"),
35
+ import("@tsparticles/effect-trail"),
36
+ ]);
37
+ await Promise.all([
38
+ loadBasic(e),
39
+ loadEmittersPlugin(e),
40
+ loadSoundsPlugin(e),
41
+ loadRotateUpdater(e),
42
+ loadDestroyUpdater(e),
43
+ loadLifeUpdater(e),
44
+ loadTrailEffect(e),
45
+ ]);
44
46
  await loadEmittersShapeSquare(e);
45
- await loadSoundsPlugin(e);
46
- await loadRotateUpdater(e);
47
- await loadDestroyUpdater(e);
48
- await loadLifeUpdater(e);
49
- await loadTrailEffect(e);
50
- await loadBasic(e);
51
47
  });
52
48
  initializing = false;
53
49
  initialized = true;
@@ -89,8 +85,11 @@ function getOptions(options, canvas) {
89
85
  number: {
90
86
  value: 0,
91
87
  },
92
- color: {
93
- value: "#fff",
88
+ fill: {
89
+ color: {
90
+ value: "#fff",
91
+ },
92
+ enable: true,
94
93
  },
95
94
  destroy: {
96
95
  mode: "split",
@@ -106,13 +105,19 @@ function getOptions(options, canvas) {
106
105
  rate: {
107
106
  value: options.splitCount,
108
107
  },
109
- colorOffset: {
108
+ fillColorOffset: {
110
109
  s: options.saturation,
111
110
  l: options.brightness,
112
111
  },
113
112
  particles: {
114
- color: {
115
- value: options.colors,
113
+ fill: {
114
+ color: {
115
+ value: options.colors,
116
+ },
117
+ enable: true,
118
+ },
119
+ stroke: {
120
+ width: 0,
116
121
  },
117
122
  number: {
118
123
  value: 0,
@@ -250,11 +255,11 @@ async function getFireworksInstance(id, sourceOptions, canvas) {
250
255
  if (!container) {
251
256
  return;
252
257
  }
258
+ const { FireworksInstance } = await import("./FireworksInstance.js");
253
259
  return new FireworksInstance(container);
254
260
  }
255
261
  export async function fireworks(idOrOptions, sourceOptions) {
256
- let id;
257
- let options;
262
+ let id, options;
258
263
  if (isString(idOrOptions)) {
259
264
  id = idOrOptions;
260
265
  options = sourceOptions ?? {};
@@ -272,5 +277,5 @@ fireworks.create = async (canvas, options) => {
272
277
  fireworks.init = async () => {
273
278
  await initPlugins(tsParticles);
274
279
  };
275
- fireworks.version = "4.0.0-alpha.8";
280
+ fireworks.version = "4.0.0-beta.1";
276
281
  globalThis.fireworks = fireworks;
@@ -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
- * v4.0.0-alpha.8
7
+ * v4.0.0-beta.1
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -15,15 +15,15 @@
15
15
  * or disable the default devtool with "devtool: false".
16
16
  * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
17
  */
18
- (this["webpackChunk_tsparticles_fireworks"] = this["webpackChunk_tsparticles_fireworks"] || []).push([["move_base_dist_browser_index_js"],{
18
+ (this["webpackChunk_tsparticles_fireworks"] = this["webpackChunk_tsparticles_fireworks"] || []).push([["dist_browser_FireworksInstance_js"],{
19
19
 
20
- /***/ "../../move/base/dist/browser/index.js"
21
- /*!*********************************************!*\
22
- !*** ../../move/base/dist/browser/index.js ***!
23
- \*********************************************/
20
+ /***/ "./dist/browser/FireworksInstance.js"
21
+ /*!*******************************************!*\
22
+ !*** ./dist/browser/FireworksInstance.js ***!
23
+ \*******************************************/
24
24
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
25
25
 
26
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadBaseMover: () => (/* binding */ loadBaseMover)\n/* harmony export */ });\nasync function loadBaseMover(engine) {\n engine.checkVersion(\"4.0.0-alpha.8\");\n await engine.register(e => {\n e.addMover(\"base\", async () => {\n const {\n BaseMover\n } = await __webpack_require__.e(/*! import() */ \"move_base_dist_browser_BaseMover_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./BaseMover.js */ \"../../move/base/dist/browser/BaseMover.js\"));\n return new BaseMover();\n });\n });\n}\n\n//# sourceURL=webpack://@tsparticles/fireworks/../../move/base/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FireworksInstance: () => (/* binding */ FireworksInstance)\n/* harmony export */ });\nclass FireworksInstance {\n _container;\n constructor(container){\n this._container = container;\n }\n pause() {\n this._container.pause();\n }\n play() {\n this._container.play();\n }\n stop() {\n this._container.stop();\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/fireworks/./dist/browser/FireworksInstance.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -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
- * v4.0.0-alpha.8
7
+ * v4.0.0-beta.1
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,7 @@
23
23
  \*******************************************************/
24
24
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
25
25
 
26
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TrailDrawer: () => (/* binding */ TrailDrawer)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst minTrailLength = 2,\n trailLengthOffset = 1,\n minWidth = -1,\n defaultLength = 10;\nconst defaultTransform = {\n a: 1,\n b: 0,\n c: 0,\n d: 1\n};\nclass TrailDrawer {\n drawAfter(data) {\n const {\n context,\n radius,\n particle,\n transformData\n } = data,\n diameter = radius * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.double,\n pxRatio = particle.container.retina.pixelRatio,\n currentPos = particle.getPosition(),\n trail = particle.trail;\n if (!trail || !particle.trailLength) {\n return;\n }\n const pathLength = particle.trailLength + radius;\n trail.push({\n color: context.fillStyle || context.strokeStyle,\n position: {\n x: currentPos.x,\n y: currentPos.y\n },\n transformData\n });\n if (trail.length < minTrailLength) {\n return;\n }\n while (trail.length > pathLength) {\n trail.shift();\n }\n const trailLength = Math.min(trail.length, pathLength),\n canvasSize = {\n width: particle.container.canvas.size.width + diameter,\n height: particle.container.canvas.size.height + diameter\n };\n const trailPos = trail[trailLength - trailLengthOffset];\n if (!trailPos) {\n return;\n }\n let lastPos = trailPos.position;\n for (let i = trailLength; i > _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.none; i--) {\n const step = trail[i - trailLengthOffset];\n if (!step) {\n continue;\n }\n const position = step.position,\n stepTransformData = particle.trailTransform ? step.transformData ?? defaultTransform : defaultTransform;\n context.setTransform(stepTransformData.a, stepTransformData.b, stepTransformData.c, stepTransformData.d, position.x, position.y);\n context.beginPath();\n context.moveTo(lastPos.x - position.x, lastPos.y - position.y);\n const warp = {\n x: (lastPos.x + canvasSize.width) % canvasSize.width,\n y: (lastPos.y + canvasSize.height) % canvasSize.height\n };\n if (Math.abs(lastPos.x - position.x) > canvasSize.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half || Math.abs(lastPos.y - position.y) > canvasSize.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half) {\n lastPos = position;\n continue;\n }\n context.lineTo(Math.abs(lastPos.x - position.x) > canvasSize.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half ? warp.x : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, Math.abs(lastPos.y - position.y) > canvasSize.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half ? warp.y : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y);\n const width = Math.max(i / trailLength * diameter, pxRatio, particle.trailMinWidth ?? minWidth),\n oldAlpha = context.globalAlpha;\n context.globalAlpha = particle.trailFade ? i / trailLength : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultAlpha;\n context.lineWidth = particle.trailMaxWidth ? Math.min(width, particle.trailMaxWidth) : width;\n context.strokeStyle = step.color;\n context.stroke();\n context.globalAlpha = oldAlpha;\n lastPos = position;\n }\n context.setTransform(transformData.a, transformData.b, transformData.c, transformData.d, currentPos.x, currentPos.y);\n }\n particleInit(container, particle) {\n particle.trail = [];\n const effectData = particle.effectData;\n particle.trailFade = effectData?.fade ?? true;\n particle.trailLength = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(effectData?.length ?? defaultLength) * container.retina.pixelRatio;\n particle.trailMaxWidth = effectData?.maxWidth ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(effectData.maxWidth) * container.retina.pixelRatio : undefined;\n particle.trailMinWidth = effectData?.minWidth ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(effectData.minWidth) * container.retina.pixelRatio : undefined;\n particle.trailTransform = effectData?.transform ?? false;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/fireworks/../../effects/trail/dist/browser/TrailDrawer.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TrailDrawer: () => (/* binding */ TrailDrawer)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst minTrailLength = 3, trailLengthOffset = 1, minWidth = -1, firstIndex = 0, defaultLength = 10, loopTrailLengthOffset = 2, loopTrailLengthMinIndex = 0;\nconst defaultTransform = {\n a: 1,\n b: 0,\n c: 0,\n d: 1\n};\nclass TrailDrawer {\n _container;\n constructor(container){\n this._container = container;\n }\n drawAfter(data) {\n const { context, drawPosition, drawRadius, drawScale, particle, transformData } = data, container = this._container, diameter = drawRadius * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.double, pxRatio = container.retina.pixelRatio, trail = particle.trail;\n if (!trail || !particle.trailLength) {\n return;\n }\n const currentPos = drawPosition, pathLength = particle.trailLength * drawScale + drawRadius;\n trail.push({\n color: context.fillStyle || context.strokeStyle,\n position: {\n x: currentPos.x,\n y: currentPos.y\n },\n transformData\n });\n if (trail.length < minTrailLength) {\n return;\n }\n const pathLengthFloor = Math.floor(pathLength);\n if (trail.length > pathLengthFloor) {\n trail.splice(firstIndex, trail.length - pathLengthFloor);\n }\n const trailLength = Math.min(trail.length, pathLength), canvasSize = {\n width: container.canvas.size.width * drawScale + diameter,\n height: container.canvas.size.height * drawScale + diameter\n };\n context.save();\n context.lineCap = \"butt\";\n context.lineJoin = \"round\";\n for(let i = trailLength - loopTrailLengthOffset; i > loopTrailLengthMinIndex; i--){\n const previousStep = trail[i + trailLengthOffset], step = trail[i], nextStep = trail[i - trailLengthOffset];\n if (!previousStep || !step || !nextStep) {\n continue;\n }\n const previousPosition = previousStep.position, position = step.position, nextPosition = nextStep.position, stepTransformData = particle.trailTransform ? step.transformData ?? defaultTransform : defaultTransform, { distance: previousDistance } = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistances)(previousPosition, position), { distance: nextDistance } = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistances)(position, nextPosition);\n if (previousDistance > pathLength * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.double || nextDistance > pathLength * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.double) {\n continue;\n }\n if (Math.abs(previousPosition.x - position.x) > canvasSize.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half || Math.abs(previousPosition.y - position.y) > canvasSize.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half || Math.abs(position.x - nextPosition.x) > canvasSize.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half || Math.abs(position.y - nextPosition.y) > canvasSize.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half) {\n continue;\n }\n context.setTransform(stepTransformData.a, stepTransformData.b, stepTransformData.c, stepTransformData.d, position.x, position.y);\n const startX = (previousPosition.x + position.x) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half - position.x, startY = (previousPosition.y + position.y) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half - position.y, endX = (position.x + nextPosition.x) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half - position.x, endY = (position.y + nextPosition.y) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half - position.y;\n context.beginPath();\n context.moveTo(startX, startY);\n context.quadraticCurveTo(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, endX, endY);\n const width = Math.max(i / trailLength * diameter, pxRatio, (particle.trailMinWidth ?? minWidth) * drawScale), oldAlpha = context.globalAlpha;\n context.globalAlpha = particle.trailFade ? i / trailLength : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultAlpha;\n context.lineWidth = particle.trailMaxWidth ? Math.min(width, particle.trailMaxWidth * drawScale) : width;\n context.strokeStyle = step.color;\n context.stroke();\n context.globalAlpha = oldAlpha;\n }\n context.restore();\n }\n particleInit(container, particle) {\n particle.trail = [];\n const effectData = particle.effectData;\n particle.trailFade = effectData?.fade ?? true;\n particle.trailLength = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(effectData?.length ?? defaultLength) * container.retina.pixelRatio;\n particle.trailMaxWidth = effectData?.maxWidth ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(effectData.maxWidth) * container.retina.pixelRatio : undefined;\n particle.trailMinWidth = effectData?.minWidth ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(effectData.minWidth) * container.retina.pixelRatio : undefined;\n particle.trailTransform = effectData?.transform ?? false;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/fireworks/../../effects/trail/dist/browser/TrailDrawer.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -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
- * v4.0.0-alpha.8
7
+ * v4.0.0-beta.1
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,7 @@
23
23
  \*************************************************/
24
24
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
25
25
 
26
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadTrailEffect: () => (/* binding */ loadTrailEffect)\n/* harmony export */ });\nasync function loadTrailEffect(engine) {\n engine.checkVersion(\"4.0.0-alpha.8\");\n await engine.register(async e => {\n const {\n TrailDrawer\n } = await __webpack_require__.e(/*! import() */ \"effects_trail_dist_browser_TrailDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./TrailDrawer.js */ \"../../effects/trail/dist/browser/TrailDrawer.js\"));\n e.addEffect(\"trail\", new TrailDrawer());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/fireworks/../../effects/trail/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadTrailEffect: () => (/* binding */ loadTrailEffect)\n/* harmony export */ });\nasync function loadTrailEffect(engine) {\n engine.checkVersion(\"4.0.0-beta.1\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addEffect(\"trail\", async (container)=>{\n const { TrailDrawer } = await __webpack_require__.e(/*! import() */ \"effects_trail_dist_browser_TrailDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./TrailDrawer.js */ \"../../effects/trail/dist/browser/TrailDrawer.js\"));\n return new TrailDrawer(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/fireworks/../../effects/trail/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29