@tsparticles/all 4.0.0-alpha.26 → 4.0.0-alpha.28

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 (784) hide show
  1. package/102.min.js +1 -0
  2. package/1053.min.js +1 -0
  3. package/{1180.min.js → 1060.min.js} +1 -1
  4. package/1098.min.js +1 -0
  5. package/1146.min.js +1 -0
  6. package/{5127.min.js → 1154.min.js} +1 -1
  7. package/1171.min.js +1 -0
  8. package/1196.min.js +1 -0
  9. package/1220.min.js +1 -0
  10. package/1276.min.js +1 -0
  11. package/1283.min.js +1 -0
  12. package/1298.min.js +1 -0
  13. package/1302.min.js +1 -0
  14. package/1304.min.js +1 -0
  15. package/134.min.js +1 -0
  16. package/1368.min.js +1 -0
  17. package/1411.min.js +1 -0
  18. package/1510.min.js +1 -0
  19. package/1513.min.js +1 -0
  20. package/1553.min.js +1 -0
  21. package/1556.min.js +1 -0
  22. package/161.min.js +1 -0
  23. package/{2057.min.js → 1624.min.js} +1 -1
  24. package/1667.min.js +1 -0
  25. package/{3354.min.js → 1739.min.js} +1 -1
  26. package/1766.min.js +1 -0
  27. package/1812.min.js +1 -0
  28. package/1821.min.js +1 -0
  29. package/1906.min.js +1 -0
  30. package/2086.min.js +1 -0
  31. package/{3538.min.js → 2123.min.js} +2 -2
  32. package/2142.min.js +1 -0
  33. package/2167.min.js +1 -0
  34. package/{7934.min.js → 2217.min.js} +1 -1
  35. package/2218.min.js +1 -0
  36. package/229.min.js +1 -0
  37. package/2292.min.js +1 -0
  38. package/2295.min.js +1 -0
  39. package/{3399.min.js → 2317.min.js} +1 -1
  40. package/2346.min.js +1 -0
  41. package/{4756.min.js → 2382.min.js} +1 -1
  42. package/2397.min.js +1 -0
  43. package/241.min.js +1 -0
  44. package/243.min.js +1 -0
  45. package/2488.min.js +1 -0
  46. package/2513.min.js +1 -0
  47. package/2541.min.js +1 -0
  48. package/2553.min.js +1 -0
  49. package/2569.min.js +1 -0
  50. package/2609.min.js +1 -0
  51. package/2616.min.js +1 -0
  52. package/2618.min.js +1 -0
  53. package/2642.min.js +1 -0
  54. package/2715.min.js +1 -0
  55. package/{6670.min.js → 2738.min.js} +1 -1
  56. package/2846.min.js +1 -0
  57. package/{6935.min.js → 2917.min.js} +1 -1
  58. package/2926.min.js +1 -1
  59. package/{7645.min.js → 2940.min.js} +1 -1
  60. package/3003.min.js +1 -0
  61. package/{6326.min.js → 3019.min.js} +1 -1
  62. package/3037.min.js +1 -0
  63. package/3091.min.js +1 -0
  64. package/3093.min.js +1 -0
  65. package/3130.min.js +1 -0
  66. package/3136.min.js +1 -0
  67. package/3138.min.js +1 -0
  68. package/3150.min.js +1 -0
  69. package/{8323.min.js → 3194.min.js} +1 -1
  70. package/3216.min.js +1 -0
  71. package/{2928.min.js → 3233.min.js} +1 -1
  72. package/3257.min.js +1 -0
  73. package/3296.min.js +1 -0
  74. package/{5817.min.js → 3338.min.js} +2 -2
  75. package/{6022.min.js → 3391.min.js} +1 -1
  76. package/3407.min.js +1 -0
  77. package/{1727.min.js → 3413.min.js} +1 -1
  78. package/342.min.js +1 -0
  79. package/3433.min.js +1 -0
  80. package/3455.min.js +1 -1
  81. package/{7631.min.js → 3464.min.js} +1 -1
  82. package/{1346.min.js → 3509.min.js} +1 -1
  83. package/3573.min.js +1 -0
  84. package/358.min.js +1 -0
  85. package/3618.min.js +1 -0
  86. package/{5336.min.js → 3657.min.js} +1 -1
  87. package/3659.min.js +1 -0
  88. package/366.min.js +1 -0
  89. package/3663.min.js +1 -0
  90. package/3693.min.js +1 -0
  91. package/3713.min.js +1 -0
  92. package/3715.min.js +1 -0
  93. package/3747.min.js +1 -0
  94. package/{1419.min.js → 3750.min.js} +1 -1
  95. package/{1431.min.js → 3766.min.js} +1 -1
  96. package/379.min.js +1 -0
  97. package/{4399.min.js → 3793.min.js} +1 -1
  98. package/3813.min.js +1 -0
  99. package/{8728.min.js → 3853.min.js} +1 -1
  100. package/{9829.min.js → 3912.min.js} +1 -1
  101. package/{7305.min.js → 3924.min.js} +1 -1
  102. package/4067.min.js +1 -0
  103. package/4073.min.js +1 -0
  104. package/4082.min.js +1 -0
  105. package/{7662.min.js → 4089.min.js} +1 -1
  106. package/4141.min.js +1 -0
  107. package/4149.min.js +1 -0
  108. package/{4054.min.js → 4191.min.js} +1 -1
  109. package/4204.min.js +1 -0
  110. package/4234.min.js +1 -0
  111. package/4257.min.js +1 -0
  112. package/4268.min.js +1 -0
  113. package/4270.min.js +1 -0
  114. package/4285.min.js +1 -0
  115. package/{6107.min.js → 4292.min.js} +1 -1
  116. package/{4837.min.js → 4303.min.js} +1 -1
  117. package/4385.min.js +1 -1
  118. package/439.min.js +1 -1
  119. package/4413.min.js +1 -0
  120. package/{2091.min.js → 4424.min.js} +1 -1
  121. package/{8486.min.js → 4433.min.js} +1 -1
  122. package/4462.min.js +1 -0
  123. package/4463.min.js +1 -0
  124. package/449.min.js +1 -0
  125. package/4532.min.js +1 -0
  126. package/4570.min.js +1 -0
  127. package/4572.min.js +1 -0
  128. package/{4935.min.js → 4588.min.js} +1 -1
  129. package/465.min.js +1 -0
  130. package/4660.min.js +1 -0
  131. package/{3722.min.js → 4662.min.js} +1 -1
  132. package/4669.min.js +1 -0
  133. package/4671.min.js +1 -0
  134. package/468.min.js +1 -0
  135. package/4683.min.js +1 -0
  136. package/4689.min.js +1 -1
  137. package/{2847.min.js → 4708.min.js} +1 -1
  138. package/{2017.min.js → 4724.min.js} +1 -1
  139. package/4792.min.js +1 -0
  140. package/485.min.js +1 -0
  141. package/4894.min.js +1 -0
  142. package/4932.min.js +1 -0
  143. package/5055.min.js +1 -1
  144. package/5133.min.js +1 -0
  145. package/514.min.js +1 -0
  146. package/5157.min.js +1 -0
  147. package/{6067.min.js → 5206.min.js} +1 -1
  148. package/521.min.js +1 -0
  149. package/{2656.min.js → 5227.min.js} +1 -1
  150. package/{9040.min.js → 5249.min.js} +1 -1
  151. package/5315.min.js +1 -0
  152. package/5322.min.js +1 -0
  153. package/533.min.js +1 -0
  154. package/5390.min.js +1 -0
  155. package/5406.min.js +1 -0
  156. package/{2042.min.js → 5411.min.js} +1 -1
  157. package/5478.min.js +1 -0
  158. package/5531.min.js +1 -0
  159. package/5538.min.js +1 -0
  160. package/5552.min.js +1 -0
  161. package/5558.min.js +1 -0
  162. package/5638.min.js +1 -0
  163. package/{4080.min.js → 5665.min.js} +1 -1
  164. package/{2865.min.js → 5712.min.js} +1 -1
  165. package/5723.min.js +1 -0
  166. package/5740.min.js +1 -0
  167. package/5833.min.js +1 -0
  168. package/{1040.min.js → 5855.min.js} +1 -1
  169. package/{9386.min.js → 5901.min.js} +1 -1
  170. package/5964.min.js +1 -0
  171. package/{3236.min.js → 5997.min.js} +1 -1
  172. package/{3182.min.js → 6041.min.js} +1 -1
  173. package/6058.min.js +1 -0
  174. package/{9743.min.js → 6066.min.js} +1 -1
  175. package/608.min.js +1 -0
  176. package/6098.min.js +1 -0
  177. package/6101.min.js +1 -0
  178. package/6179.min.js +1 -0
  179. package/6193.min.js +1 -0
  180. package/6211.min.js +1 -0
  181. package/622.min.js +1 -0
  182. package/6221.min.js +1 -0
  183. package/6299.min.js +1 -0
  184. package/{7126.min.js → 6351.min.js} +1 -1
  185. package/6361.min.js +1 -0
  186. package/6387.min.js +1 -0
  187. package/6405.min.js +1 -0
  188. package/644.min.js +1 -0
  189. package/6450.min.js +1 -0
  190. package/{1801.min.js → 6458.min.js} +1 -1
  191. package/6465.min.js +1 -0
  192. package/65.min.js +1 -0
  193. package/653.min.js +1 -0
  194. package/6583.min.js +1 -0
  195. package/6638.min.js +1 -0
  196. package/6684.min.js +1 -0
  197. package/6725.min.js +1 -0
  198. package/6808.min.js +1 -0
  199. package/{2683.min.js → 6839.min.js} +1 -1
  200. package/{6629.min.js → 6900.min.js} +1 -1
  201. package/{5123.min.js → 6970.min.js} +1 -1
  202. package/6982.min.js +1 -0
  203. package/6986.min.js +1 -0
  204. package/701.min.js +1 -0
  205. package/702.min.js +1 -0
  206. package/7028.min.js +1 -0
  207. package/{8556.min.js → 7041.min.js} +2 -2
  208. package/7116.min.js +1 -0
  209. package/7256.min.js +1 -0
  210. package/{3539.min.js → 7258.min.js} +1 -1
  211. package/7318.min.js +1 -0
  212. package/7377.min.js +1 -0
  213. package/7398.min.js +1 -0
  214. package/742.min.js +1 -0
  215. package/7449.min.js +1 -0
  216. package/7475.min.js +1 -0
  217. package/7520.min.js +1 -0
  218. package/{9855.min.js → 7554.min.js} +1 -1
  219. package/7559.min.js +1 -0
  220. package/{5299.min.js → 7622.min.js} +2 -2
  221. package/{2712.min.js → 7636.min.js} +1 -1
  222. package/7646.min.js +1 -0
  223. package/7724.min.js +1 -0
  224. package/7812.min.js +1 -1
  225. package/{728.min.js → 787.min.js} +1 -1
  226. package/{6907.min.js → 7876.min.js} +1 -1
  227. package/7922.min.js +1 -0
  228. package/7925.min.js +1 -0
  229. package/{4214.min.js → 7937.min.js} +1 -1
  230. package/7977.min.js +1 -0
  231. package/{2481.min.js → 7982.min.js} +1 -1
  232. package/8032.min.js +1 -0
  233. package/8061.min.js +1 -0
  234. package/8109.min.js +1 -0
  235. package/811.min.js +1 -1
  236. package/8214.min.js +1 -0
  237. package/8222.min.js +1 -0
  238. package/{9181.min.js → 8248.min.js} +1 -1
  239. package/8315.min.js +1 -0
  240. package/{2462.min.js → 8319.min.js} +1 -1
  241. package/8322.min.js +1 -0
  242. package/8360.min.js +1 -0
  243. package/8383.min.js +1 -0
  244. package/8386.min.js +1 -0
  245. package/84.min.js +1 -0
  246. package/8476.min.js +1 -0
  247. package/8484.min.js +1 -0
  248. package/8517.min.js +1 -1
  249. package/8553.min.js +1 -0
  250. package/8565.min.js +1 -0
  251. package/8589.min.js +1 -0
  252. package/{6835.min.js → 8606.min.js} +1 -1
  253. package/8620.min.js +1 -0
  254. package/{7481.min.js → 8639.min.js} +1 -1
  255. package/8684.min.js +1 -0
  256. package/8689.min.js +1 -0
  257. package/8756.min.js +1 -0
  258. package/881.min.js +1 -0
  259. package/8815.min.js +1 -0
  260. package/8819.min.js +1 -0
  261. package/8826.min.js +1 -0
  262. package/8841.min.js +1 -0
  263. package/8843.min.js +1 -0
  264. package/8902.min.js +1 -0
  265. package/{209.min.js → 8926.min.js} +2 -2
  266. package/9082.min.js +1 -0
  267. package/{3025.min.js → 916.min.js} +1 -1
  268. package/9177.min.js +1 -0
  269. package/9202.min.js +1 -0
  270. package/{8800.min.js → 9279.min.js} +1 -1
  271. package/9345.min.js +1 -0
  272. package/9352.min.js +1 -0
  273. package/{5578.min.js → 9398.min.js} +2 -2
  274. package/9544.min.js +1 -0
  275. package/9555.min.js +1 -0
  276. package/9565.min.js +1 -0
  277. package/{5608.min.js → 9569.min.js} +1 -1
  278. package/{7217.min.js → 9578.min.js} +1 -1
  279. package/9611.min.js +1 -0
  280. package/9613.min.js +1 -0
  281. package/9666.min.js +1 -0
  282. package/9739.min.js +1 -0
  283. package/9761.min.js +1 -0
  284. package/9929.min.js +1 -0
  285. package/9956.min.js +1 -0
  286. package/README.md +158 -4
  287. package/basic_dist_browser_index_js.js +2 -2
  288. package/browser/index.js +33 -25
  289. package/cjs/index.js +33 -25
  290. package/effects_bubble_dist_browser_BubbleDrawer_js.js +1 -1
  291. package/effects_bubble_dist_browser_index_js.js +2 -2
  292. package/effects_particles_dist_browser_ParticlesDrawer_js.js +1 -1
  293. package/effects_particles_dist_browser_index_js.js +2 -2
  294. package/effects_shadow_dist_browser_ShadowDrawer_js.js +2 -2
  295. package/effects_shadow_dist_browser_index_js.js +2 -2
  296. package/effects_trail_dist_browser_TrailDrawer_js.js +1 -1
  297. package/effects_trail_dist_browser_index_js.js +2 -2
  298. package/engine_dist_browser_Core_Container_js.js +3 -3
  299. package/esm/index.js +33 -25
  300. package/full_dist_browser_index_js.js +2 -2
  301. package/interactions_external_attract_dist_browser_Attractor_js.js +2 -2
  302. package/interactions_external_attract_dist_browser_index_js.js +2 -2
  303. package/interactions_external_bounce_dist_browser_Bouncer_js.js +2 -2
  304. package/interactions_external_bounce_dist_browser_index_js.js +2 -2
  305. package/interactions_external_bubble_dist_browser_Bubbler_js.js +2 -2
  306. package/interactions_external_bubble_dist_browser_index_js.js +2 -2
  307. package/interactions_external_connect_dist_browser_Connector_js.js +2 -2
  308. package/interactions_external_connect_dist_browser_index_js.js +2 -2
  309. package/interactions_external_grab_dist_browser_Grabber_js.js +2 -2
  310. package/interactions_external_grab_dist_browser_index_js.js +2 -2
  311. package/interactions_external_parallax_dist_browser_Parallaxer_js.js +2 -2
  312. package/interactions_external_parallax_dist_browser_index_js.js +2 -2
  313. package/interactions_external_particle_dist_browser_InteractivityParticleMaker_js.js +2 -2
  314. package/interactions_external_particle_dist_browser_index_js.js +2 -2
  315. package/interactions_external_pause_dist_browser_Pauser_js.js +2 -2
  316. package/interactions_external_pause_dist_browser_index_js.js +2 -2
  317. package/interactions_external_pop_dist_browser_Popper_js.js +2 -2
  318. package/interactions_external_pop_dist_browser_index_js.js +2 -2
  319. package/interactions_external_push_dist_browser_Pusher_js.js +2 -2
  320. package/interactions_external_push_dist_browser_index_js.js +2 -2
  321. package/interactions_external_remove_dist_browser_Remover_js.js +2 -2
  322. package/interactions_external_remove_dist_browser_index_js.js +2 -2
  323. package/interactions_external_repulse_dist_browser_Repulser_js.js +2 -2
  324. package/interactions_external_repulse_dist_browser_index_js.js +2 -2
  325. package/interactions_external_slow_dist_browser_Slower_js.js +2 -2
  326. package/interactions_external_slow_dist_browser_index_js.js +2 -2
  327. package/interactions_external_trail_dist_browser_TrailMaker_js.js +3 -3
  328. package/interactions_external_trail_dist_browser_index_js.js +2 -2
  329. package/interactions_light_dist_browser_ExternalLighter_js.js +2 -2
  330. package/interactions_light_dist_browser_ParticlesLighter_js.js +2 -2
  331. package/interactions_light_dist_browser_index_js.js +2 -2
  332. package/interactions_particles_attract_dist_browser_Attractor_js.js +2 -2
  333. package/interactions_particles_attract_dist_browser_index_js.js +2 -2
  334. package/interactions_particles_collisions_dist_browser_Collider_js.js +2 -2
  335. package/interactions_particles_collisions_dist_browser_OverlapPluginInstance_js.js +1 -1
  336. package/interactions_particles_collisions_dist_browser_OverlapPlugin_js.js +1 -1
  337. package/interactions_particles_collisions_dist_browser_index_js.js +2 -2
  338. package/interactions_particles_links_dist_browser_LinkInstance_js.js +2 -2
  339. package/interactions_particles_links_dist_browser_Linker_js.js +2 -2
  340. package/interactions_particles_links_dist_browser_LinksPlugin_js.js +1 -1
  341. package/interactions_particles_links_dist_browser_index_js.js +2 -2
  342. package/interactions_particles_repulse_dist_browser_Repulser_js.js +2 -2
  343. package/interactions_particles_repulse_dist_browser_index_js.js +2 -2
  344. package/package.json +77 -75
  345. package/paths_branches_dist_browser_BranchesPathGenerator_js.js +1 -1
  346. package/paths_branches_dist_browser_index_js.js +2 -2
  347. package/paths_brownian_dist_browser_BrownianPathGenerator_js.js +1 -1
  348. package/paths_brownian_dist_browser_index_js.js +2 -2
  349. package/paths_curlNoise_dist_browser_CurlNoiseGenerator_js.js +1 -1
  350. package/paths_curlNoise_dist_browser_index_js.js +2 -2
  351. package/paths_curves_dist_browser_CurvesPathGenerator_js.js +1 -1
  352. package/paths_curves_dist_browser_index_js.js +2 -2
  353. package/paths_fractalNoise_dist_browser_FractalNoiseGenerator_js.js +1 -1
  354. package/paths_fractalNoise_dist_browser_index_js.js +2 -2
  355. package/paths_grid_dist_browser_GridPathGenerator_js.js +1 -1
  356. package/paths_grid_dist_browser_index_js.js +2 -2
  357. package/paths_levy_dist_browser_LevyPathGenerator_js.js +1 -1
  358. package/paths_levy_dist_browser_index_js.js +2 -2
  359. package/paths_perlinNoise_dist_browser_PerlinNoiseGenerator_js.js +1 -1
  360. package/paths_perlinNoise_dist_browser_index_js.js +2 -2
  361. package/paths_polygon_dist_browser_PolygonPathGenerator_js.js +1 -1
  362. package/paths_polygon_dist_browser_index_js.js +2 -2
  363. package/paths_random_dist_browser_RandomPathGenerator_js.js +1 -1
  364. package/paths_random_dist_browser_index_js.js +2 -2
  365. package/paths_simplexNoise_dist_browser_SimplexNoiseGenerator_js.js +1 -1
  366. package/paths_simplexNoise_dist_browser_index_js.js +2 -2
  367. package/paths_spiral_dist_browser_SpiralPathGenerator_js.js +1 -1
  368. package/paths_spiral_dist_browser_index_js.js +2 -2
  369. package/paths_svg_dist_browser_SVGPathGenerator_js.js +1 -1
  370. package/paths_svg_dist_browser_index_js.js +2 -2
  371. package/paths_zigzag_dist_browser_ZigZagPathGenerator_js.js +1 -1
  372. package/paths_zigzag_dist_browser_index_js.js +2 -2
  373. package/plugins_absorbers_dist_browser_AbsorberInstance_js.js +1 -1
  374. package/plugins_absorbers_dist_browser_AbsorbersInstancesManager_js.js +1 -1
  375. package/plugins_absorbers_dist_browser_AbsorbersInteractor_js.js +2 -2
  376. package/plugins_absorbers_dist_browser_AbsorbersPluginInstance_js.js +1 -1
  377. package/plugins_absorbers_dist_browser_AbsorbersPlugin_js.js +1 -1
  378. package/plugins_absorbers_dist_browser_index_js.js +2 -2
  379. package/plugins_backgroundMask_dist_browser_BackgroundMaskPluginInstance_js.js +1 -1
  380. package/plugins_backgroundMask_dist_browser_BackgroundMaskPlugin_js.js +1 -1
  381. package/plugins_backgroundMask_dist_browser_index_js.js +2 -2
  382. package/plugins_blend_dist_browser_BlendPluginInstance_js.js +2 -2
  383. package/plugins_blend_dist_browser_BlendPlugin_js.js +1 -1
  384. package/plugins_blend_dist_browser_index_js.js +2 -2
  385. package/plugins_canvasMask_dist_browser_CanvasMaskPluginInstance_js.js +2 -2
  386. package/plugins_canvasMask_dist_browser_CanvasMaskPlugin_js.js +2 -2
  387. package/plugins_canvasMask_dist_browser_index_js.js +2 -2
  388. package/plugins_colors_hex_dist_browser_HexColorManager_js.js +1 -1
  389. package/plugins_colors_hex_dist_browser_index_js.js +2 -2
  390. package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +2 -2
  391. package/plugins_colors_hsl_dist_browser_index_js.js +2 -2
  392. package/plugins_colors_hsv_dist_browser_HsvColorManager_js.js +2 -2
  393. package/plugins_colors_hsv_dist_browser_index_js.js +2 -2
  394. package/plugins_colors_hwb_dist_browser_HwbColorManager_js.js +2 -2
  395. package/plugins_colors_hwb_dist_browser_index_js.js +2 -2
  396. package/plugins_colors_lab_dist_browser_LabColorManager_js.js +2 -2
  397. package/plugins_colors_lab_dist_browser_index_js.js +2 -2
  398. package/plugins_colors_lch_dist_browser_LchColorManager_js.js +2 -2
  399. package/plugins_colors_lch_dist_browser_index_js.js +2 -2
  400. package/plugins_colors_named_dist_browser_NamedColorManager_js.js +1 -1
  401. package/plugins_colors_named_dist_browser_index_js.js +2 -2
  402. package/plugins_colors_oklab_dist_browser_OklabColorManager_js.js +2 -2
  403. package/plugins_colors_oklab_dist_browser_index_js.js +2 -2
  404. package/plugins_colors_oklch_dist_browser_OklchColorManager_js.js +2 -2
  405. package/plugins_colors_oklch_dist_browser_index_js.js +2 -2
  406. package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +2 -2
  407. package/plugins_colors_rgb_dist_browser_index_js.js +2 -2
  408. package/plugins_easings_back_dist_browser_easingsFunctions_js.js +1 -1
  409. package/plugins_easings_back_dist_browser_index_js.js +2 -2
  410. package/plugins_easings_bounce_dist_browser_easingsFunctions_js.js +1 -1
  411. package/plugins_easings_bounce_dist_browser_index_js.js +2 -2
  412. package/plugins_easings_circ_dist_browser_easingsFunctions_js.js +1 -1
  413. package/plugins_easings_circ_dist_browser_index_js.js +2 -2
  414. package/plugins_easings_cubic_dist_browser_easingsFunctions_js.js +1 -1
  415. package/plugins_easings_cubic_dist_browser_index_js.js +2 -2
  416. package/plugins_easings_elastic_dist_browser_easingsFunctions_js.js +1 -1
  417. package/plugins_easings_elastic_dist_browser_index_js.js +2 -2
  418. package/plugins_easings_expo_dist_browser_easingsFunctions_js.js +1 -1
  419. package/plugins_easings_expo_dist_browser_index_js.js +2 -2
  420. package/plugins_easings_gaussian_dist_browser_easingsFunctions_js.js +1 -1
  421. package/plugins_easings_gaussian_dist_browser_index_js.js +2 -2
  422. package/plugins_easings_linear_dist_browser_easingsFunctions_js.js +1 -1
  423. package/plugins_easings_linear_dist_browser_index_js.js +2 -2
  424. package/plugins_easings_quad_dist_browser_easingsFunctions_js.js +1 -1
  425. package/plugins_easings_quad_dist_browser_index_js.js +2 -2
  426. package/plugins_easings_quart_dist_browser_easingsFunctions_js.js +1 -1
  427. package/plugins_easings_quart_dist_browser_index_js.js +2 -2
  428. package/plugins_easings_quint_dist_browser_easingsFunctions_js.js +1 -1
  429. package/plugins_easings_quint_dist_browser_index_js.js +2 -2
  430. package/plugins_easings_sigmoid_dist_browser_easingsFunctions_js.js +1 -1
  431. package/plugins_easings_sigmoid_dist_browser_index_js.js +2 -2
  432. package/plugins_easings_sine_dist_browser_easingsFunctions_js.js +1 -1
  433. package/plugins_easings_sine_dist_browser_index_js.js +2 -2
  434. package/plugins_easings_smoothstep_dist_browser_easingsFunctions_js.js +1 -1
  435. package/plugins_easings_smoothstep_dist_browser_index_js.js +2 -2
  436. package/plugins_emittersShapes_canvas_dist_browser_EmittersCanvasShapeGenerator_js.js +3 -3
  437. package/plugins_emittersShapes_canvas_dist_browser_index_js.js +2 -2
  438. package/plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js.js +2 -2
  439. package/plugins_emittersShapes_circle_dist_browser_index_js.js +2 -2
  440. package/plugins_emittersShapes_path_dist_browser_EmittersPathShapeGenerator_js.js +2 -2
  441. package/plugins_emittersShapes_path_dist_browser_index_js.js +2 -2
  442. package/plugins_emittersShapes_polygon_dist_browser_EmittersPolygonShapeGenerator_js.js +2 -2
  443. package/plugins_emittersShapes_polygon_dist_browser_index_js.js +2 -2
  444. package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +2 -2
  445. package/plugins_emittersShapes_square_dist_browser_index_js.js +2 -2
  446. package/plugins_emitters_dist_browser_EmitterInstance_js.js +2 -2
  447. package/plugins_emitters_dist_browser_EmittersInstancesManager_js.js +12 -2
  448. package/plugins_emitters_dist_browser_EmittersInteractor_js.js +14 -4
  449. package/plugins_emitters_dist_browser_EmittersPluginInstance_js.js +1 -1
  450. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +12 -2
  451. package/plugins_emitters_dist_browser_ShapeManager_js.js +1 -1
  452. package/plugins_emitters_dist_browser_index_js.js +2 -2
  453. package/plugins_exports_image_dist_browser_ExportImagePluginInstance_js.js +1 -1
  454. package/plugins_exports_image_dist_browser_ExportImagePlugin_js.js +1 -1
  455. package/plugins_exports_image_dist_browser_index_js.js +2 -2
  456. package/plugins_exports_json_dist_browser_ExportJSONPluginInstance_js.js +1 -1
  457. package/plugins_exports_json_dist_browser_ExportJSONPlugin_js.js +1 -1
  458. package/plugins_exports_json_dist_browser_index_js.js +2 -2
  459. package/plugins_exports_video_dist_browser_ExportVideoPluginInstance_js.js +1 -1
  460. package/plugins_exports_video_dist_browser_ExportVideoPlugin_js.js +1 -1
  461. package/plugins_exports_video_dist_browser_index_js.js +2 -2
  462. package/plugins_infection_dist_browser_InfectionPluginInstance_js.js +1 -1
  463. package/plugins_infection_dist_browser_InfectionPlugin_js.js +1 -1
  464. package/plugins_infection_dist_browser_ParticlesInfecter_js.js +2 -2
  465. package/plugins_infection_dist_browser_index_js.js +2 -2
  466. package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +1 -1
  467. package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +1 -1
  468. package/plugins_interactivity_dist_browser_index_js.js +2 -2
  469. package/plugins_manualParticles_dist_browser_ManualParticlesPluginInstance_js.js +1 -1
  470. package/plugins_manualParticles_dist_browser_ManualParticlesPlugin_js.js +1 -1
  471. package/plugins_manualParticles_dist_browser_index_js.js +2 -2
  472. package/plugins_motion_dist_browser_MotionPluginInstance_js.js +1 -1
  473. package/plugins_motion_dist_browser_MotionPlugin_js.js +1 -1
  474. package/plugins_motion_dist_browser_index_js.js +2 -2
  475. package/plugins_move_dist_browser_MovePluginInstance_js.js +1 -1
  476. package/plugins_move_dist_browser_MovePlugin_js.js +1 -1
  477. package/plugins_move_dist_browser_index_js.js +2 -2
  478. package/plugins_poisson_dist_browser_PoissonDiscPluginInstance_js.js +1 -1
  479. package/plugins_poisson_dist_browser_PoissonDiscPlugin_js.js +1 -1
  480. package/plugins_poisson_dist_browser_PoissonDisc_js.js +1 -1
  481. package/plugins_poisson_dist_browser_index_js.js +2 -2
  482. package/plugins_polygonMask_dist_browser_PolygonMaskInstance_js.js +1 -1
  483. package/plugins_polygonMask_dist_browser_PolygonMaskPlugin_js.js +1 -1
  484. package/plugins_polygonMask_dist_browser_index_js.js +2 -2
  485. package/plugins_responsive_dist_browser_ResponsivePluginInstance_js.js +1 -1
  486. package/plugins_responsive_dist_browser_ResponsivePlugin_js.js +3 -3
  487. package/plugins_responsive_dist_browser_index_js.js +2 -2
  488. package/plugins_sounds_dist_browser_SoundsPluginInstance_js.js +1 -1
  489. package/plugins_sounds_dist_browser_SoundsPlugin_js.js +1 -1
  490. package/plugins_sounds_dist_browser_index_js.js +2 -2
  491. package/plugins_themes_dist_browser_ThemesPluginInstance_js.js +1 -1
  492. package/plugins_themes_dist_browser_ThemesPlugin_js.js +1 -1
  493. package/plugins_themes_dist_browser_index_js.js +2 -2
  494. package/plugins_trail_dist_browser_TrailPluginInstance_js.js +1 -1
  495. package/plugins_trail_dist_browser_TrailPlugin_js.js +1 -1
  496. package/plugins_trail_dist_browser_index_js.js +2 -2
  497. package/plugins_zoom_dist_browser_ZoomPluginInstance_js.js +1 -1
  498. package/plugins_zoom_dist_browser_ZoomPlugin_js.js +1 -1
  499. package/plugins_zoom_dist_browser_index_js.js +2 -2
  500. package/report.html +1 -1
  501. package/shapes_arrow_dist_browser_ArrowDrawer_js.js +1 -1
  502. package/shapes_arrow_dist_browser_index_js.js +2 -2
  503. package/shapes_cards_dist_browser_cards_CardDrawer_js.js +1 -1
  504. package/shapes_cards_dist_browser_clubs_ClubDrawer_js.js +1 -1
  505. package/shapes_cards_dist_browser_diamonds_DiamondDrawer_js.js +1 -1
  506. package/shapes_cards_dist_browser_hearts_HeartDrawer_js.js +1 -1
  507. package/shapes_cards_dist_browser_index_js.js +7 -7
  508. package/shapes_cards_dist_browser_paths_js.js +1 -1
  509. package/shapes_cards_dist_browser_spades_SpadeDrawer_js.js +1 -1
  510. package/shapes_circle_dist_browser_CircleDrawer_js.js +1 -1
  511. package/shapes_circle_dist_browser_index_js.js +2 -2
  512. package/shapes_cog_dist_browser_CogDrawer_js.js +1 -1
  513. package/shapes_cog_dist_browser_index_js.js +2 -2
  514. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +1 -1
  515. package/shapes_emoji_dist_browser_index_js.js +2 -2
  516. package/shapes_heart_dist_browser_HeartDrawer_js.js +1 -1
  517. package/shapes_heart_dist_browser_index_js.js +2 -2
  518. package/shapes_image_dist_browser_GifUtils_Utils_js.js +3 -3
  519. package/shapes_image_dist_browser_ImageDrawer_js.js +2 -2
  520. package/shapes_image_dist_browser_ImagePreloaderInstance_js.js +1 -1
  521. package/shapes_image_dist_browser_ImagePreloader_js.js +1 -1
  522. package/shapes_image_dist_browser_index_js.js +2 -2
  523. package/shapes_infinity_dist_browser_InfinityDrawer_js.js +1 -1
  524. package/shapes_infinity_dist_browser_index_js.js +2 -2
  525. package/shapes_line_dist_browser_LineDrawer_js.js +1 -1
  526. package/shapes_line_dist_browser_index_js.js +2 -2
  527. package/shapes_matrix_dist_browser_MatrixDrawer_js.js +40 -0
  528. package/{updaters_color_dist_browser_index_js.js → shapes_matrix_dist_browser_index_js.js} +7 -7
  529. package/shapes_path_dist_browser_PathDrawer_js.js +1 -1
  530. package/shapes_path_dist_browser_index_js.js +2 -2
  531. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +1 -1
  532. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +1 -1
  533. package/shapes_polygon_dist_browser_index_js.js +2 -2
  534. package/shapes_rounded-polygon_dist_browser_RoundedPolygonDrawer_js.js +1 -1
  535. package/shapes_rounded-polygon_dist_browser_index_js.js +2 -2
  536. package/shapes_rounded-rect_dist_browser_RoundedRectDrawer_js.js +1 -1
  537. package/shapes_rounded-rect_dist_browser_index_js.js +2 -2
  538. package/shapes_spiral_dist_browser_SpiralDrawer_js.js +1 -1
  539. package/shapes_spiral_dist_browser_index_js.js +2 -2
  540. package/shapes_square_dist_browser_SquareDrawer_js.js +1 -1
  541. package/shapes_square_dist_browser_index_js.js +2 -2
  542. package/shapes_squircle_dist_browser_SquircleDrawer_js.js +40 -0
  543. package/shapes_squircle_dist_browser_index_js.js +30 -0
  544. package/shapes_star_dist_browser_StarDrawer_js.js +1 -1
  545. package/shapes_star_dist_browser_index_js.js +2 -2
  546. package/shapes_text_dist_browser_TextDrawer_js.js +1 -1
  547. package/shapes_text_dist_browser_index_js.js +2 -2
  548. package/slim_dist_browser_index_js.js +2 -2
  549. package/tsparticles.all.bundle.js +32 -22
  550. package/tsparticles.all.bundle.min.js +2 -2
  551. package/tsparticles.all.js +32 -12
  552. package/tsparticles.all.min.js +1 -1
  553. package/umd/index.js +40 -32
  554. package/updaters_destroy_dist_browser_DestroyUpdater_js.js +3 -3
  555. package/updaters_destroy_dist_browser_index_js.js +2 -2
  556. package/updaters_fillColor_dist_browser_FillColorUpdater_js.js +30 -0
  557. package/updaters_fillColor_dist_browser_index_js.js +30 -0
  558. package/updaters_gradient_dist_browser_GradientUpdater_js.js +1 -1
  559. package/updaters_gradient_dist_browser_index_js.js +2 -2
  560. package/updaters_life_dist_browser_LifeUpdater_js.js +1 -1
  561. package/updaters_life_dist_browser_index_js.js +2 -2
  562. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +1 -1
  563. package/updaters_opacity_dist_browser_index_js.js +2 -2
  564. package/updaters_orbit_dist_browser_OrbitUpdater_js.js +1 -1
  565. package/updaters_orbit_dist_browser_index_js.js +2 -2
  566. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +1 -1
  567. package/updaters_outModes_dist_browser_index_js.js +2 -2
  568. package/updaters_roll_dist_browser_RollUpdater_js.js +1 -1
  569. package/updaters_roll_dist_browser_index_js.js +2 -2
  570. package/updaters_rotate_dist_browser_RotateUpdater_js.js +1 -1
  571. package/updaters_rotate_dist_browser_index_js.js +2 -2
  572. package/updaters_size_dist_browser_SizeUpdater_js.js +1 -1
  573. package/updaters_size_dist_browser_index_js.js +2 -2
  574. package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +1 -1
  575. package/updaters_strokeColor_dist_browser_index_js.js +2 -2
  576. package/updaters_tilt_dist_browser_TiltUpdater_js.js +1 -1
  577. package/updaters_tilt_dist_browser_index_js.js +2 -2
  578. package/updaters_twinkle_dist_browser_TwinkleUpdater_js.js +18 -8
  579. package/updaters_twinkle_dist_browser_index_js.js +2 -2
  580. package/updaters_wobble_dist_browser_WobbleUpdater_js.js +2 -2
  581. package/updaters_wobble_dist_browser_index_js.js +2 -2
  582. package/utils_simplexNoise_dist_browser_index_js.js +1 -1
  583. package/1032.min.js +0 -1
  584. package/1036.min.js +0 -1
  585. package/1078.min.js +0 -1
  586. package/1118.min.js +0 -1
  587. package/1119.min.js +0 -1
  588. package/1262.min.js +0 -1
  589. package/1266.min.js +0 -1
  590. package/1278.min.js +0 -1
  591. package/1324.min.js +0 -1
  592. package/1357.min.js +0 -1
  593. package/1379.min.js +0 -1
  594. package/1386.min.js +0 -1
  595. package/1423.min.js +0 -1
  596. package/1449.min.js +0 -1
  597. package/1586.min.js +0 -1
  598. package/1587.min.js +0 -1
  599. package/162.min.js +0 -1
  600. package/1668.min.js +0 -1
  601. package/1681.min.js +0 -1
  602. package/1730.min.js +0 -1
  603. package/1951.min.js +0 -1
  604. package/1954.min.js +0 -1
  605. package/1966.min.js +0 -1
  606. package/1971.min.js +0 -1
  607. package/2051.min.js +0 -1
  608. package/2074.min.js +0 -1
  609. package/2132.min.js +0 -1
  610. package/2174.min.js +0 -1
  611. package/2183.min.js +0 -1
  612. package/2309.min.js +0 -1
  613. package/2338.min.js +0 -1
  614. package/2416.min.js +0 -1
  615. package/2461.min.js +0 -1
  616. package/2494.min.js +0 -1
  617. package/2598.min.js +0 -1
  618. package/2601.min.js +0 -1
  619. package/2619.min.js +0 -1
  620. package/2644.min.js +0 -1
  621. package/2678.min.js +0 -1
  622. package/2714.min.js +0 -1
  623. package/2810.min.js +0 -1
  624. package/2857.min.js +0 -1
  625. package/2869.min.js +0 -1
  626. package/2959.min.js +0 -1
  627. package/296.min.js +0 -1
  628. package/3021.min.js +0 -1
  629. package/3032.min.js +0 -1
  630. package/3056.min.js +0 -1
  631. package/3066.min.js +0 -1
  632. package/3101.min.js +0 -1
  633. package/316.min.js +0 -1
  634. package/319.min.js +0 -1
  635. package/3225.min.js +0 -1
  636. package/3286.min.js +0 -1
  637. package/3287.min.js +0 -1
  638. package/3326.min.js +0 -1
  639. package/3336.min.js +0 -1
  640. package/3344.min.js +0 -1
  641. package/3356.min.js +0 -1
  642. package/3362.min.js +0 -1
  643. package/3380.min.js +0 -1
  644. package/3424.min.js +0 -1
  645. package/3425.min.js +0 -1
  646. package/3533.min.js +0 -1
  647. package/3551.min.js +0 -1
  648. package/3574.min.js +0 -1
  649. package/3584.min.js +0 -1
  650. package/3611.min.js +0 -1
  651. package/3727.min.js +0 -1
  652. package/3872.min.js +0 -1
  653. package/3947.min.js +0 -1
  654. package/404.min.js +0 -1
  655. package/4077.min.js +0 -1
  656. package/411.min.js +0 -1
  657. package/4121.min.js +0 -1
  658. package/4159.min.js +0 -1
  659. package/4176.min.js +0 -1
  660. package/4216.min.js +0 -1
  661. package/4359.min.js +0 -1
  662. package/4383.min.js +0 -1
  663. package/4384.min.js +0 -1
  664. package/4441.min.js +0 -1
  665. package/4443.min.js +0 -1
  666. package/4472.min.js +0 -1
  667. package/4557.min.js +0 -1
  668. package/456.min.js +0 -1
  669. package/4625.min.js +0 -1
  670. package/4677.min.js +0 -1
  671. package/47.min.js +0 -1
  672. package/4860.min.js +0 -1
  673. package/492.min.js +0 -1
  674. package/4927.min.js +0 -1
  675. package/5101.min.js +0 -1
  676. package/5111.min.js +0 -1
  677. package/5124.min.js +0 -1
  678. package/5145.min.js +0 -1
  679. package/5163.min.js +0 -1
  680. package/5204.min.js +0 -1
  681. package/5218.min.js +0 -1
  682. package/5256.min.js +0 -1
  683. package/5264.min.js +0 -1
  684. package/5349.min.js +0 -1
  685. package/552.min.js +0 -1
  686. package/5556.min.js +0 -1
  687. package/5590.min.js +0 -1
  688. package/5782.min.js +0 -1
  689. package/5822.min.js +0 -1
  690. package/5852.min.js +0 -1
  691. package/5932.min.js +0 -1
  692. package/5950.min.js +0 -1
  693. package/6003.min.js +0 -1
  694. package/6004.min.js +0 -1
  695. package/6015.min.js +0 -1
  696. package/61.min.js +0 -1
  697. package/6114.min.js +0 -1
  698. package/6137.min.js +0 -1
  699. package/6176.min.js +0 -1
  700. package/6303.min.js +0 -1
  701. package/632.min.js +0 -1
  702. package/6328.min.js +0 -1
  703. package/6340.min.js +0 -1
  704. package/6344.min.js +0 -1
  705. package/6347.min.js +0 -1
  706. package/639.min.js +0 -1
  707. package/6447.min.js +0 -1
  708. package/645.min.js +0 -1
  709. package/6466.min.js +0 -1
  710. package/6484.min.js +0 -1
  711. package/649.min.js +0 -1
  712. package/651.min.js +0 -1
  713. package/6523.min.js +0 -1
  714. package/658.min.js +0 -1
  715. package/6630.min.js +0 -1
  716. package/666.min.js +0 -1
  717. package/6719.min.js +0 -1
  718. package/6747.min.js +0 -1
  719. package/6763.min.js +0 -1
  720. package/686.min.js +0 -1
  721. package/6861.min.js +0 -1
  722. package/6921.min.js +0 -1
  723. package/6960.min.js +0 -1
  724. package/7034.min.js +0 -1
  725. package/704.min.js +0 -1
  726. package/7042.min.js +0 -1
  727. package/7171.min.js +0 -1
  728. package/7213.min.js +0 -1
  729. package/7245.min.js +0 -1
  730. package/7249.min.js +0 -1
  731. package/7411.min.js +0 -1
  732. package/7417.min.js +0 -1
  733. package/7423.min.js +0 -1
  734. package/7458.min.js +0 -1
  735. package/7466.min.js +0 -1
  736. package/7473.min.js +0 -1
  737. package/7643.min.js +0 -1
  738. package/7665.min.js +0 -1
  739. package/7676.min.js +0 -1
  740. package/7839.min.js +0 -1
  741. package/7907.min.js +0 -1
  742. package/7962.min.js +0 -1
  743. package/8081.min.js +0 -1
  744. package/8084.min.js +0 -1
  745. package/8137.min.js +0 -1
  746. package/8238.min.js +0 -1
  747. package/8255.min.js +0 -1
  748. package/8258.min.js +0 -1
  749. package/8369.min.js +0 -1
  750. package/8379.min.js +0 -1
  751. package/8404.min.js +0 -1
  752. package/8405.min.js +0 -1
  753. package/8409.min.js +0 -1
  754. package/8586.min.js +0 -1
  755. package/8692.min.js +0 -1
  756. package/870.min.js +0 -1
  757. package/8842.min.js +0 -1
  758. package/8864.min.js +0 -1
  759. package/8879.min.js +0 -1
  760. package/8917.min.js +0 -1
  761. package/8946.min.js +0 -1
  762. package/9023.min.js +0 -1
  763. package/9066.min.js +0 -1
  764. package/9076.min.js +0 -1
  765. package/9163.min.js +0 -1
  766. package/9184.min.js +0 -1
  767. package/9187.min.js +0 -1
  768. package/9204.min.js +0 -1
  769. package/9283.min.js +0 -1
  770. package/9292.min.js +0 -1
  771. package/9337.min.js +0 -1
  772. package/9395.min.js +0 -1
  773. package/9484.min.js +0 -1
  774. package/9558.min.js +0 -1
  775. package/9661.min.js +0 -1
  776. package/9717.min.js +0 -1
  777. package/975.min.js +0 -1
  778. package/9754.min.js +0 -1
  779. package/9763.min.js +0 -1
  780. package/9801.min.js +0 -1
  781. package/9862.min.js +0 -1
  782. package/9936.min.js +0 -1
  783. package/995.min.js +0 -1
  784. package/updaters_color_dist_browser_ColorUpdater_js.js +0 -30
@@ -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.26
7
+ * v4.0.0-alpha.28
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 */ loadEasingSigmoidPlugin: () => (/* binding */ loadEasingSigmoidPlugin)\n/* harmony export */ });\nasync function loadEasingSigmoidPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const { easingsFunctions } = await __webpack_require__.e(/*! import() */ \"plugins_easings_sigmoid_dist_browser_easingsFunctions_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./easingsFunctions.js */ \"../../plugins/easings/sigmoid/dist/browser/easingsFunctions.js\"));\n for (const [easing, easingFn] of easingsFunctions){\n e.addEasing(easing, easingFn);\n }\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/easings/sigmoid/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEasingSigmoidPlugin: () => (/* binding */ loadEasingSigmoidPlugin)\n/* harmony export */ });\nasync function loadEasingSigmoidPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const { easingsFunctions } = await __webpack_require__.e(/*! import() */ \"plugins_easings_sigmoid_dist_browser_easingsFunctions_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./easingsFunctions.js */ \"../../plugins/easings/sigmoid/dist/browser/easingsFunctions.js\"));\n for (const [easing, easingFn] of easingsFunctions){\n e.addEasing(easing, easingFn);\n }\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/easings/sigmoid/dist/browser/index.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.26
7
+ * v4.0.0-alpha.28
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-alpha.26
7
+ * v4.0.0-alpha.28
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 */ loadEasingSinePlugin: () => (/* binding */ loadEasingSinePlugin)\n/* harmony export */ });\nasync function loadEasingSinePlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const { easingsFunctions } = await __webpack_require__.e(/*! import() */ \"plugins_easings_sine_dist_browser_easingsFunctions_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./easingsFunctions.js */ \"../../plugins/easings/sine/dist/browser/easingsFunctions.js\"));\n for (const [easing, easingFn] of easingsFunctions){\n e.addEasing(easing, easingFn);\n }\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/easings/sine/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEasingSinePlugin: () => (/* binding */ loadEasingSinePlugin)\n/* harmony export */ });\nasync function loadEasingSinePlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const { easingsFunctions } = await __webpack_require__.e(/*! import() */ \"plugins_easings_sine_dist_browser_easingsFunctions_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./easingsFunctions.js */ \"../../plugins/easings/sine/dist/browser/easingsFunctions.js\"));\n for (const [easing, easingFn] of easingsFunctions){\n e.addEasing(easing, easingFn);\n }\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/easings/sine/dist/browser/index.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.26
7
+ * v4.0.0-alpha.28
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-alpha.26
7
+ * v4.0.0-alpha.28
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 */ loadEasingSmoothstepPlugin: () => (/* binding */ loadEasingSmoothstepPlugin)\n/* harmony export */ });\nasync function loadEasingSmoothstepPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const { easingsFunctions } = await __webpack_require__.e(/*! import() */ \"plugins_easings_smoothstep_dist_browser_easingsFunctions_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./easingsFunctions.js */ \"../../plugins/easings/smoothstep/dist/browser/easingsFunctions.js\"));\n for (const [easing, easingFn] of easingsFunctions){\n e.addEasing(easing, easingFn);\n }\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/easings/smoothstep/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEasingSmoothstepPlugin: () => (/* binding */ loadEasingSmoothstepPlugin)\n/* harmony export */ });\nasync function loadEasingSmoothstepPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const { easingsFunctions } = await __webpack_require__.e(/*! import() */ \"plugins_easings_smoothstep_dist_browser_easingsFunctions_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./easingsFunctions.js */ \"../../plugins/easings/smoothstep/dist/browser/easingsFunctions.js\"));\n for (const [easing, easingFn] of easingsFunctions){\n e.addEasing(easing, easingFn);\n }\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/easings/smoothstep/dist/browser/index.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.26
7
+ * v4.0.0-alpha.28
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -43,7 +43,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
43
43
  \****************************************************/
44
44
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
45
 
46
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterClickMode: () => (/* reexport safe */ _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase),\n/* harmony export */ ensureEmittersPluginLoaded: () => (/* binding */ ensureEmittersPluginLoaded),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"../../plugins/emitters/dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\nasync function loadEmittersPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { ShapeManager }, { EmittersInstancesManager }, { EmittersPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_ShapeManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ShapeManager.js */ \"../../plugins/emitters/dist/browser/ShapeManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInstancesManager.js */ \"../../plugins/emitters/dist/browser/EmittersInstancesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPlugin.js */ \"../../plugins/emitters/dist/browser/EmittersPlugin.js\"))\n ]), instancesManager = new EmittersInstancesManager(e);\n ensureInteractivityPluginLoaded(e);\n e.emitterShapeManager ??= new ShapeManager();\n e.addEmitterShapeGenerator ??= (name, generator)=>{\n e.emitterShapeManager?.addShapeGenerator(name, generator);\n };\n e.addPlugin(new EmittersPlugin(instancesManager));\n e.addInteractor?.(\"externalEmitters\", async (container)=>{\n const { EmittersInteractor } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInteractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInteractor.js */ \"../../plugins/emitters/dist/browser/EmittersInteractor.js\"));\n return new EmittersInteractor(instancesManager, container);\n });\n });\n}\nfunction ensureEmittersPluginLoaded(e) {\n if (!e.addEmitterShapeGenerator) {\n throw new Error(\"tsParticles Emitters Plugin is not loaded\");\n }\n}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/index.js?\n}");
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterClickMode: () => (/* reexport safe */ _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase),\n/* harmony export */ ensureEmittersPluginLoaded: () => (/* binding */ ensureEmittersPluginLoaded),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"../../plugins/emitters/dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\nasync function loadEmittersPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { ShapeManager }, { EmittersInstancesManager }, { EmittersPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_ShapeManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ShapeManager.js */ \"../../plugins/emitters/dist/browser/ShapeManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInstancesManager.js */ \"../../plugins/emitters/dist/browser/EmittersInstancesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPlugin.js */ \"../../plugins/emitters/dist/browser/EmittersPlugin.js\"))\n ]), instancesManager = new EmittersInstancesManager(e);\n ensureInteractivityPluginLoaded(e);\n e.emitterShapeManager ??= new ShapeManager();\n e.addEmitterShapeGenerator ??= (name, generator)=>{\n e.emitterShapeManager?.addShapeGenerator(name, generator);\n };\n e.addPlugin(new EmittersPlugin(instancesManager));\n e.addInteractor?.(\"externalEmitters\", async (container)=>{\n const { EmittersInteractor } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInteractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInteractor.js */ \"../../plugins/emitters/dist/browser/EmittersInteractor.js\"));\n return new EmittersInteractor(instancesManager, container);\n });\n });\n}\nfunction ensureEmittersPluginLoaded(e) {\n if (!e.addEmitterShapeGenerator) {\n throw new Error(\"tsParticles Emitters Plugin is not loaded\");\n }\n}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/index.js?\n}");
47
47
 
48
48
  /***/ },
49
49
 
@@ -53,7 +53,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
53
53
  \*******************************************************************************/
54
54
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
55
55
 
56
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmittersCanvasShape: () => (/* binding */ EmittersCanvasShape)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_canvas_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tsparticles/canvas-utils */ \"../../utils/canvasUtils/dist/browser/index.js\");\n\n\n\nconst maxRetries = 100;\nclass EmittersCanvasShape extends _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_1__.EmitterShapeBase {\n filter;\n pixelData;\n scale;\n _container;\n constructor(container, position, size, fill, options){\n super(position, size, fill, options);\n this._container = container;\n const filter = options.filter, minAlpha = 0;\n let filterFunc = (pixel)=>pixel.a > minAlpha;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isString)(filter)) {\n if (Object.hasOwn(globalThis, filter)) {\n const wndFilter = globalThis[filter];\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isFunction)(wndFilter)) {\n filterFunc = wndFilter;\n }\n }\n } else {\n filterFunc = filter;\n }\n this.filter = filterFunc;\n this.scale = options.scale;\n this.pixelData = {\n pixels: [],\n height: 0,\n width: 0\n };\n }\n async init() {\n let pixelData;\n const options = this.options, selector = options.selector, pixels = options.pixels, image = options.image, element = options.element, text = options.text, offset = pixels.offset;\n if (image) {\n const url = image.src;\n if (!url) {\n return;\n }\n pixelData = await (0,_tsparticles_canvas_utils__WEBPACK_IMPORTED_MODULE_2__.getImageData)(url, offset, this._container.canvas.settings);\n } else if (element ?? selector) {\n const canvas = element ?? (selector && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().querySelector(selector));\n if (!canvas) {\n return;\n }\n const context = canvas.getContext(\"2d\", this._container.canvas.settings);\n if (!context) {\n return;\n }\n pixelData = (0,_tsparticles_canvas_utils__WEBPACK_IMPORTED_MODULE_2__.getCanvasImageData)(context, canvas, offset);\n } else {\n const data = (0,_tsparticles_canvas_utils__WEBPACK_IMPORTED_MODULE_2__.getTextData)(text, offset, this.fill, this._container.canvas.settings);\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n pixelData = data;\n }\n this.pixelData = pixelData;\n }\n randomPosition() {\n const { height, width } = this.pixelData, data = this.pixelData, position = this.position, scale = this.scale, positionOffset = {\n x: position.x - width * scale * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half,\n y: position.y - height * scale * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half\n };\n for(let i = 0; i < maxRetries; i++){\n const nextIndex = Math.floor((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * width * height), pixelPos = {\n x: nextIndex % width,\n y: Math.floor(nextIndex / width)\n }, row = data.pixels[pixelPos.y];\n if (!row) {\n continue;\n }\n const pixel = row[pixelPos.x];\n if (!pixel) {\n continue;\n }\n const shouldCreateParticle = this.filter(pixel);\n if (!shouldCreateParticle) {\n continue;\n }\n return {\n position: {\n x: pixelPos.x * scale + positionOffset.x,\n y: pixelPos.y * scale + positionOffset.y\n },\n color: {\n ...pixel\n },\n opacity: pixel.a\n };\n }\n return null;\n }\n resize(position, size) {\n super.resize(position, size);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/canvas/dist/browser/EmittersCanvasShape.js?\n}");
56
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmittersCanvasShape: () => (/* binding */ EmittersCanvasShape)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_canvas_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tsparticles/canvas-utils */ \"../../utils/canvasUtils/dist/browser/index.js\");\n\n\n\nconst maxRetries = 100;\nclass EmittersCanvasShape extends _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_1__.EmitterShapeBase {\n filter;\n pixelData;\n scale;\n _container;\n constructor(container, position, size, fill, options){\n super(position, size, fill, options);\n this._container = container;\n const filter = options.filter, minAlpha = 0;\n let filterFunc = (pixel)=>pixel.a > minAlpha;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isString)(filter)) {\n if (filter in globalThis) {\n const wndFilter = globalThis[filter];\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isFunction)(wndFilter)) {\n filterFunc = wndFilter;\n }\n }\n } else {\n filterFunc = filter;\n }\n this.filter = filterFunc;\n this.scale = options.scale;\n this.pixelData = {\n pixels: [],\n height: 0,\n width: 0\n };\n }\n async init() {\n let pixelData;\n const options = this.options, selector = options.selector, pixels = options.pixels, image = options.image, element = options.element, text = options.text, offset = pixels.offset;\n if (image) {\n const url = image.src;\n if (!url) {\n return;\n }\n pixelData = await (0,_tsparticles_canvas_utils__WEBPACK_IMPORTED_MODULE_2__.getImageData)(url, offset, this._container.canvas.settings);\n } else if (element ?? selector) {\n const canvas = element ?? (selector && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().querySelector(selector));\n if (!canvas) {\n return;\n }\n const context = canvas.getContext(\"2d\", this._container.canvas.settings);\n if (!context) {\n return;\n }\n pixelData = (0,_tsparticles_canvas_utils__WEBPACK_IMPORTED_MODULE_2__.getCanvasImageData)(context, canvas, offset);\n } else {\n const data = (0,_tsparticles_canvas_utils__WEBPACK_IMPORTED_MODULE_2__.getTextData)(text, offset, this.fill, this._container.canvas.settings);\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n pixelData = data;\n }\n this.pixelData = pixelData;\n }\n randomPosition() {\n const { height, width } = this.pixelData, data = this.pixelData, position = this.position, scale = this.scale, positionOffset = {\n x: position.x - width * scale * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half,\n y: position.y - height * scale * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half\n };\n for(let i = 0; i < maxRetries; i++){\n const nextIndex = Math.floor((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * width * height), pixelPos = {\n x: nextIndex % width,\n y: Math.floor(nextIndex / width)\n }, row = data.pixels[pixelPos.y];\n if (!row) {\n continue;\n }\n const pixel = row[pixelPos.x];\n if (!pixel) {\n continue;\n }\n const shouldCreateParticle = this.filter(pixel);\n if (!shouldCreateParticle) {\n continue;\n }\n return {\n position: {\n x: pixelPos.x * scale + positionOffset.x,\n y: pixelPos.y * scale + positionOffset.y\n },\n color: {\n ...pixel\n },\n opacity: pixel.a\n };\n }\n return null;\n }\n resize(position, size) {\n super.resize(position, size);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/canvas/dist/browser/EmittersCanvasShape.js?\n}");
57
57
 
58
58
  /***/ },
59
59
 
@@ -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.26
7
+ * v4.0.0-alpha.28
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 */ loadEmittersShapeCanvas: () => (/* binding */ loadEmittersShapeCanvas)\n/* harmony export */ });\nasync function loadEmittersShapeCanvas(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const { ensureEmittersPluginLoaded } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\"));\n ensureEmittersPluginLoaded(e);\n const { EmittersCanvasShapeGenerator } = await __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_canvas_dist_browser_EmittersCanvasShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersCanvasShapeGenerator.js */ \"../../plugins/emittersShapes/canvas/dist/browser/EmittersCanvasShapeGenerator.js\"));\n e.addEmitterShapeGenerator?.(\"canvas\", new EmittersCanvasShapeGenerator());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/canvas/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEmittersShapeCanvas: () => (/* binding */ loadEmittersShapeCanvas)\n/* harmony export */ });\nasync function loadEmittersShapeCanvas(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const { ensureEmittersPluginLoaded } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\"));\n ensureEmittersPluginLoaded(e);\n const { EmittersCanvasShapeGenerator } = await __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_canvas_dist_browser_EmittersCanvasShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersCanvasShapeGenerator.js */ \"../../plugins/emittersShapes/canvas/dist/browser/EmittersCanvasShapeGenerator.js\"));\n e.addEmitterShapeGenerator?.(\"canvas\", new EmittersCanvasShapeGenerator());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/canvas/dist/browser/index.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.26
7
+ * v4.0.0-alpha.28
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -43,7 +43,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
43
43
  \****************************************************/
44
44
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
45
 
46
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterClickMode: () => (/* reexport safe */ _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase),\n/* harmony export */ ensureEmittersPluginLoaded: () => (/* binding */ ensureEmittersPluginLoaded),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"../../plugins/emitters/dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\nasync function loadEmittersPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { ShapeManager }, { EmittersInstancesManager }, { EmittersPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_ShapeManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ShapeManager.js */ \"../../plugins/emitters/dist/browser/ShapeManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInstancesManager.js */ \"../../plugins/emitters/dist/browser/EmittersInstancesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPlugin.js */ \"../../plugins/emitters/dist/browser/EmittersPlugin.js\"))\n ]), instancesManager = new EmittersInstancesManager(e);\n ensureInteractivityPluginLoaded(e);\n e.emitterShapeManager ??= new ShapeManager();\n e.addEmitterShapeGenerator ??= (name, generator)=>{\n e.emitterShapeManager?.addShapeGenerator(name, generator);\n };\n e.addPlugin(new EmittersPlugin(instancesManager));\n e.addInteractor?.(\"externalEmitters\", async (container)=>{\n const { EmittersInteractor } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInteractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInteractor.js */ \"../../plugins/emitters/dist/browser/EmittersInteractor.js\"));\n return new EmittersInteractor(instancesManager, container);\n });\n });\n}\nfunction ensureEmittersPluginLoaded(e) {\n if (!e.addEmitterShapeGenerator) {\n throw new Error(\"tsParticles Emitters Plugin is not loaded\");\n }\n}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/index.js?\n}");
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterClickMode: () => (/* reexport safe */ _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase),\n/* harmony export */ ensureEmittersPluginLoaded: () => (/* binding */ ensureEmittersPluginLoaded),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"../../plugins/emitters/dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\nasync function loadEmittersPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { ShapeManager }, { EmittersInstancesManager }, { EmittersPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_ShapeManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ShapeManager.js */ \"../../plugins/emitters/dist/browser/ShapeManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInstancesManager.js */ \"../../plugins/emitters/dist/browser/EmittersInstancesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPlugin.js */ \"../../plugins/emitters/dist/browser/EmittersPlugin.js\"))\n ]), instancesManager = new EmittersInstancesManager(e);\n ensureInteractivityPluginLoaded(e);\n e.emitterShapeManager ??= new ShapeManager();\n e.addEmitterShapeGenerator ??= (name, generator)=>{\n e.emitterShapeManager?.addShapeGenerator(name, generator);\n };\n e.addPlugin(new EmittersPlugin(instancesManager));\n e.addInteractor?.(\"externalEmitters\", async (container)=>{\n const { EmittersInteractor } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInteractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInteractor.js */ \"../../plugins/emitters/dist/browser/EmittersInteractor.js\"));\n return new EmittersInteractor(instancesManager, container);\n });\n });\n}\nfunction ensureEmittersPluginLoaded(e) {\n if (!e.addEmitterShapeGenerator) {\n throw new Error(\"tsParticles Emitters Plugin is not loaded\");\n }\n}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/index.js?\n}");
47
47
 
48
48
  /***/ },
49
49
 
@@ -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.26
7
+ * v4.0.0-alpha.28
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 */ loadEmittersShapeCircle: () => (/* binding */ loadEmittersShapeCircle)\n/* harmony export */ });\nasync function loadEmittersShapeCircle(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const { ensureEmittersPluginLoaded } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\"));\n ensureEmittersPluginLoaded(e);\n const { EmittersCircleShapeGenerator } = await __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersCircleShapeGenerator.js */ \"../../plugins/emittersShapes/circle/dist/browser/EmittersCircleShapeGenerator.js\"));\n e.addEmitterShapeGenerator?.(\"circle\", new EmittersCircleShapeGenerator());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/circle/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEmittersShapeCircle: () => (/* binding */ loadEmittersShapeCircle)\n/* harmony export */ });\nasync function loadEmittersShapeCircle(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const { ensureEmittersPluginLoaded } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\"));\n ensureEmittersPluginLoaded(e);\n const { EmittersCircleShapeGenerator } = await __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersCircleShapeGenerator.js */ \"../../plugins/emittersShapes/circle/dist/browser/EmittersCircleShapeGenerator.js\"));\n e.addEmitterShapeGenerator?.(\"circle\", new EmittersCircleShapeGenerator());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/circle/dist/browser/index.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.26
7
+ * v4.0.0-alpha.28
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -43,7 +43,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
43
43
  \****************************************************/
44
44
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
45
 
46
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterClickMode: () => (/* reexport safe */ _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase),\n/* harmony export */ ensureEmittersPluginLoaded: () => (/* binding */ ensureEmittersPluginLoaded),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"../../plugins/emitters/dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\nasync function loadEmittersPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { ShapeManager }, { EmittersInstancesManager }, { EmittersPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_ShapeManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ShapeManager.js */ \"../../plugins/emitters/dist/browser/ShapeManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInstancesManager.js */ \"../../plugins/emitters/dist/browser/EmittersInstancesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPlugin.js */ \"../../plugins/emitters/dist/browser/EmittersPlugin.js\"))\n ]), instancesManager = new EmittersInstancesManager(e);\n ensureInteractivityPluginLoaded(e);\n e.emitterShapeManager ??= new ShapeManager();\n e.addEmitterShapeGenerator ??= (name, generator)=>{\n e.emitterShapeManager?.addShapeGenerator(name, generator);\n };\n e.addPlugin(new EmittersPlugin(instancesManager));\n e.addInteractor?.(\"externalEmitters\", async (container)=>{\n const { EmittersInteractor } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInteractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInteractor.js */ \"../../plugins/emitters/dist/browser/EmittersInteractor.js\"));\n return new EmittersInteractor(instancesManager, container);\n });\n });\n}\nfunction ensureEmittersPluginLoaded(e) {\n if (!e.addEmitterShapeGenerator) {\n throw new Error(\"tsParticles Emitters Plugin is not loaded\");\n }\n}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/index.js?\n}");
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterClickMode: () => (/* reexport safe */ _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase),\n/* harmony export */ ensureEmittersPluginLoaded: () => (/* binding */ ensureEmittersPluginLoaded),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"../../plugins/emitters/dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\nasync function loadEmittersPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { ShapeManager }, { EmittersInstancesManager }, { EmittersPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_ShapeManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ShapeManager.js */ \"../../plugins/emitters/dist/browser/ShapeManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInstancesManager.js */ \"../../plugins/emitters/dist/browser/EmittersInstancesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPlugin.js */ \"../../plugins/emitters/dist/browser/EmittersPlugin.js\"))\n ]), instancesManager = new EmittersInstancesManager(e);\n ensureInteractivityPluginLoaded(e);\n e.emitterShapeManager ??= new ShapeManager();\n e.addEmitterShapeGenerator ??= (name, generator)=>{\n e.emitterShapeManager?.addShapeGenerator(name, generator);\n };\n e.addPlugin(new EmittersPlugin(instancesManager));\n e.addInteractor?.(\"externalEmitters\", async (container)=>{\n const { EmittersInteractor } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInteractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInteractor.js */ \"../../plugins/emitters/dist/browser/EmittersInteractor.js\"));\n return new EmittersInteractor(instancesManager, container);\n });\n });\n}\nfunction ensureEmittersPluginLoaded(e) {\n if (!e.addEmitterShapeGenerator) {\n throw new Error(\"tsParticles Emitters Plugin is not loaded\");\n }\n}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/index.js?\n}");
47
47
 
48
48
  /***/ },
49
49
 
@@ -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.26
7
+ * v4.0.0-alpha.28
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 */ loadEmittersShapePath: () => (/* binding */ loadEmittersShapePath)\n/* harmony export */ });\nasync function loadEmittersShapePath(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const { ensureEmittersPluginLoaded } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\"));\n ensureEmittersPluginLoaded(e);\n const { EmittersPathShapeGenerator } = await __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_path_dist_browser_EmittersPathShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPathShapeGenerator.js */ \"../../plugins/emittersShapes/path/dist/browser/EmittersPathShapeGenerator.js\"));\n e.addEmitterShapeGenerator?.(\"path\", new EmittersPathShapeGenerator());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/path/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEmittersShapePath: () => (/* binding */ loadEmittersShapePath)\n/* harmony export */ });\nasync function loadEmittersShapePath(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const { ensureEmittersPluginLoaded } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\"));\n ensureEmittersPluginLoaded(e);\n const { EmittersPathShapeGenerator } = await __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_path_dist_browser_EmittersPathShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPathShapeGenerator.js */ \"../../plugins/emittersShapes/path/dist/browser/EmittersPathShapeGenerator.js\"));\n e.addEmitterShapeGenerator?.(\"path\", new EmittersPathShapeGenerator());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/path/dist/browser/index.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.26
7
+ * v4.0.0-alpha.28
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -43,7 +43,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
43
43
  \****************************************************/
44
44
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
45
 
46
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterClickMode: () => (/* reexport safe */ _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase),\n/* harmony export */ ensureEmittersPluginLoaded: () => (/* binding */ ensureEmittersPluginLoaded),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"../../plugins/emitters/dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\nasync function loadEmittersPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { ShapeManager }, { EmittersInstancesManager }, { EmittersPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_ShapeManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ShapeManager.js */ \"../../plugins/emitters/dist/browser/ShapeManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInstancesManager.js */ \"../../plugins/emitters/dist/browser/EmittersInstancesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPlugin.js */ \"../../plugins/emitters/dist/browser/EmittersPlugin.js\"))\n ]), instancesManager = new EmittersInstancesManager(e);\n ensureInteractivityPluginLoaded(e);\n e.emitterShapeManager ??= new ShapeManager();\n e.addEmitterShapeGenerator ??= (name, generator)=>{\n e.emitterShapeManager?.addShapeGenerator(name, generator);\n };\n e.addPlugin(new EmittersPlugin(instancesManager));\n e.addInteractor?.(\"externalEmitters\", async (container)=>{\n const { EmittersInteractor } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInteractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInteractor.js */ \"../../plugins/emitters/dist/browser/EmittersInteractor.js\"));\n return new EmittersInteractor(instancesManager, container);\n });\n });\n}\nfunction ensureEmittersPluginLoaded(e) {\n if (!e.addEmitterShapeGenerator) {\n throw new Error(\"tsParticles Emitters Plugin is not loaded\");\n }\n}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/index.js?\n}");
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterClickMode: () => (/* reexport safe */ _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase),\n/* harmony export */ ensureEmittersPluginLoaded: () => (/* binding */ ensureEmittersPluginLoaded),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"../../plugins/emitters/dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\nasync function loadEmittersPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { ShapeManager }, { EmittersInstancesManager }, { EmittersPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_ShapeManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ShapeManager.js */ \"../../plugins/emitters/dist/browser/ShapeManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInstancesManager.js */ \"../../plugins/emitters/dist/browser/EmittersInstancesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPlugin.js */ \"../../plugins/emitters/dist/browser/EmittersPlugin.js\"))\n ]), instancesManager = new EmittersInstancesManager(e);\n ensureInteractivityPluginLoaded(e);\n e.emitterShapeManager ??= new ShapeManager();\n e.addEmitterShapeGenerator ??= (name, generator)=>{\n e.emitterShapeManager?.addShapeGenerator(name, generator);\n };\n e.addPlugin(new EmittersPlugin(instancesManager));\n e.addInteractor?.(\"externalEmitters\", async (container)=>{\n const { EmittersInteractor } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInteractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInteractor.js */ \"../../plugins/emitters/dist/browser/EmittersInteractor.js\"));\n return new EmittersInteractor(instancesManager, container);\n });\n });\n}\nfunction ensureEmittersPluginLoaded(e) {\n if (!e.addEmitterShapeGenerator) {\n throw new Error(\"tsParticles Emitters Plugin is not loaded\");\n }\n}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/index.js?\n}");
47
47
 
48
48
  /***/ },
49
49
 
@@ -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.26
7
+ * v4.0.0-alpha.28
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 */ loadEmittersShapePolygon: () => (/* binding */ loadEmittersShapePolygon)\n/* harmony export */ });\nasync function loadEmittersShapePolygon(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const { ensureEmittersPluginLoaded } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\"));\n ensureEmittersPluginLoaded(e);\n const { EmittersPolygonShapeGenerator } = await __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_polygon_dist_browser_EmittersPolygonShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPolygonShapeGenerator.js */ \"../../plugins/emittersShapes/polygon/dist/browser/EmittersPolygonShapeGenerator.js\"));\n e.addEmitterShapeGenerator?.(\"polygon\", new EmittersPolygonShapeGenerator());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/polygon/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEmittersShapePolygon: () => (/* binding */ loadEmittersShapePolygon)\n/* harmony export */ });\nasync function loadEmittersShapePolygon(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const { ensureEmittersPluginLoaded } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\"));\n ensureEmittersPluginLoaded(e);\n const { EmittersPolygonShapeGenerator } = await __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_polygon_dist_browser_EmittersPolygonShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPolygonShapeGenerator.js */ \"../../plugins/emittersShapes/polygon/dist/browser/EmittersPolygonShapeGenerator.js\"));\n e.addEmitterShapeGenerator?.(\"polygon\", new EmittersPolygonShapeGenerator());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/polygon/dist/browser/index.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.26
7
+ * v4.0.0-alpha.28
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -43,7 +43,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
43
43
  \****************************************************/
44
44
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
45
 
46
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterClickMode: () => (/* reexport safe */ _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase),\n/* harmony export */ ensureEmittersPluginLoaded: () => (/* binding */ ensureEmittersPluginLoaded),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"../../plugins/emitters/dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\nasync function loadEmittersPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { ShapeManager }, { EmittersInstancesManager }, { EmittersPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_ShapeManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ShapeManager.js */ \"../../plugins/emitters/dist/browser/ShapeManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInstancesManager.js */ \"../../plugins/emitters/dist/browser/EmittersInstancesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPlugin.js */ \"../../plugins/emitters/dist/browser/EmittersPlugin.js\"))\n ]), instancesManager = new EmittersInstancesManager(e);\n ensureInteractivityPluginLoaded(e);\n e.emitterShapeManager ??= new ShapeManager();\n e.addEmitterShapeGenerator ??= (name, generator)=>{\n e.emitterShapeManager?.addShapeGenerator(name, generator);\n };\n e.addPlugin(new EmittersPlugin(instancesManager));\n e.addInteractor?.(\"externalEmitters\", async (container)=>{\n const { EmittersInteractor } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInteractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInteractor.js */ \"../../plugins/emitters/dist/browser/EmittersInteractor.js\"));\n return new EmittersInteractor(instancesManager, container);\n });\n });\n}\nfunction ensureEmittersPluginLoaded(e) {\n if (!e.addEmitterShapeGenerator) {\n throw new Error(\"tsParticles Emitters Plugin is not loaded\");\n }\n}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/index.js?\n}");
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterClickMode: () => (/* reexport safe */ _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase),\n/* harmony export */ ensureEmittersPluginLoaded: () => (/* binding */ ensureEmittersPluginLoaded),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"../../plugins/emitters/dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\nasync function loadEmittersPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { ShapeManager }, { EmittersInstancesManager }, { EmittersPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_ShapeManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ShapeManager.js */ \"../../plugins/emitters/dist/browser/ShapeManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInstancesManager.js */ \"../../plugins/emitters/dist/browser/EmittersInstancesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPlugin.js */ \"../../plugins/emitters/dist/browser/EmittersPlugin.js\"))\n ]), instancesManager = new EmittersInstancesManager(e);\n ensureInteractivityPluginLoaded(e);\n e.emitterShapeManager ??= new ShapeManager();\n e.addEmitterShapeGenerator ??= (name, generator)=>{\n e.emitterShapeManager?.addShapeGenerator(name, generator);\n };\n e.addPlugin(new EmittersPlugin(instancesManager));\n e.addInteractor?.(\"externalEmitters\", async (container)=>{\n const { EmittersInteractor } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInteractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInteractor.js */ \"../../plugins/emitters/dist/browser/EmittersInteractor.js\"));\n return new EmittersInteractor(instancesManager, container);\n });\n });\n}\nfunction ensureEmittersPluginLoaded(e) {\n if (!e.addEmitterShapeGenerator) {\n throw new Error(\"tsParticles Emitters Plugin is not loaded\");\n }\n}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/index.js?\n}");
47
47
 
48
48
  /***/ },
49
49
 
@@ -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.26
7
+ * v4.0.0-alpha.28
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 */ loadEmittersShapeSquare: () => (/* binding */ loadEmittersShapeSquare)\n/* harmony export */ });\nasync function loadEmittersShapeSquare(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const { ensureEmittersPluginLoaded } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\"));\n ensureEmittersPluginLoaded(e);\n const { EmittersSquareShapeGenerator } = await __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersSquareShapeGenerator.js */ \"../../plugins/emittersShapes/square/dist/browser/EmittersSquareShapeGenerator.js\"));\n e.addEmitterShapeGenerator?.(\"square\", new EmittersSquareShapeGenerator());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/square/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEmittersShapeSquare: () => (/* binding */ loadEmittersShapeSquare)\n/* harmony export */ });\nasync function loadEmittersShapeSquare(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const { ensureEmittersPluginLoaded } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\"));\n ensureEmittersPluginLoaded(e);\n const { EmittersSquareShapeGenerator } = await __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersSquareShapeGenerator.js */ \"../../plugins/emittersShapes/square/dist/browser/EmittersSquareShapeGenerator.js\"));\n e.addEmitterShapeGenerator?.(\"square\", new EmittersSquareShapeGenerator());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/square/dist/browser/index.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.26
7
+ * v4.0.0-alpha.28
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 */ EmitterInstance: () => (/* binding */ EmitterInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Emitter.js */ \"../../plugins/emitters/dist/browser/Options/Classes/Emitter.js\");\n/* harmony import */ var _Options_Classes_EmitterSize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Options/Classes/EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n\n\n\nconst defaultLifeDelay = 0, minLifeCount = 0, defaultSpawnDelay = 0, defaultEmitDelay = 0, defaultLifeCount = -1, defaultColorAnimationFactor = 1, colorFactor = 3.6;\nfunction setParticlesOptionsColor(particlesOptions, color) {\n if (particlesOptions.color) {\n particlesOptions.color.value = color;\n } else {\n particlesOptions.color = {\n value: color\n };\n }\n}\nclass EmitterInstance {\n container;\n removeCallback;\n fill;\n name;\n options;\n position;\n size;\n spawnColor;\n _currentDuration;\n _currentEmitDelay;\n _currentSpawnDelay;\n _duration;\n _emitDelay;\n _engine;\n _firstSpawn;\n _immortal;\n _initialPosition;\n _lifeCount;\n _mutationObserver;\n _particlesOptions;\n _paused;\n _resizeObserver;\n _shape;\n _size;\n _spawnDelay;\n _startParticlesAdded;\n constructor(engine, container, removeCallback, options, position){\n this.container = container;\n this.removeCallback = removeCallback;\n this._engine = engine;\n this._currentDuration = 0;\n this._currentEmitDelay = 0;\n this._currentSpawnDelay = 0;\n this._initialPosition = position;\n if (options instanceof _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter) {\n this.options = options;\n } else {\n this.options = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter();\n this.options.load(options);\n }\n this._spawnDelay = container.retina.reduceFactor ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity;\n this.position = this._initialPosition ?? this._calcPosition();\n this.name = this.options.name;\n this.fill = this.options.fill;\n this._firstSpawn = !this.options.life.wait;\n this._startParticlesAdded = false;\n const particlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, this.options.particles);\n particlesOptions.move ??= {};\n particlesOptions.move.direction ??= this.options.direction;\n if (this.options.spawnColor) {\n this.spawnColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(this._engine, this.options.spawnColor);\n }\n this._paused = !this.options.autoPlay;\n this._particlesOptions = particlesOptions;\n this._size = this._calcSize();\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getSize)(this._size, this.container.canvas.size);\n this._lifeCount = this.options.life.count ?? defaultLifeCount;\n this._immortal = this._lifeCount <= minLifeCount;\n if (this.options.domId) {\n const element = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().getElementById(this.options.domId);\n if (element) {\n this._mutationObserver = new MutationObserver(()=>{\n this.resize();\n });\n this._resizeObserver = new ResizeObserver(()=>{\n this.resize();\n });\n this._mutationObserver.observe(element, {\n attributes: true,\n attributeFilter: [\n \"style\",\n \"width\",\n \"height\"\n ]\n });\n this._resizeObserver.observe(element);\n }\n }\n const shapeOptions = this.options.shape, shapeGenerator = this._engine.emitterShapeManager?.getShapeGenerator(shapeOptions.type);\n if (shapeGenerator) {\n this._shape = shapeGenerator.generate(this.container, this.position, this.size, this.fill, shapeOptions.options);\n }\n this._engine.dispatchEvent(\"emitterCreated\", {\n container,\n data: {\n emitter: this\n }\n });\n this.play();\n }\n externalPause() {\n this._paused = true;\n this.pause();\n }\n externalPlay() {\n this._paused = false;\n this.play();\n }\n async init() {\n await this._shape?.init();\n }\n pause() {\n if (this._paused) {\n return;\n }\n delete this._emitDelay;\n }\n play() {\n if (this._paused) {\n return;\n }\n if (!((this._lifeCount > minLifeCount || this._immortal || !this.options.life.count) && (this._firstSpawn || this._currentSpawnDelay >= (this._spawnDelay ?? defaultSpawnDelay)))) {\n return;\n }\n const container = this.container;\n if (this._emitDelay === undefined) {\n const delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.delay);\n this._emitDelay = container.retina.reduceFactor ? delay * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this._prepareToDie();\n }\n }\n resize() {\n const initialPosition = this._initialPosition, container = this.container;\n this.position = initialPosition && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isPointInside)(initialPosition, container.canvas.size, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin) ? initialPosition : this._calcPosition();\n this._size = this._calcSize();\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getSize)(this._size, container.canvas.size);\n this._shape?.resize(this.position, this.size);\n }\n update(delta) {\n if (this._paused) {\n return;\n }\n const container = this.container;\n if (this._firstSpawn) {\n this._firstSpawn = false;\n this._currentSpawnDelay = this._spawnDelay ?? defaultSpawnDelay;\n this._currentEmitDelay = this._emitDelay ?? defaultEmitDelay;\n }\n if (!this._startParticlesAdded) {\n this._startParticlesAdded = true;\n this._emitParticles(this.options.startCount);\n }\n if (this._duration !== undefined) {\n this._currentDuration += delta.value;\n if (this._currentDuration >= this._duration) {\n this.pause();\n if (this._spawnDelay !== undefined) {\n delete this._spawnDelay;\n }\n if (!this._immortal) {\n this._lifeCount--;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this.position = this._calcPosition();\n this._shape?.resize(this.position, this.size);\n this._spawnDelay = container.retina.reduceFactor ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity;\n } else {\n this._destroy();\n }\n this._currentDuration -= this._duration;\n delete this._duration;\n }\n }\n if (this._spawnDelay !== undefined) {\n this._currentSpawnDelay += delta.value;\n if (this._currentSpawnDelay >= this._spawnDelay) {\n this._engine.dispatchEvent(\"emitterPlay\", {\n container: this.container\n });\n this.play();\n this._currentSpawnDelay -= this._spawnDelay;\n delete this._spawnDelay;\n }\n }\n if (this._emitDelay !== undefined) {\n this._currentEmitDelay += delta.value;\n if (this._currentEmitDelay >= this._emitDelay) {\n this._emit();\n this._currentEmitDelay -= this._emitDelay;\n }\n }\n }\n _calcPosition() {\n const container = this.container;\n if (this.options.domId) {\n const element = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect(), pxRatio = container.retina.pixelRatio;\n return {\n x: (elRect.x + elRect.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half) * pxRatio,\n y: (elRect.y + elRect.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half) * pxRatio\n };\n }\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.calcPositionOrRandomFromSizeRanged)({\n size: container.canvas.size,\n position: this.options.position\n });\n }\n _calcSize() {\n const container = this.container;\n if (this.options.domId) {\n const element = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect();\n return {\n width: elRect.width * container.retina.pixelRatio,\n height: elRect.height * container.retina.pixelRatio,\n mode: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.precise\n };\n }\n }\n return this.options.size ?? (()=>{\n const size = new _Options_Classes_EmitterSize_js__WEBPACK_IMPORTED_MODULE_2__.EmitterSize();\n size.load({\n height: 0,\n mode: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.percent,\n width: 0\n });\n return size;\n })();\n }\n _destroy = ()=>{\n this._mutationObserver?.disconnect();\n this._mutationObserver = undefined;\n this._resizeObserver?.disconnect();\n this._resizeObserver = undefined;\n this.removeCallback(this);\n this._engine.dispatchEvent(\"emitterDestroyed\", {\n container: this.container,\n data: {\n emitter: this\n }\n });\n };\n _emit() {\n if (this._paused) {\n return;\n }\n const quantity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.quantity);\n this._emitParticles(quantity);\n }\n _emitParticles(quantity) {\n const singleParticlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(this._particlesOptions) ?? {}, hslAnimation = this.options.spawnColor?.animation, reduceFactor = this.container.retina.reduceFactor, needsColorAnimation = !!hslAnimation, needsShapeData = !!this._shape, needsCopy = needsColorAnimation || needsShapeData, maxValues = needsColorAnimation ? {\n h: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hMax,\n s: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.sMax,\n l: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.lMax\n } : null, shapeOptions = this.options.shape;\n for(let i = 0; i < quantity * reduceFactor; i++){\n const particlesOptions = needsCopy ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, singleParticlesOptions) : singleParticlesOptions;\n if (this.spawnColor) {\n if (hslAnimation && maxValues) {\n this.spawnColor.h = this._setColorAnimation(hslAnimation.h, this.spawnColor.h, maxValues.h, colorFactor);\n this.spawnColor.s = this._setColorAnimation(hslAnimation.s, this.spawnColor.s, maxValues.s);\n this.spawnColor.l = this._setColorAnimation(hslAnimation.l, this.spawnColor.l, maxValues.l);\n }\n setParticlesOptionsColor(particlesOptions, this.spawnColor);\n }\n let position = this.position;\n if (this._shape) {\n const shapePosData = this._shape.randomPosition();\n if (shapePosData) {\n position = shapePosData.position;\n const replaceData = shapeOptions.replace;\n if (replaceData.color && shapePosData.color) {\n setParticlesOptionsColor(particlesOptions, shapePosData.color);\n }\n if (replaceData.opacity) {\n if (particlesOptions.opacity) {\n particlesOptions.opacity.value = shapePosData.opacity;\n } else {\n particlesOptions.opacity = {\n value: shapePosData.opacity\n };\n }\n }\n } else {\n position = null;\n }\n }\n if (position) {\n this.container.particles.addParticle(position, particlesOptions);\n }\n }\n }\n _prepareToDie = ()=>{\n if (this._paused) {\n return;\n }\n const duration = this.options.life.duration !== undefined ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.duration) : undefined, minDuration = 0, minLifeCount = 0;\n if ((this._lifeCount > minLifeCount || this._immortal) && duration !== undefined && duration > minDuration) {\n this._duration = duration * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds;\n }\n };\n _setColorAnimation = (animation, initValue, maxValue, factor = defaultColorAnimationFactor)=>{\n const container = this.container;\n if (!animation.enable) {\n return initValue;\n }\n const colorOffset = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.randomInRangeValue)(animation.offset), delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.delay), emitFactor = container.retina.reduceFactor ? delay * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity, colorSpeed = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animation.speed);\n return (initValue + colorSpeed * container.fpsLimit / emitFactor + colorOffset * factor) % maxValue;\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/EmitterInstance.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterInstance: () => (/* binding */ EmitterInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Emitter.js */ \"../../plugins/emitters/dist/browser/Options/Classes/Emitter.js\");\n/* harmony import */ var _Options_Classes_EmitterSize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Options/Classes/EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n\n\n\nconst defaultLifeDelay = 0, minLifeCount = 0, defaultSpawnDelay = 0, defaultEmitDelay = 0, defaultLifeCount = -1, defaultColorAnimationFactor = 1, colorFactor = 3.6, defaultStrokeWidth = 1;\nfunction setParticlesOptionsFillColor(particlesOptions, color, opacity, enable) {\n particlesOptions.fill = new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Fill();\n particlesOptions.fill.color = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor.create(undefined, {\n value: color\n });\n particlesOptions.fill.enable = enable;\n particlesOptions.fill.opacity = opacity;\n}\nfunction setParticlesOptionsStrokeColor(particlesOptions, color, opacity, width) {\n particlesOptions.stroke = new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Stroke();\n particlesOptions.stroke.color = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor.create(undefined, {\n value: color\n });\n particlesOptions.stroke.opacity = opacity;\n particlesOptions.stroke.width = width;\n}\nclass EmitterInstance {\n container;\n removeCallback;\n fill;\n name;\n options;\n position;\n size;\n spawnFillColor;\n spawnFillEnabled;\n spawnFillOpacity;\n spawnStrokeColor;\n spawnStrokeOpacity;\n spawnStrokeWidth;\n _currentDuration;\n _currentEmitDelay;\n _currentSpawnDelay;\n _duration;\n _emitDelay;\n _engine;\n _firstSpawn;\n _immortal;\n _initialPosition;\n _lifeCount;\n _mutationObserver;\n _particlesOptions;\n _paused;\n _resizeObserver;\n _shape;\n _size;\n _spawnDelay;\n _startParticlesAdded;\n constructor(engine, container, removeCallback, options, position){\n this.container = container;\n this.removeCallback = removeCallback;\n this._engine = engine;\n this._currentDuration = 0;\n this._currentEmitDelay = 0;\n this._currentSpawnDelay = 0;\n this._initialPosition = position;\n if (options instanceof _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter) {\n this.options = options;\n } else {\n this.options = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter();\n this.options.load(options);\n }\n this._spawnDelay = container.retina.reduceFactor ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity;\n this.position = this._initialPosition ?? this._calcPosition();\n this.name = this.options.name;\n this.fill = this.options.fill;\n this._firstSpawn = !this.options.life.wait;\n this._startParticlesAdded = false;\n const particlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, this.options.particles);\n particlesOptions.move ??= {};\n particlesOptions.move.direction ??= this.options.direction;\n if (this.options.spawn.fill?.color) {\n this.spawnFillColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(this._engine, this.options.spawn.fill.color);\n }\n if (this.options.spawn.stroke?.color) {\n this.spawnStrokeColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(this._engine, this.options.spawn.stroke.color);\n }\n this._paused = !this.options.autoPlay;\n this._particlesOptions = particlesOptions;\n this._size = this._calcSize();\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getSize)(this._size, this.container.canvas.size);\n this._lifeCount = this.options.life.count ?? defaultLifeCount;\n this._immortal = this._lifeCount <= minLifeCount;\n if (this.options.domId) {\n const element = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().getElementById(this.options.domId);\n if (element) {\n this._mutationObserver = new MutationObserver(()=>{\n this.resize();\n });\n this._resizeObserver = new ResizeObserver(()=>{\n this.resize();\n });\n this._mutationObserver.observe(element, {\n attributes: true,\n attributeFilter: [\n \"style\",\n \"width\",\n \"height\"\n ]\n });\n this._resizeObserver.observe(element);\n }\n }\n const shapeOptions = this.options.shape, shapeGenerator = this._engine.emitterShapeManager?.getShapeGenerator(shapeOptions.type);\n if (shapeGenerator) {\n this._shape = shapeGenerator.generate(this.container, this.position, this.size, this.fill, shapeOptions.options);\n }\n this._engine.dispatchEvent(\"emitterCreated\", {\n container,\n data: {\n emitter: this\n }\n });\n this.play();\n }\n externalPause() {\n this._paused = true;\n this.pause();\n }\n externalPlay() {\n this._paused = false;\n this.play();\n }\n async init() {\n await this._shape?.init();\n }\n pause() {\n if (this._paused) {\n return;\n }\n delete this._emitDelay;\n }\n play() {\n if (this._paused) {\n return;\n }\n if (!((this._lifeCount > minLifeCount || this._immortal || !this.options.life.count) && (this._firstSpawn || this._currentSpawnDelay >= (this._spawnDelay ?? defaultSpawnDelay)))) {\n return;\n }\n const container = this.container;\n if (this._emitDelay === undefined) {\n const delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.delay);\n this._emitDelay = container.retina.reduceFactor ? delay * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this._prepareToDie();\n }\n }\n resize() {\n const initialPosition = this._initialPosition, container = this.container;\n this.position = initialPosition && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isPointInside)(initialPosition, container.canvas.size, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin) ? initialPosition : this._calcPosition();\n this._size = this._calcSize();\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getSize)(this._size, container.canvas.size);\n this._shape?.resize(this.position, this.size);\n }\n update(delta) {\n if (this._paused) {\n return;\n }\n const container = this.container;\n if (this._firstSpawn) {\n this._firstSpawn = false;\n this._currentSpawnDelay = this._spawnDelay ?? defaultSpawnDelay;\n this._currentEmitDelay = this._emitDelay ?? defaultEmitDelay;\n }\n if (!this._startParticlesAdded) {\n this._startParticlesAdded = true;\n this._emitParticles(this.options.startCount);\n }\n if (this._duration !== undefined) {\n this._currentDuration += delta.value;\n if (this._currentDuration >= this._duration) {\n this.pause();\n if (this._spawnDelay !== undefined) {\n delete this._spawnDelay;\n }\n if (!this._immortal) {\n this._lifeCount--;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this.position = this._calcPosition();\n this._shape?.resize(this.position, this.size);\n this._spawnDelay = container.retina.reduceFactor ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity;\n } else {\n this._destroy();\n }\n this._currentDuration -= this._duration;\n delete this._duration;\n }\n }\n if (this._spawnDelay !== undefined) {\n this._currentSpawnDelay += delta.value;\n if (this._currentSpawnDelay >= this._spawnDelay) {\n this._engine.dispatchEvent(\"emitterPlay\", {\n container: this.container\n });\n this.play();\n this._currentSpawnDelay -= this._spawnDelay;\n delete this._spawnDelay;\n }\n }\n if (this._emitDelay !== undefined) {\n this._currentEmitDelay += delta.value;\n if (this._currentEmitDelay >= this._emitDelay) {\n this._emit();\n this._currentEmitDelay -= this._emitDelay;\n }\n }\n }\n _calcPosition() {\n const container = this.container;\n if (this.options.domId) {\n const element = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect(), pxRatio = container.retina.pixelRatio;\n return {\n x: (elRect.x + elRect.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half) * pxRatio,\n y: (elRect.y + elRect.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half) * pxRatio\n };\n }\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.calcPositionOrRandomFromSizeRanged)({\n size: container.canvas.size,\n position: this.options.position\n });\n }\n _calcSize() {\n const container = this.container;\n if (this.options.domId) {\n const element = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect();\n return {\n width: elRect.width * container.retina.pixelRatio,\n height: elRect.height * container.retina.pixelRatio,\n mode: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.precise\n };\n }\n }\n return this.options.size ?? (()=>{\n const size = new _Options_Classes_EmitterSize_js__WEBPACK_IMPORTED_MODULE_2__.EmitterSize();\n size.load({\n height: 0,\n mode: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.percent,\n width: 0\n });\n return size;\n })();\n }\n _destroy = ()=>{\n this._mutationObserver?.disconnect();\n this._mutationObserver = undefined;\n this._resizeObserver?.disconnect();\n this._resizeObserver = undefined;\n this.removeCallback(this);\n this._engine.dispatchEvent(\"emitterDestroyed\", {\n container: this.container,\n data: {\n emitter: this\n }\n });\n };\n _emit() {\n if (this._paused) {\n return;\n }\n const quantity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.quantity);\n this._emitParticles(quantity);\n }\n _emitParticles(quantity) {\n const singleParticlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(this._particlesOptions) ?? {}, fillHslAnimation = this.options.spawn.fill?.color.animation, fillEnabled = this.options.spawn.fill?.enable ?? !!this.options.spawn.fill?.color, fillOpacity = this.options.spawn.fill?.opacity === undefined ? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultOpacity : (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.spawn.fill.opacity), strokeHslAnimation = this.options.spawn.stroke?.color?.animation, strokeOpacity = this.options.spawn.stroke?.opacity === undefined ? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultOpacity : (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.spawn.stroke.opacity), strokeWidth = this.options.spawn.stroke?.width === undefined ? defaultStrokeWidth : (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.spawn.stroke.width), reduceFactor = this.container.retina.reduceFactor, needsFillColorAnimation = !!fillHslAnimation, needsStrokeColorAnimation = !!strokeHslAnimation, needsShapeData = !!this._shape, needsColorAnimation = needsFillColorAnimation || needsStrokeColorAnimation, needsCopy = needsColorAnimation || needsShapeData, maxValues = needsColorAnimation ? {\n h: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hMax,\n s: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.sMax,\n l: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.lMax\n } : null, shapeOptions = this.options.shape;\n for(let i = 0; i < quantity * reduceFactor; i++){\n const particlesOptions = needsCopy ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, singleParticlesOptions) : singleParticlesOptions;\n this.spawnFillOpacity = fillOpacity;\n this.spawnFillEnabled = fillEnabled;\n this.spawnStrokeOpacity = strokeOpacity;\n this.spawnStrokeWidth = strokeWidth;\n if (this.spawnFillColor) {\n if (fillHslAnimation && maxValues) {\n this.spawnFillColor.h = this._setColorAnimation(fillHslAnimation.h, this.spawnFillColor.h, maxValues.h, colorFactor);\n this.spawnFillColor.s = this._setColorAnimation(fillHslAnimation.s, this.spawnFillColor.s, maxValues.s);\n this.spawnFillColor.l = this._setColorAnimation(fillHslAnimation.l, this.spawnFillColor.l, maxValues.l);\n }\n setParticlesOptionsFillColor(particlesOptions, this.spawnFillColor, this.spawnFillOpacity, this.spawnFillEnabled);\n }\n if (this.spawnStrokeColor) {\n if (strokeHslAnimation && maxValues) {\n this.spawnStrokeColor.h = this._setColorAnimation(strokeHslAnimation.h, this.spawnStrokeColor.h, maxValues.h, colorFactor);\n this.spawnStrokeColor.s = this._setColorAnimation(strokeHslAnimation.s, this.spawnStrokeColor.s, maxValues.s);\n this.spawnStrokeColor.l = this._setColorAnimation(strokeHslAnimation.l, this.spawnStrokeColor.l, maxValues.l);\n }\n setParticlesOptionsStrokeColor(particlesOptions, this.spawnStrokeColor, this.spawnStrokeOpacity, this.spawnStrokeWidth);\n }\n let position = this.position;\n if (this._shape) {\n const shapePosData = this._shape.randomPosition();\n if (shapePosData) {\n position = shapePosData.position;\n const replaceData = shapeOptions.replace;\n if (replaceData.color && shapePosData.color) {\n setParticlesOptionsFillColor(particlesOptions, shapePosData.color, replaceData.opacity ? shapePosData.opacity ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultOpacity : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultOpacity, true);\n }\n } else {\n position = null;\n }\n }\n if (position) {\n this.container.particles.addParticle(position, particlesOptions);\n }\n }\n }\n _prepareToDie = ()=>{\n if (this._paused) {\n return;\n }\n const duration = this.options.life.duration !== undefined ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.duration) : undefined, minDuration = 0, minLifeCount = 0;\n if ((this._lifeCount > minLifeCount || this._immortal) && duration !== undefined && duration > minDuration) {\n this._duration = duration * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds;\n }\n };\n _setColorAnimation = (animation, initValue, maxValue, factor = defaultColorAnimationFactor)=>{\n const container = this.container;\n if (!animation.enable) {\n return initValue;\n }\n const colorOffset = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.randomInRangeValue)(animation.offset), delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.delay), emitFactor = container.retina.reduceFactor ? delay * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity, colorSpeed = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animation.speed);\n return (initValue + colorSpeed * container.fpsLimit / emitFactor + colorOffset * factor) % maxValue;\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/EmitterInstance.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.26
7
+ * v4.0.0-alpha.28
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -33,7 +33,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
33
33
  \**********************************************************************/
34
34
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
35
35
 
36
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Emitter: () => (/* binding */ Emitter)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EmitterLife.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterLife.js\");\n/* harmony import */ var _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./EmitterRate.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterRate.js\");\n/* harmony import */ var _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmitterShape.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterShape.js\");\n/* harmony import */ var _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n\n\n\n\n\nclass Emitter {\n autoPlay;\n direction;\n domId;\n fill;\n life;\n name;\n particles;\n position;\n rate;\n shape;\n size;\n spawnColor;\n startCount;\n constructor(){\n this.autoPlay = true;\n this.fill = true;\n this.life = new _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__.EmitterLife();\n this.rate = new _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__.EmitterRate();\n this.shape = new _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__.EmitterShape();\n this.startCount = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n if (data.size !== undefined) {\n this.size ??= new _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__.EmitterSize();\n this.size.load(data.size);\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n this.domId = data.domId;\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n this.life.load(data.life);\n this.name = data.name;\n this.particles = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(data.particles, (particles)=>{\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, particles);\n });\n this.rate.load(data.rate);\n this.shape.load(data.shape);\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.spawnColor !== undefined) {\n this.spawnColor ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor();\n this.spawnColor.load(data.spawnColor);\n }\n if (data.startCount !== undefined) {\n this.startCount = data.startCount;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/Options/Classes/Emitter.js?\n}");
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Emitter: () => (/* binding */ Emitter)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EmitterLife.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterLife.js\");\n/* harmony import */ var _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./EmitterRate.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterRate.js\");\n/* harmony import */ var _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmitterShape.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterShape.js\");\n/* harmony import */ var _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n/* harmony import */ var _EmitterSpawn_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./EmitterSpawn.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSpawn.js\");\n\n\n\n\n\n\nclass Emitter {\n autoPlay;\n direction;\n domId;\n fill;\n life;\n name;\n particles;\n position;\n rate;\n shape;\n size;\n spawn;\n spawnFillColor;\n spawnStrokeColor;\n startCount;\n constructor(){\n this.autoPlay = true;\n this.fill = true;\n this.life = new _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__.EmitterLife();\n this.rate = new _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__.EmitterRate();\n this.shape = new _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__.EmitterShape();\n this.spawn = new _EmitterSpawn_js__WEBPACK_IMPORTED_MODULE_5__.EmitterSpawn();\n this.startCount = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n if (data.size !== undefined) {\n this.size ??= new _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__.EmitterSize();\n this.size.load(data.size);\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n this.domId = data.domId;\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n this.life.load(data.life);\n this.name = data.name;\n this.particles = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(data.particles, (particles)=>{\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, particles);\n });\n this.rate.load(data.rate);\n this.shape.load(data.shape);\n this.spawn.load(data.spawn);\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.spawnFillColor !== undefined) {\n this.spawnFillColor ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor();\n this.spawnFillColor.load(data.spawnFillColor);\n }\n if (data.spawnStrokeColor !== undefined) {\n this.spawnStrokeColor ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor();\n this.spawnStrokeColor.load(data.spawnStrokeColor);\n }\n if (data.startCount !== undefined) {\n this.startCount = data.startCount;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/Options/Classes/Emitter.js?\n}");
37
37
 
38
38
  /***/ },
39
39
 
@@ -85,6 +85,16 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
85
85
 
86
86
  eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterSize: () => (/* binding */ EmitterSize)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass EmitterSize {\n height;\n mode;\n width;\n constructor(){\n this.mode = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.percent;\n this.height = 0;\n this.width = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.height !== undefined) {\n this.height = data.height;\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js?\n}");
87
87
 
88
+ /***/ },
89
+
90
+ /***/ "../../plugins/emitters/dist/browser/Options/Classes/EmitterSpawn.js"
91
+ /*!***************************************************************************!*\
92
+ !*** ../../plugins/emitters/dist/browser/Options/Classes/EmitterSpawn.js ***!
93
+ \***************************************************************************/
94
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
95
+
96
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterSpawn: () => (/* binding */ EmitterSpawn)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass EmitterSpawn {\n fill;\n stroke;\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.fill) {\n this.fill ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Fill();\n this.fill.load(data.fill);\n }\n if (data.stroke) {\n this.stroke ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Stroke();\n this.stroke.load(data.stroke);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/Options/Classes/EmitterSpawn.js?\n}");
97
+
88
98
  /***/ }
89
99
 
90
100
  }]);