@tsparticles/fireworks 4.0.0-beta.6 → 4.0.0-beta.9

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 (167) hide show
  1. package/1241.min.js +1 -0
  2. package/1581.min.js +1 -0
  3. package/2049.min.js +1 -0
  4. package/2066.min.js +1 -0
  5. package/2127.min.js +1 -0
  6. package/218.min.js +1 -0
  7. package/2191.min.js +1 -0
  8. package/2270.min.js +1 -0
  9. package/2556.min.js +1 -0
  10. package/2602.min.js +1 -0
  11. package/2760.min.js +1 -0
  12. package/{553.min.js → 2865.min.js} +2 -2
  13. package/3047.min.js +1 -0
  14. package/3073.min.js +1 -0
  15. package/3384.min.js +1 -0
  16. package/3443.min.js +1 -0
  17. package/3583.min.js +1 -0
  18. package/374.min.js +1 -0
  19. package/382.min.js +1 -0
  20. package/4068.min.js +1 -0
  21. package/4186.min.js +1 -0
  22. package/4217.min.js +1 -0
  23. package/4427.min.js +1 -0
  24. package/4519.min.js +1 -0
  25. package/4626.min.js +1 -0
  26. package/5048.min.js +1 -0
  27. package/5218.min.js +1 -0
  28. package/5294.min.js +1 -0
  29. package/5344.min.js +1 -0
  30. package/5445.min.js +1 -0
  31. package/5492.min.js +1 -0
  32. package/5629.min.js +1 -0
  33. package/5675.min.js +1 -0
  34. package/6055.min.js +1 -0
  35. package/6067.min.js +1 -0
  36. package/6099.min.js +1 -0
  37. package/6171.min.js +1 -0
  38. package/648.min.js +1 -0
  39. package/6602.min.js +1 -0
  40. package/6943.min.js +1 -0
  41. package/6996.min.js +1 -0
  42. package/7162.min.js +1 -0
  43. package/7698.min.js +1 -0
  44. package/7711.min.js +1 -0
  45. package/7757.min.js +1 -0
  46. package/7792.min.js +1 -0
  47. package/8272.min.js +1 -0
  48. package/8386.min.js +1 -0
  49. package/8529.min.js +1 -0
  50. package/8607.min.js +1 -0
  51. package/{454.min.js → 8656.min.js} +1 -1
  52. package/8731.min.js +1 -0
  53. package/9407.min.js +1 -0
  54. package/9674.min.js +1 -0
  55. package/README.md +19 -5
  56. package/basic_dist_browser_index_js.js +2 -2
  57. package/browser/FireworkOptions.js +41 -7
  58. package/browser/fireworks.js +41 -77
  59. package/cjs/FireworkOptions.js +41 -7
  60. package/cjs/fireworks.js +41 -77
  61. package/dist_browser_FireworksInstance_js.js +1 -1
  62. package/engine_dist_browser_Core_Container_js.js +1 -1
  63. package/esm/FireworkOptions.js +41 -7
  64. package/esm/fireworks.js +41 -77
  65. package/package.json +12 -10
  66. package/plugins_blend_dist_browser_BlendPluginInstance_js.js +30 -0
  67. package/plugins_blend_dist_browser_BlendPlugin_js.js +40 -0
  68. package/{effects_trail_dist_browser_index_js.js → plugins_blend_dist_browser_index_js.js} +5 -5
  69. package/plugins_colors_hex_dist_browser_HexColorManager_js.js +1 -1
  70. package/plugins_colors_hex_dist_browser_index_js.js +2 -2
  71. package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +1 -1
  72. package/plugins_colors_hsl_dist_browser_index_js.js +2 -2
  73. package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +1 -1
  74. package/plugins_colors_rgb_dist_browser_index_js.js +2 -2
  75. package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +3 -3
  76. package/plugins_emittersShapes_square_dist_browser_index_js.js +2 -2
  77. package/plugins_emitters_dist_browser_EmitterInstance_js.js +1 -1
  78. package/plugins_emitters_dist_browser_EmittersInstancesManager_js.js +1 -1
  79. package/plugins_emitters_dist_browser_EmittersInteractor_js.js +2 -2
  80. package/plugins_emitters_dist_browser_EmittersPluginInstance_js.js +1 -1
  81. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +1 -1
  82. package/plugins_emitters_dist_browser_ShapeManager_js.js +1 -1
  83. package/plugins_emitters_dist_browser_addEmittersShapesManager_js.js +1 -1
  84. package/plugins_emitters_dist_browser_getEmittersInstancesManager_js.js +1 -1
  85. package/plugins_emitters_dist_browser_index_js.js +3 -3
  86. package/plugins_emitters_dist_browser_plugin_js.js +2 -2
  87. package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +1 -1
  88. package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +1 -1
  89. package/plugins_interactivity_dist_browser_index_js.js +2 -2
  90. package/plugins_move_dist_browser_MovePluginInstance_js.js +1 -1
  91. package/plugins_move_dist_browser_MovePlugin_js.js +1 -1
  92. package/plugins_move_dist_browser_index_js.js +2 -2
  93. package/plugins_sounds_dist_browser_SoundsPluginInstance_js.js +1 -1
  94. package/plugins_sounds_dist_browser_SoundsPlugin_js.js +1 -1
  95. package/plugins_sounds_dist_browser_index_js.js +2 -2
  96. package/report.html +1 -1
  97. package/shapes_circle_dist_browser_CircleDrawer_js.js +1 -1
  98. package/shapes_circle_dist_browser_index_js.js +2 -2
  99. package/shapes_line_dist_browser_LineDrawer_js.js +40 -0
  100. package/shapes_line_dist_browser_index_js.js +30 -0
  101. package/tsparticles.fireworks.bundle.js +7 -7
  102. package/tsparticles.fireworks.bundle.min.js +2 -2
  103. package/tsparticles.fireworks.js +37 -17
  104. package/tsparticles.fireworks.min.js +2 -2
  105. package/updaters_destroy_dist_browser_DestroyUpdater_js.js +2 -2
  106. package/updaters_destroy_dist_browser_index_js.js +2 -2
  107. package/updaters_fillColor_dist_browser_FillColorUpdater_js.js +1 -1
  108. package/updaters_fillColor_dist_browser_index_js.js +2 -2
  109. package/updaters_life_dist_browser_LifeUpdater_js.js +1 -1
  110. package/updaters_life_dist_browser_index_js.js +2 -2
  111. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +1 -1
  112. package/updaters_opacity_dist_browser_index_js.js +2 -2
  113. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +1 -1
  114. package/updaters_outModes_dist_browser_index_js.js +2 -2
  115. package/updaters_rotate_dist_browser_RotateUpdater_js.js +1 -1
  116. package/updaters_rotate_dist_browser_index_js.js +2 -2
  117. package/updaters_size_dist_browser_SizeUpdater_js.js +1 -1
  118. package/updaters_size_dist_browser_index_js.js +2 -2
  119. package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +30 -0
  120. package/updaters_strokeColor_dist_browser_index_js.js +30 -0
  121. package/129.min.js +0 -1
  122. package/134.min.js +0 -1
  123. package/143.min.js +0 -1
  124. package/157.min.js +0 -1
  125. package/167.min.js +0 -1
  126. package/17.min.js +0 -1
  127. package/177.min.js +0 -1
  128. package/208.min.js +0 -1
  129. package/27.min.js +0 -1
  130. package/274.min.js +0 -1
  131. package/293.min.js +0 -1
  132. package/301.min.js +0 -1
  133. package/347.min.js +0 -1
  134. package/356.min.js +0 -1
  135. package/360.min.js +0 -1
  136. package/368.min.js +0 -1
  137. package/468.min.js +0 -1
  138. package/477.min.js +0 -1
  139. package/496.min.js +0 -1
  140. package/51.min.js +0 -1
  141. package/510.min.js +0 -1
  142. package/541.min.js +0 -1
  143. package/550.min.js +0 -1
  144. package/554.min.js +0 -1
  145. package/590.min.js +0 -1
  146. package/598.min.js +0 -1
  147. package/601.min.js +0 -1
  148. package/604.min.js +0 -1
  149. package/610.min.js +0 -1
  150. package/626.min.js +0 -1
  151. package/627.min.js +0 -1
  152. package/663.min.js +0 -1
  153. package/684.min.js +0 -1
  154. package/686.min.js +0 -1
  155. package/72.min.js +0 -1
  156. package/737.min.js +0 -1
  157. package/742.min.js +0 -1
  158. package/744.min.js +0 -1
  159. package/748.min.js +0 -1
  160. package/775.min.js +0 -1
  161. package/813.min.js +0 -1
  162. package/866.min.js +0 -1
  163. package/88.min.js +0 -1
  164. package/880.min.js +0 -1
  165. package/930.min.js +0 -1
  166. package/951.min.js +0 -1
  167. package/effects_trail_dist_browser_TrailDrawer_js.js +0 -30
@@ -16,8 +16,45 @@ export class FireworkOptions {
16
16
  min: -30,
17
17
  max: 30,
18
18
  };
19
- this.colors = ["#ff595e", "#ffca3a", "#8ac926", "#1982c4", "#6a4c93"];
20
- this.gravity = 5;
19
+ this.colors = [
20
+ "#FF0000",
21
+ "#FF2A00",
22
+ "#FF5500",
23
+ "#FF8000",
24
+ "#FFAA00",
25
+ "#FFD400",
26
+ "#FFFF00",
27
+ "#D4FF00",
28
+ "#AAFF00",
29
+ "#80FF00",
30
+ "#55FF00",
31
+ "#2AFF00",
32
+ "#00FF00",
33
+ "#00FF2A",
34
+ "#00FF55",
35
+ "#00FF80",
36
+ "#00FFAA",
37
+ "#00FFD4",
38
+ "#00FFFF",
39
+ "#00D4FF",
40
+ "#00AAFF",
41
+ "#0080FF",
42
+ "#0055FF",
43
+ "#002AFF",
44
+ "#0000FF",
45
+ "#2A00FF",
46
+ "#5500FF",
47
+ "#8000FF",
48
+ "#AA00FF",
49
+ "#D400FF",
50
+ "#FF00FF",
51
+ "#FF00D4",
52
+ "#FF00AA",
53
+ "#FF0080",
54
+ "#FF0055",
55
+ "#FF002A",
56
+ ];
57
+ this.gravity = 30;
21
58
  this.minHeight = {
22
59
  min: 10,
23
60
  max: 30,
@@ -28,11 +65,8 @@ export class FireworkOptions {
28
65
  max: 30,
29
66
  };
30
67
  this.sounds = true;
31
- this.speed = { min: 5, max: 15 };
32
- this.splitCount = {
33
- min: 75,
34
- max: 150,
35
- };
68
+ this.speed = { min: 20, max: 40 };
69
+ this.splitCount = 100;
36
70
  }
37
71
  load(data) {
38
72
  if (isNull(data)) {
@@ -1,10 +1,9 @@
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
3
  let initialized = false, initializing = false;
4
- const minSplitCount = 2;
5
4
  const explodeSoundCheck = (args) => {
6
5
  const data = args.data;
7
- return data.particle.shape === "circle" && !!data.particle.splitCount && data.particle.splitCount < minSplitCount;
6
+ return data?.particle?.options.move.gravity.enable ?? false;
8
7
  };
9
8
  async function initPlugins(engine) {
10
9
  if (initialized) {
@@ -22,20 +21,24 @@ async function initPlugins(engine) {
22
21
  });
23
22
  }
24
23
  initializing = true;
25
- engine.checkVersion("4.0.0-beta.6");
24
+ engine.checkVersion("4.0.0-beta.9");
26
25
  await engine.pluginManager.register(async (e) => {
27
- const [{ loadBasic }, { loadEmittersPluginSimple }, { loadEmittersShapeSquare }, { loadSoundsPlugin }, { loadRotateUpdater }, { loadDestroyUpdater }, { loadLifeUpdater }, { loadTrailEffect },] = await Promise.all([
26
+ const [{ loadBasic }, { loadLineShape }, { loadBlendPlugin }, { loadEmittersPluginSimple }, { loadEmittersShapeSquare }, { loadSoundsPlugin }, { loadRotateUpdater }, { loadDestroyUpdater }, { loadLifeUpdater }, { loadStrokeColorUpdater },] = await Promise.all([
28
27
  import("@tsparticles/basic"),
28
+ import("@tsparticles/shape-line"),
29
+ import("@tsparticles/plugin-blend"),
29
30
  import("@tsparticles/plugin-emitters/plugin"),
30
31
  import("@tsparticles/plugin-emitters-shape-square"),
31
32
  import("@tsparticles/plugin-sounds"),
32
33
  import("@tsparticles/updater-rotate"),
33
34
  import("@tsparticles/updater-destroy"),
34
35
  import("@tsparticles/updater-life"),
35
- import("@tsparticles/effect-trail"),
36
+ import("@tsparticles/updater-stroke-color"),
36
37
  ]);
37
38
  await Promise.all([
38
39
  loadBasic(e),
40
+ loadLineShape(e),
41
+ loadBlendPlugin(e),
39
42
  (async () => {
40
43
  await loadEmittersPluginSimple(e);
41
44
  await loadEmittersShapeSquare(e);
@@ -44,7 +47,7 @@ async function initPlugins(engine) {
44
47
  loadRotateUpdater(e),
45
48
  loadDestroyUpdater(e),
46
49
  loadLifeUpdater(e),
47
- loadTrailEffect(e),
50
+ loadStrokeColorUpdater(e),
48
51
  ]);
49
52
  });
50
53
  initializing = false;
@@ -57,8 +60,12 @@ function getOptions(options, canvas) {
57
60
  background: {
58
61
  color: options.background,
59
62
  },
63
+ blend: {
64
+ enable: true,
65
+ mode: "lighter",
66
+ },
60
67
  fullScreen: {
61
- enable: !!canvas,
68
+ enable: !canvas,
62
69
  },
63
70
  fpsLimit: 60,
64
71
  emitters: {
@@ -87,11 +94,11 @@ function getOptions(options, canvas) {
87
94
  number: {
88
95
  value: 0,
89
96
  },
90
- fill: {
97
+ stroke: {
91
98
  color: {
92
- value: "#fff",
99
+ value: options.colors,
93
100
  },
94
- enable: true,
101
+ width: 2,
95
102
  },
96
103
  destroy: {
97
104
  mode: "split",
@@ -99,7 +106,6 @@ function getOptions(options, canvas) {
99
106
  top: setRangeValue(options.minHeight),
100
107
  },
101
108
  split: {
102
- sizeOffset: false,
103
109
  count: 1,
104
110
  factor: {
105
111
  value: 0.333333,
@@ -107,20 +113,12 @@ function getOptions(options, canvas) {
107
113
  rate: {
108
114
  value: options.splitCount,
109
115
  },
110
- fillColorOffset: {
116
+ strokeColorOffset: {
111
117
  s: options.saturation,
112
118
  l: options.brightness,
113
119
  },
114
120
  particles: {
115
- fill: {
116
- color: {
117
- value: options.colors,
118
- },
119
- enable: true,
120
- },
121
- stroke: {
122
- width: 0,
123
- },
121
+ group: "split",
124
122
  number: {
125
123
  value: 0,
126
124
  },
@@ -131,56 +129,36 @@ function getOptions(options, canvas) {
131
129
  },
132
130
  animation: {
133
131
  enable: true,
134
- speed: 1,
135
- sync: false,
132
+ speed: { min: 2, max: 4 },
133
+ sync: true,
136
134
  startValue: StartValueType.max,
137
135
  destroy: DestroyType.min,
136
+ count: 1,
138
137
  },
139
138
  },
140
- effect: {
141
- type: "trail",
142
- options: {
143
- trail: {
144
- length: {
145
- min: 5,
146
- max: 10,
147
- },
148
- },
149
- },
150
- },
151
- shape: {
152
- type: "circle",
153
- },
154
139
  size: {
155
- value: { min: 1, max: 2 },
156
- animation: {
157
- enable: true,
158
- speed: 5,
159
- count: 1,
160
- sync: false,
161
- startValue: StartValueType.min,
162
- destroy: DestroyType.none,
163
- },
140
+ value: { min: 5, max: 10 },
164
141
  },
165
142
  life: {
166
143
  count: 1,
167
144
  duration: {
168
145
  value: {
169
- min: 0.25,
170
- max: 0.5,
146
+ min: 0.5,
147
+ max: 1,
171
148
  },
172
149
  },
173
150
  },
174
151
  move: {
175
- decay: { min: 0.05, max: 0.1 },
152
+ decay: 0.05,
176
153
  enable: true,
177
154
  gravity: {
178
- enable: true,
179
- inverse: false,
180
- acceleration: setRangeValue(options.gravity),
155
+ enable: false,
156
+ },
157
+ speed: {
158
+ min: 10,
159
+ max: 25,
181
160
  },
182
- speed: setRangeValue(options.speed),
183
- direction: "none",
161
+ direction: "outside",
184
162
  outModes: OutMode.destroy,
185
163
  },
186
164
  },
@@ -189,27 +167,16 @@ function getOptions(options, canvas) {
189
167
  life: {
190
168
  count: 1,
191
169
  },
192
- effect: {
193
- type: "trail",
170
+ shape: {
171
+ type: "line",
194
172
  options: {
195
- trail: {
196
- length: {
197
- min: 10,
198
- max: 30,
199
- },
200
- minWidth: 1,
201
- maxWidth: 1,
173
+ line: {
174
+ cap: "round",
202
175
  },
203
176
  },
204
177
  },
205
- shape: {
206
- type: "circle",
207
- },
208
178
  size: {
209
- value: 1,
210
- },
211
- opacity: {
212
- value: 0.5,
179
+ value: { min: 10, max: 20 },
213
180
  },
214
181
  rotate: {
215
182
  path: true,
@@ -217,15 +184,12 @@ function getOptions(options, canvas) {
217
184
  move: {
218
185
  enable: true,
219
186
  gravity: {
220
- acceleration: 15,
187
+ acceleration: setRangeValue(options.gravity),
221
188
  enable: true,
222
189
  inverse: true,
223
- maxSpeed: 100,
224
- },
225
- speed: {
226
- min: 10,
227
- max: 20,
190
+ maxSpeed: 150,
228
191
  },
192
+ speed: setRangeValue(options.speed),
229
193
  outModes: {
230
194
  default: OutMode.destroy,
231
195
  top: OutMode.none,
@@ -279,5 +243,5 @@ fireworks.create = async (canvas, options) => {
279
243
  fireworks.init = async () => {
280
244
  await initPlugins(tsParticles);
281
245
  };
282
- fireworks.version = "4.0.0-beta.6";
246
+ fireworks.version = "4.0.0-beta.9";
283
247
  globalThis.fireworks = fireworks;
@@ -16,8 +16,45 @@ export class FireworkOptions {
16
16
  min: -30,
17
17
  max: 30,
18
18
  };
19
- this.colors = ["#ff595e", "#ffca3a", "#8ac926", "#1982c4", "#6a4c93"];
20
- this.gravity = 5;
19
+ this.colors = [
20
+ "#FF0000",
21
+ "#FF2A00",
22
+ "#FF5500",
23
+ "#FF8000",
24
+ "#FFAA00",
25
+ "#FFD400",
26
+ "#FFFF00",
27
+ "#D4FF00",
28
+ "#AAFF00",
29
+ "#80FF00",
30
+ "#55FF00",
31
+ "#2AFF00",
32
+ "#00FF00",
33
+ "#00FF2A",
34
+ "#00FF55",
35
+ "#00FF80",
36
+ "#00FFAA",
37
+ "#00FFD4",
38
+ "#00FFFF",
39
+ "#00D4FF",
40
+ "#00AAFF",
41
+ "#0080FF",
42
+ "#0055FF",
43
+ "#002AFF",
44
+ "#0000FF",
45
+ "#2A00FF",
46
+ "#5500FF",
47
+ "#8000FF",
48
+ "#AA00FF",
49
+ "#D400FF",
50
+ "#FF00FF",
51
+ "#FF00D4",
52
+ "#FF00AA",
53
+ "#FF0080",
54
+ "#FF0055",
55
+ "#FF002A",
56
+ ];
57
+ this.gravity = 30;
21
58
  this.minHeight = {
22
59
  min: 10,
23
60
  max: 30,
@@ -28,11 +65,8 @@ export class FireworkOptions {
28
65
  max: 30,
29
66
  };
30
67
  this.sounds = true;
31
- this.speed = { min: 5, max: 15 };
32
- this.splitCount = {
33
- min: 75,
34
- max: 150,
35
- };
68
+ this.speed = { min: 20, max: 40 };
69
+ this.splitCount = 100;
36
70
  }
37
71
  load(data) {
38
72
  if (isNull(data)) {
package/cjs/fireworks.js CHANGED
@@ -1,10 +1,9 @@
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
3
  let initialized = false, initializing = false;
4
- const minSplitCount = 2;
5
4
  const explodeSoundCheck = (args) => {
6
5
  const data = args.data;
7
- return data.particle.shape === "circle" && !!data.particle.splitCount && data.particle.splitCount < minSplitCount;
6
+ return data?.particle?.options.move.gravity.enable ?? false;
8
7
  };
9
8
  async function initPlugins(engine) {
10
9
  if (initialized) {
@@ -22,20 +21,24 @@ async function initPlugins(engine) {
22
21
  });
23
22
  }
24
23
  initializing = true;
25
- engine.checkVersion("4.0.0-beta.6");
24
+ engine.checkVersion("4.0.0-beta.9");
26
25
  await engine.pluginManager.register(async (e) => {
27
- const [{ loadBasic }, { loadEmittersPluginSimple }, { loadEmittersShapeSquare }, { loadSoundsPlugin }, { loadRotateUpdater }, { loadDestroyUpdater }, { loadLifeUpdater }, { loadTrailEffect },] = await Promise.all([
26
+ const [{ loadBasic }, { loadLineShape }, { loadBlendPlugin }, { loadEmittersPluginSimple }, { loadEmittersShapeSquare }, { loadSoundsPlugin }, { loadRotateUpdater }, { loadDestroyUpdater }, { loadLifeUpdater }, { loadStrokeColorUpdater },] = await Promise.all([
28
27
  import("@tsparticles/basic"),
28
+ import("@tsparticles/shape-line"),
29
+ import("@tsparticles/plugin-blend"),
29
30
  import("@tsparticles/plugin-emitters/plugin"),
30
31
  import("@tsparticles/plugin-emitters-shape-square"),
31
32
  import("@tsparticles/plugin-sounds"),
32
33
  import("@tsparticles/updater-rotate"),
33
34
  import("@tsparticles/updater-destroy"),
34
35
  import("@tsparticles/updater-life"),
35
- import("@tsparticles/effect-trail"),
36
+ import("@tsparticles/updater-stroke-color"),
36
37
  ]);
37
38
  await Promise.all([
38
39
  loadBasic(e),
40
+ loadLineShape(e),
41
+ loadBlendPlugin(e),
39
42
  (async () => {
40
43
  await loadEmittersPluginSimple(e);
41
44
  await loadEmittersShapeSquare(e);
@@ -44,7 +47,7 @@ async function initPlugins(engine) {
44
47
  loadRotateUpdater(e),
45
48
  loadDestroyUpdater(e),
46
49
  loadLifeUpdater(e),
47
- loadTrailEffect(e),
50
+ loadStrokeColorUpdater(e),
48
51
  ]);
49
52
  });
50
53
  initializing = false;
@@ -57,8 +60,12 @@ function getOptions(options, canvas) {
57
60
  background: {
58
61
  color: options.background,
59
62
  },
63
+ blend: {
64
+ enable: true,
65
+ mode: "lighter",
66
+ },
60
67
  fullScreen: {
61
- enable: !!canvas,
68
+ enable: !canvas,
62
69
  },
63
70
  fpsLimit: 60,
64
71
  emitters: {
@@ -87,11 +94,11 @@ function getOptions(options, canvas) {
87
94
  number: {
88
95
  value: 0,
89
96
  },
90
- fill: {
97
+ stroke: {
91
98
  color: {
92
- value: "#fff",
99
+ value: options.colors,
93
100
  },
94
- enable: true,
101
+ width: 2,
95
102
  },
96
103
  destroy: {
97
104
  mode: "split",
@@ -99,7 +106,6 @@ function getOptions(options, canvas) {
99
106
  top: setRangeValue(options.minHeight),
100
107
  },
101
108
  split: {
102
- sizeOffset: false,
103
109
  count: 1,
104
110
  factor: {
105
111
  value: 0.333333,
@@ -107,20 +113,12 @@ function getOptions(options, canvas) {
107
113
  rate: {
108
114
  value: options.splitCount,
109
115
  },
110
- fillColorOffset: {
116
+ strokeColorOffset: {
111
117
  s: options.saturation,
112
118
  l: options.brightness,
113
119
  },
114
120
  particles: {
115
- fill: {
116
- color: {
117
- value: options.colors,
118
- },
119
- enable: true,
120
- },
121
- stroke: {
122
- width: 0,
123
- },
121
+ group: "split",
124
122
  number: {
125
123
  value: 0,
126
124
  },
@@ -131,56 +129,36 @@ function getOptions(options, canvas) {
131
129
  },
132
130
  animation: {
133
131
  enable: true,
134
- speed: 1,
135
- sync: false,
132
+ speed: { min: 2, max: 4 },
133
+ sync: true,
136
134
  startValue: StartValueType.max,
137
135
  destroy: DestroyType.min,
136
+ count: 1,
138
137
  },
139
138
  },
140
- effect: {
141
- type: "trail",
142
- options: {
143
- trail: {
144
- length: {
145
- min: 5,
146
- max: 10,
147
- },
148
- },
149
- },
150
- },
151
- shape: {
152
- type: "circle",
153
- },
154
139
  size: {
155
- value: { min: 1, max: 2 },
156
- animation: {
157
- enable: true,
158
- speed: 5,
159
- count: 1,
160
- sync: false,
161
- startValue: StartValueType.min,
162
- destroy: DestroyType.none,
163
- },
140
+ value: { min: 5, max: 10 },
164
141
  },
165
142
  life: {
166
143
  count: 1,
167
144
  duration: {
168
145
  value: {
169
- min: 0.25,
170
- max: 0.5,
146
+ min: 0.5,
147
+ max: 1,
171
148
  },
172
149
  },
173
150
  },
174
151
  move: {
175
- decay: { min: 0.05, max: 0.1 },
152
+ decay: 0.05,
176
153
  enable: true,
177
154
  gravity: {
178
- enable: true,
179
- inverse: false,
180
- acceleration: setRangeValue(options.gravity),
155
+ enable: false,
156
+ },
157
+ speed: {
158
+ min: 10,
159
+ max: 25,
181
160
  },
182
- speed: setRangeValue(options.speed),
183
- direction: "none",
161
+ direction: "outside",
184
162
  outModes: OutMode.destroy,
185
163
  },
186
164
  },
@@ -189,27 +167,16 @@ function getOptions(options, canvas) {
189
167
  life: {
190
168
  count: 1,
191
169
  },
192
- effect: {
193
- type: "trail",
170
+ shape: {
171
+ type: "line",
194
172
  options: {
195
- trail: {
196
- length: {
197
- min: 10,
198
- max: 30,
199
- },
200
- minWidth: 1,
201
- maxWidth: 1,
173
+ line: {
174
+ cap: "round",
202
175
  },
203
176
  },
204
177
  },
205
- shape: {
206
- type: "circle",
207
- },
208
178
  size: {
209
- value: 1,
210
- },
211
- opacity: {
212
- value: 0.5,
179
+ value: { min: 10, max: 20 },
213
180
  },
214
181
  rotate: {
215
182
  path: true,
@@ -217,15 +184,12 @@ function getOptions(options, canvas) {
217
184
  move: {
218
185
  enable: true,
219
186
  gravity: {
220
- acceleration: 15,
187
+ acceleration: setRangeValue(options.gravity),
221
188
  enable: true,
222
189
  inverse: true,
223
- maxSpeed: 100,
224
- },
225
- speed: {
226
- min: 10,
227
- max: 20,
190
+ maxSpeed: 150,
228
191
  },
192
+ speed: setRangeValue(options.speed),
229
193
  outModes: {
230
194
  default: OutMode.destroy,
231
195
  top: OutMode.none,
@@ -279,5 +243,5 @@ fireworks.create = async (canvas, options) => {
279
243
  fireworks.init = async () => {
280
244
  await initPlugins(tsParticles);
281
245
  };
282
- fireworks.version = "4.0.0-beta.6";
246
+ fireworks.version = "4.0.0-beta.9";
283
247
  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-beta.6
7
+ * v4.0.0-beta.9
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -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-beta.6
7
+ * v4.0.0-beta.9
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -16,8 +16,45 @@ export class FireworkOptions {
16
16
  min: -30,
17
17
  max: 30,
18
18
  };
19
- this.colors = ["#ff595e", "#ffca3a", "#8ac926", "#1982c4", "#6a4c93"];
20
- this.gravity = 5;
19
+ this.colors = [
20
+ "#FF0000",
21
+ "#FF2A00",
22
+ "#FF5500",
23
+ "#FF8000",
24
+ "#FFAA00",
25
+ "#FFD400",
26
+ "#FFFF00",
27
+ "#D4FF00",
28
+ "#AAFF00",
29
+ "#80FF00",
30
+ "#55FF00",
31
+ "#2AFF00",
32
+ "#00FF00",
33
+ "#00FF2A",
34
+ "#00FF55",
35
+ "#00FF80",
36
+ "#00FFAA",
37
+ "#00FFD4",
38
+ "#00FFFF",
39
+ "#00D4FF",
40
+ "#00AAFF",
41
+ "#0080FF",
42
+ "#0055FF",
43
+ "#002AFF",
44
+ "#0000FF",
45
+ "#2A00FF",
46
+ "#5500FF",
47
+ "#8000FF",
48
+ "#AA00FF",
49
+ "#D400FF",
50
+ "#FF00FF",
51
+ "#FF00D4",
52
+ "#FF00AA",
53
+ "#FF0080",
54
+ "#FF0055",
55
+ "#FF002A",
56
+ ];
57
+ this.gravity = 30;
21
58
  this.minHeight = {
22
59
  min: 10,
23
60
  max: 30,
@@ -28,11 +65,8 @@ export class FireworkOptions {
28
65
  max: 30,
29
66
  };
30
67
  this.sounds = true;
31
- this.speed = { min: 5, max: 15 };
32
- this.splitCount = {
33
- min: 75,
34
- max: 150,
35
- };
68
+ this.speed = { min: 20, max: 40 };
69
+ this.splitCount = 100;
36
70
  }
37
71
  load(data) {
38
72
  if (isNull(data)) {