@tsparticles/all 4.0.0-beta.0 → 4.0.0-beta.2

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 (816) hide show
  1. package/1028.min.js +1 -0
  2. package/1030.min.js +1 -0
  3. package/1048.min.js +1 -0
  4. package/1051.min.js +1 -0
  5. package/1061.min.js +1 -0
  6. package/1089.min.js +1 -0
  7. package/1120.min.js +1 -0
  8. package/1121.min.js +1 -0
  9. package/1160.min.js +1 -0
  10. package/1167.min.js +1 -0
  11. package/117.min.js +1 -0
  12. package/1201.min.js +1 -0
  13. package/1255.min.js +1 -0
  14. package/143.min.js +1 -0
  15. package/1510.min.js +1 -1
  16. package/{1154.min.js → 1551.min.js} +1 -1
  17. package/1605.min.js +1 -0
  18. package/{6725.min.js → 1611.min.js} +1 -1
  19. package/1661.min.js +1 -0
  20. package/1707.min.js +2 -0
  21. package/{5964.min.js → 1744.min.js} +1 -1
  22. package/1767.min.js +1 -0
  23. package/1818.min.js +2 -0
  24. package/1841.min.js +1 -0
  25. package/1860.min.js +1 -0
  26. package/2004.min.js +1 -0
  27. package/2093.min.js +1 -0
  28. package/{4234.min.js → 2105.min.js} +1 -1
  29. package/2158.min.js +1 -0
  30. package/2177.min.js +1 -0
  31. package/2253.min.js +1 -0
  32. package/2261.min.js +1 -0
  33. package/2265.min.js +1 -0
  34. package/{6458.min.js → 2360.min.js} +1 -1
  35. package/2405.min.js +1 -0
  36. package/2413.min.js +1 -0
  37. package/2425.min.js +1 -0
  38. package/2429.min.js +1 -0
  39. package/2454.min.js +1 -0
  40. package/2554.min.js +1 -0
  41. package/264.min.js +1 -0
  42. package/2643.min.js +1 -0
  43. package/{9929.min.js → 2682.min.js} +1 -1
  44. package/2784.min.js +1 -0
  45. package/{2513.min.js → 2825.min.js} +1 -1
  46. package/2866.min.js +1 -0
  47. package/2908.min.js +1 -0
  48. package/2930.min.js +1 -0
  49. package/{5665.min.js → 2933.min.js} +1 -1
  50. package/2964.min.js +1 -0
  51. package/2971.min.js +1 -0
  52. package/2975.min.js +1 -0
  53. package/301.min.js +1 -0
  54. package/3041.min.js +1 -0
  55. package/{1821.min.js → 3057.min.js} +1 -1
  56. package/3088.min.js +1 -0
  57. package/3089.min.js +1 -0
  58. package/31.min.js +1 -0
  59. package/{2917.min.js → 3128.min.js} +1 -1
  60. package/3150.min.js +1 -1
  61. package/3152.min.js +1 -0
  62. package/3210.min.js +1 -0
  63. package/3248.min.js +1 -0
  64. package/3256.min.js +1 -0
  65. package/3285.min.js +1 -0
  66. package/{4588.min.js → 3304.min.js} +1 -1
  67. package/3323.min.js +1 -0
  68. package/{243.min.js → 335.min.js} +1 -1
  69. package/{9555.min.js → 3362.min.js} +1 -1
  70. package/3471.min.js +1 -0
  71. package/{5227.min.js → 3477.min.js} +1 -1
  72. package/349.min.js +1 -0
  73. package/350.min.js +1 -0
  74. package/{1812.min.js → 3595.min.js} +1 -1
  75. package/3693.min.js +1 -1
  76. package/370.min.js +2 -0
  77. package/{7982.min.js → 3706.min.js} +1 -1
  78. package/3719.min.js +1 -0
  79. package/3728.min.js +1 -0
  80. package/3737.min.js +1 -0
  81. package/3775.min.js +1 -0
  82. package/{4689.min.js → 3861.min.js} +1 -1
  83. package/3875.min.js +1 -0
  84. package/3895.min.js +1 -0
  85. package/394.min.js +1 -0
  86. package/3949.min.js +1 -0
  87. package/{5411.min.js → 3961.min.js} +1 -1
  88. package/3972.min.js +1 -0
  89. package/3983.min.js +1 -0
  90. package/4051.min.js +1 -0
  91. package/4054.min.js +1 -0
  92. package/4074.min.js +1 -0
  93. package/4075.min.js +1 -0
  94. package/4088.min.js +1 -0
  95. package/410.min.js +1 -0
  96. package/4117.min.js +1 -0
  97. package/4129.min.js +1 -0
  98. package/4159.min.js +1 -0
  99. package/4191.min.js +1 -1
  100. package/4198.min.js +1 -0
  101. package/4204.min.js +1 -1
  102. package/{7636.min.js → 4258.min.js} +1 -1
  103. package/4301.min.js +1 -0
  104. package/4306.min.js +1 -0
  105. package/4316.min.js +1 -0
  106. package/{3003.min.js → 4376.min.js} +1 -1
  107. package/{3413.min.js → 4468.min.js} +1 -1
  108. package/4473.min.js +1 -0
  109. package/4489.min.js +1 -0
  110. package/4537.min.js +1 -0
  111. package/{9202.min.js → 4550.min.js} +1 -1
  112. package/4567.min.js +1 -0
  113. package/4592.min.js +1 -0
  114. package/4601.min.js +1 -0
  115. package/465.min.js +1 -1
  116. package/{4724.min.js → 4656.min.js} +1 -1
  117. package/4701.min.js +1 -0
  118. package/4722.min.js +1 -0
  119. package/{7554.min.js → 4726.min.js} +1 -1
  120. package/4837.min.js +1 -0
  121. package/4839.min.js +1 -0
  122. package/4880.min.js +1 -0
  123. package/4887.min.js +1 -0
  124. package/4898.min.js +1 -0
  125. package/4917.min.js +1 -0
  126. package/4952.min.js +1 -0
  127. package/4991.min.js +1 -0
  128. package/5055.min.js +1 -1
  129. package/5077.min.js +1 -0
  130. package/5095.min.js +1 -0
  131. package/5136.min.js +1 -0
  132. package/5174.min.js +1 -0
  133. package/{3233.min.js → 5197.min.js} +1 -1
  134. package/5212.min.js +1 -0
  135. package/5232.min.js +1 -0
  136. package/{3750.min.js → 5260.min.js} +1 -1
  137. package/5264.min.js +1 -0
  138. package/5275.min.js +1 -0
  139. package/5313.min.js +1 -0
  140. package/5325.min.js +1 -0
  141. package/{3573.min.js → 5332.min.js} +1 -1
  142. package/{3793.min.js → 5341.min.js} +1 -1
  143. package/5347.min.js +1 -0
  144. package/5356.min.js +1 -0
  145. package/5402.min.js +1 -0
  146. package/5437.min.js +1 -0
  147. package/5447.min.js +1 -0
  148. package/5453.min.js +1 -0
  149. package/5532.min.js +1 -0
  150. package/5541.min.js +1 -0
  151. package/5589.min.js +1 -0
  152. package/{2926.min.js → 5602.min.js} +1 -1
  153. package/561.min.js +1 -0
  154. package/5641.min.js +1 -0
  155. package/5651.min.js +1 -0
  156. package/{3464.min.js → 5668.min.js} +1 -1
  157. package/5669.min.js +1 -0
  158. package/5686.min.js +1 -0
  159. package/5694.min.js +1 -0
  160. package/5700.min.js +1 -0
  161. package/5719.min.js +1 -0
  162. package/5732.min.js +1 -0
  163. package/5742.min.js +1 -0
  164. package/5816.min.js +1 -0
  165. package/5832.min.js +1 -0
  166. package/587.min.js +1 -0
  167. package/5976.min.js +1 -0
  168. package/6055.min.js +1 -0
  169. package/6056.min.js +1 -0
  170. package/607.min.js +1 -0
  171. package/6130.min.js +1 -0
  172. package/6202.min.js +1 -0
  173. package/6222.min.js +1 -0
  174. package/6227.min.js +1 -0
  175. package/6252.min.js +1 -0
  176. package/6280.min.js +1 -0
  177. package/6297.min.js +1 -0
  178. package/6340.min.js +1 -0
  179. package/6362.min.js +1 -0
  180. package/{3433.min.js → 6364.min.js} +1 -1
  181. package/6388.min.js +1 -0
  182. package/6412.min.js +1 -0
  183. package/649.min.js +1 -0
  184. package/6496.min.js +1 -0
  185. package/6502.min.js +1 -0
  186. package/6561.min.js +1 -0
  187. package/6598.min.js +1 -0
  188. package/{6361.min.js → 6613.min.js} +1 -1
  189. package/6693.min.js +1 -0
  190. package/6711.min.js +1 -0
  191. package/6808.min.js +1 -1
  192. package/6822.min.js +1 -0
  193. package/6827.min.js +1 -0
  194. package/686.min.js +1 -0
  195. package/6868.min.js +1 -0
  196. package/{5249.min.js → 6897.min.js} +1 -1
  197. package/{8639.min.js → 6907.min.js} +1 -1
  198. package/6938.min.js +1 -0
  199. package/{4662.min.js → 6940.min.js} +1 -1
  200. package/7017.min.js +1 -0
  201. package/7041.min.js +1 -33
  202. package/{8606.min.js → 7050.min.js} +1 -1
  203. package/706.min.js +1 -0
  204. package/7079.min.js +1 -0
  205. package/7149.min.js +1 -0
  206. package/7157.min.js +1 -0
  207. package/719.min.js +1 -0
  208. package/{5133.min.js → 7196.min.js} +1 -1
  209. package/7203.min.js +1 -0
  210. package/7206.min.js +1 -0
  211. package/7218.min.js +1 -0
  212. package/7359.min.js +1 -0
  213. package/7374.min.js +1 -0
  214. package/7386.min.js +1 -0
  215. package/7403.min.js +1 -0
  216. package/746.min.js +1 -0
  217. package/7462.min.js +1 -0
  218. package/748.min.js +1 -0
  219. package/7520.min.js +1 -1
  220. package/7522.min.js +1 -0
  221. package/7590.min.js +1 -0
  222. package/{4570.min.js → 7596.min.js} +1 -1
  223. package/{2382.min.js → 7604.min.js} +1 -1
  224. package/762.min.js +1 -0
  225. package/7721.min.js +1 -0
  226. package/7788.min.js +1 -0
  227. package/7817.min.js +1 -0
  228. package/7856.min.js +1 -0
  229. package/786.min.js +1 -0
  230. package/7921.min.js +1 -0
  231. package/803.min.js +1 -0
  232. package/8082.min.js +1 -0
  233. package/8096.min.js +1 -0
  234. package/{2295.min.js → 8111.min.js} +1 -1
  235. package/8173.min.js +1 -0
  236. package/{5855.min.js → 8243.min.js} +1 -1
  237. package/8258.min.js +1 -0
  238. package/8272.min.js +1 -0
  239. package/8274.min.js +1 -0
  240. package/{3338.min.js → 83.min.js} +2 -2
  241. package/830.min.js +1 -0
  242. package/8319.min.js +1 -1
  243. package/8342.min.js +1 -0
  244. package/8360.min.js +1 -1
  245. package/8421.min.js +1 -0
  246. package/{7258.min.js → 8446.min.js} +1 -1
  247. package/8536.min.js +1 -0
  248. package/8553.min.js +33 -1
  249. package/8569.min.js +1 -0
  250. package/8626.min.js +1 -0
  251. package/8627.min.js +1 -0
  252. package/8650.min.js +1 -0
  253. package/8684.min.js +1 -1
  254. package/8708.min.js +1 -0
  255. package/8775.min.js +1 -0
  256. package/{2940.min.js → 8776.min.js} +1 -1
  257. package/8796.min.js +1 -0
  258. package/8805.min.js +1 -0
  259. package/{4303.min.js → 8808.min.js} +1 -1
  260. package/886.min.js +1 -0
  261. package/8930.min.js +1 -0
  262. package/8957.min.js +1 -0
  263. package/{9398.min.js → 8977.min.js} +2 -2
  264. package/8989.min.js +1 -0
  265. package/9022.min.js +1 -0
  266. package/{1624.min.js → 9027.min.js} +1 -1
  267. package/9033.min.js +1 -0
  268. package/9072.min.js +1 -0
  269. package/9132.min.js +1 -0
  270. package/9134.min.js +1 -0
  271. package/9165.min.js +1 -0
  272. package/9208.min.js +1 -0
  273. package/9261.min.js +1 -0
  274. package/9293.min.js +1 -0
  275. package/9326.min.js +1 -0
  276. package/{7876.min.js → 9368.min.js} +1 -1
  277. package/938.min.js +1 -0
  278. package/9395.min.js +1 -0
  279. package/{3019.min.js → 9463.min.js} +1 -1
  280. package/{9761.min.js → 9479.min.js} +1 -1
  281. package/951.min.js +1 -0
  282. package/9630.min.js +1 -1
  283. package/9643.min.js +1 -0
  284. package/9654.min.js +1 -0
  285. package/{5997.min.js → 9673.min.js} +1 -1
  286. package/9720.min.js +1 -0
  287. package/9748.min.js +1 -0
  288. package/9782.min.js +1 -0
  289. package/9838.min.js +1 -0
  290. package/{9569.min.js → 9920.min.js} +1 -1
  291. package/9950.min.js +1 -0
  292. package/9994.min.js +1 -0
  293. package/basic_dist_browser_index_js.js +2 -2
  294. package/browser/index.js +6 -3
  295. package/cjs/index.js +6 -3
  296. package/effects_bubble_dist_browser_BubbleDrawer_js.js +1 -1
  297. package/effects_bubble_dist_browser_index_js.js +2 -2
  298. package/effects_particles_dist_browser_ParticlesDrawer_js.js +2 -2
  299. package/effects_particles_dist_browser_index_js.js +2 -2
  300. package/effects_shadow_dist_browser_ShadowDrawer_js.js +2 -2
  301. package/effects_shadow_dist_browser_index_js.js +2 -2
  302. package/effects_trail_dist_browser_TrailDrawer_js.js +2 -2
  303. package/effects_trail_dist_browser_index_js.js +2 -2
  304. package/engine_dist_browser_Core_Container_js.js +54 -14
  305. package/esm/index.js +6 -3
  306. package/full_dist_browser_index_js.js +2 -2
  307. package/interactions_external_attract_dist_browser_Attractor_js.js +28 -8
  308. package/interactions_external_attract_dist_browser_index_js.js +2 -2
  309. package/interactions_external_bounce_dist_browser_Bouncer_js.js +26 -6
  310. package/interactions_external_bounce_dist_browser_index_js.js +2 -2
  311. package/interactions_external_bubble_dist_browser_Bubbler_js.js +27 -7
  312. package/interactions_external_bubble_dist_browser_index_js.js +2 -2
  313. package/interactions_external_cannon_dist_browser_Cannoner_js.js +150 -0
  314. package/interactions_external_cannon_dist_browser_index_js.js +40 -0
  315. package/interactions_external_connect_dist_browser_Connector_js.js +28 -8
  316. package/interactions_external_connect_dist_browser_index_js.js +2 -2
  317. package/interactions_external_drag_dist_browser_Dragger_js.js +26 -6
  318. package/interactions_external_drag_dist_browser_index_js.js +2 -2
  319. package/interactions_external_grab_dist_browser_Grabber_js.js +29 -9
  320. package/interactions_external_grab_dist_browser_index_js.js +2 -2
  321. package/interactions_external_parallax_dist_browser_Parallaxer_js.js +26 -6
  322. package/interactions_external_parallax_dist_browser_index_js.js +2 -2
  323. package/interactions_external_particle_dist_browser_InteractivityParticleMaker_js.js +27 -7
  324. package/interactions_external_particle_dist_browser_index_js.js +2 -2
  325. package/interactions_external_pause_dist_browser_Pauser_js.js +26 -6
  326. package/interactions_external_pause_dist_browser_index_js.js +2 -2
  327. package/interactions_external_pop_dist_browser_Popper_js.js +27 -7
  328. package/interactions_external_pop_dist_browser_index_js.js +2 -2
  329. package/interactions_external_push_dist_browser_Pusher_js.js +26 -6
  330. package/interactions_external_push_dist_browser_index_js.js +2 -2
  331. package/interactions_external_remove_dist_browser_Remover_js.js +27 -7
  332. package/interactions_external_remove_dist_browser_index_js.js +2 -2
  333. package/interactions_external_repulse_dist_browser_Repulser_js.js +27 -7
  334. package/interactions_external_repulse_dist_browser_index_js.js +2 -2
  335. package/interactions_external_slow_dist_browser_Slower_js.js +26 -6
  336. package/interactions_external_slow_dist_browser_index_js.js +2 -2
  337. package/interactions_external_trail_dist_browser_TrailMaker_js.js +27 -7
  338. package/interactions_external_trail_dist_browser_index_js.js +2 -2
  339. package/interactions_light_dist_browser_ExternalLighter_js.js +27 -7
  340. package/interactions_light_dist_browser_ParticlesLighter_js.js +27 -7
  341. package/interactions_light_dist_browser_index_js.js +2 -2
  342. package/interactions_particles_attract_dist_browser_Attractor_js.js +26 -6
  343. package/interactions_particles_attract_dist_browser_index_js.js +2 -2
  344. package/interactions_particles_collisions_dist_browser_Collider_js.js +39 -9
  345. package/interactions_particles_collisions_dist_browser_OverlapPluginInstance_js.js +1 -1
  346. package/interactions_particles_collisions_dist_browser_OverlapPlugin_js.js +2 -2
  347. package/interactions_particles_collisions_dist_browser_index_js.js +2 -2
  348. package/interactions_particles_links_dist_browser_LinkInstance_js.js +2 -2
  349. package/interactions_particles_links_dist_browser_Linker_js.js +27 -7
  350. package/interactions_particles_links_dist_browser_LinksPlugin_js.js +2 -2
  351. package/interactions_particles_links_dist_browser_index_js.js +2 -2
  352. package/interactions_particles_repulse_dist_browser_Repulser_js.js +26 -6
  353. package/interactions_particles_repulse_dist_browser_index_js.js +2 -2
  354. package/package.json +79 -79
  355. package/paths_branches_dist_browser_BranchesPathGenerator_js.js +12 -2
  356. package/paths_branches_dist_browser_index_js.js +2 -2
  357. package/paths_brownian_dist_browser_BrownianPathGenerator_js.js +12 -2
  358. package/paths_brownian_dist_browser_index_js.js +2 -2
  359. package/paths_curlNoise_dist_browser_CurlNoiseGenerator_js.js +2 -2
  360. package/paths_curlNoise_dist_browser_index_js.js +12 -2
  361. package/paths_curves_dist_browser_CurvesPathGenerator_js.js +2 -2
  362. package/paths_curves_dist_browser_index_js.js +12 -2
  363. package/paths_fractalNoise_dist_browser_FractalNoiseGenerator_js.js +3 -3
  364. package/paths_fractalNoise_dist_browser_index_js.js +12 -2
  365. package/paths_grid_dist_browser_GridPathGenerator_js.js +12 -2
  366. package/paths_grid_dist_browser_index_js.js +2 -2
  367. package/paths_levy_dist_browser_LevyPathGenerator_js.js +12 -2
  368. package/paths_levy_dist_browser_index_js.js +2 -2
  369. package/paths_perlinNoise_dist_browser_PerlinNoiseGenerator_js.js +2 -2
  370. package/paths_perlinNoise_dist_browser_index_js.js +12 -2
  371. package/paths_polygon_dist_browser_PolygonPathGenerator_js.js +2 -2
  372. package/paths_polygon_dist_browser_index_js.js +12 -2
  373. package/paths_random_dist_browser_RandomPathGenerator_js.js +2 -2
  374. package/paths_random_dist_browser_index_js.js +12 -2
  375. package/paths_simplexNoise_dist_browser_SimplexNoiseGenerator_js.js +2 -2
  376. package/paths_simplexNoise_dist_browser_index_js.js +12 -2
  377. package/paths_spiral_dist_browser_SpiralPathGenerator_js.js +12 -2
  378. package/paths_spiral_dist_browser_index_js.js +2 -2
  379. package/paths_svg_dist_browser_SVGPathGenerator_js.js +2 -2
  380. package/paths_svg_dist_browser_index_js.js +12 -2
  381. package/paths_zigzag_dist_browser_ZigZagPathGenerator_js.js +2 -2
  382. package/paths_zigzag_dist_browser_index_js.js +12 -2
  383. package/plugins_absorbers_dist_browser_AbsorberInstance_js.js +2 -2
  384. package/plugins_absorbers_dist_browser_AbsorbersInstancesManager_js.js +2 -2
  385. package/plugins_absorbers_dist_browser_AbsorbersInteractor_js.js +26 -6
  386. package/plugins_absorbers_dist_browser_AbsorbersPluginInstance_js.js +1 -1
  387. package/plugins_absorbers_dist_browser_AbsorbersPlugin_js.js +1 -1
  388. package/plugins_absorbers_dist_browser_getAbsorbersInstancesManager_js.js +30 -0
  389. package/plugins_absorbers_dist_browser_index_js.js +22 -2
  390. package/plugins_backgroundMask_dist_browser_BackgroundMaskPluginInstance_js.js +2 -2
  391. package/plugins_backgroundMask_dist_browser_BackgroundMaskPlugin_js.js +2 -2
  392. package/plugins_backgroundMask_dist_browser_index_js.js +2 -2
  393. package/plugins_blend_dist_browser_BlendPluginInstance_js.js +1 -1
  394. package/plugins_blend_dist_browser_BlendPlugin_js.js +1 -1
  395. package/plugins_blend_dist_browser_index_js.js +2 -2
  396. package/plugins_canvasMask_dist_browser_CanvasMaskPluginInstance_js.js +3 -3
  397. package/plugins_canvasMask_dist_browser_CanvasMaskPlugin_js.js +2 -2
  398. package/plugins_canvasMask_dist_browser_index_js.js +2 -2
  399. package/plugins_colors_hex_dist_browser_HexColorManager_js.js +1 -1
  400. package/plugins_colors_hex_dist_browser_index_js.js +2 -2
  401. package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +1 -1
  402. package/plugins_colors_hsl_dist_browser_index_js.js +2 -2
  403. package/plugins_colors_hsv_dist_browser_HsvColorManager_js.js +1 -1
  404. package/plugins_colors_hsv_dist_browser_index_js.js +2 -2
  405. package/plugins_colors_hwb_dist_browser_HwbColorManager_js.js +1 -1
  406. package/plugins_colors_hwb_dist_browser_index_js.js +2 -2
  407. package/plugins_colors_lab_dist_browser_LabColorManager_js.js +1 -1
  408. package/plugins_colors_lab_dist_browser_index_js.js +2 -2
  409. package/plugins_colors_lch_dist_browser_LchColorManager_js.js +1 -1
  410. package/plugins_colors_lch_dist_browser_index_js.js +2 -2
  411. package/plugins_colors_named_dist_browser_NamedColorManager_js.js +1 -1
  412. package/plugins_colors_named_dist_browser_index_js.js +2 -2
  413. package/plugins_colors_oklab_dist_browser_OklabColorManager_js.js +1 -1
  414. package/plugins_colors_oklab_dist_browser_index_js.js +2 -2
  415. package/plugins_colors_oklch_dist_browser_OklchColorManager_js.js +1 -1
  416. package/plugins_colors_oklch_dist_browser_index_js.js +2 -2
  417. package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +1 -1
  418. package/plugins_colors_rgb_dist_browser_index_js.js +2 -2
  419. package/plugins_easings_back_dist_browser_easingsFunctions_js.js +1 -1
  420. package/plugins_easings_back_dist_browser_index_js.js +2 -2
  421. package/plugins_easings_bounce_dist_browser_easingsFunctions_js.js +1 -1
  422. package/plugins_easings_bounce_dist_browser_index_js.js +2 -2
  423. package/plugins_easings_circ_dist_browser_easingsFunctions_js.js +1 -1
  424. package/plugins_easings_circ_dist_browser_index_js.js +2 -2
  425. package/plugins_easings_cubic_dist_browser_easingsFunctions_js.js +1 -1
  426. package/plugins_easings_cubic_dist_browser_index_js.js +2 -2
  427. package/plugins_easings_elastic_dist_browser_easingsFunctions_js.js +1 -1
  428. package/plugins_easings_elastic_dist_browser_index_js.js +2 -2
  429. package/plugins_easings_expo_dist_browser_easingsFunctions_js.js +1 -1
  430. package/plugins_easings_expo_dist_browser_index_js.js +2 -2
  431. package/plugins_easings_gaussian_dist_browser_easingsFunctions_js.js +1 -1
  432. package/plugins_easings_gaussian_dist_browser_index_js.js +2 -2
  433. package/plugins_easings_linear_dist_browser_easingsFunctions_js.js +1 -1
  434. package/plugins_easings_linear_dist_browser_index_js.js +2 -2
  435. package/plugins_easings_quad_dist_browser_easingsFunctions_js.js +1 -1
  436. package/plugins_easings_quad_dist_browser_index_js.js +2 -2
  437. package/plugins_easings_quart_dist_browser_easingsFunctions_js.js +1 -1
  438. package/plugins_easings_quart_dist_browser_index_js.js +2 -2
  439. package/plugins_easings_quint_dist_browser_easingsFunctions_js.js +1 -1
  440. package/plugins_easings_quint_dist_browser_index_js.js +2 -2
  441. package/plugins_easings_sigmoid_dist_browser_easingsFunctions_js.js +1 -1
  442. package/plugins_easings_sigmoid_dist_browser_index_js.js +2 -2
  443. package/plugins_easings_sine_dist_browser_easingsFunctions_js.js +1 -1
  444. package/plugins_easings_sine_dist_browser_index_js.js +2 -2
  445. package/plugins_easings_smoothstep_dist_browser_easingsFunctions_js.js +1 -1
  446. package/plugins_easings_smoothstep_dist_browser_index_js.js +2 -2
  447. package/plugins_emittersShapes_canvas_dist_browser_EmittersCanvasShapeGenerator_js.js +35 -5
  448. package/plugins_emittersShapes_canvas_dist_browser_index_js.js +2 -2
  449. package/plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js.js +32 -2
  450. package/plugins_emittersShapes_circle_dist_browser_index_js.js +2 -2
  451. package/plugins_emittersShapes_path_dist_browser_EmittersPathShapeGenerator_js.js +33 -3
  452. package/plugins_emittersShapes_path_dist_browser_index_js.js +2 -2
  453. package/plugins_emittersShapes_polygon_dist_browser_EmittersPolygonShapeGenerator_js.js +32 -2
  454. package/plugins_emittersShapes_polygon_dist_browser_index_js.js +2 -2
  455. package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +32 -2
  456. package/plugins_emittersShapes_square_dist_browser_index_js.js +2 -2
  457. package/plugins_emitters_dist_browser_EmitterInstance_js.js +2 -2
  458. package/plugins_emitters_dist_browser_EmittersInstancesManager_js.js +2 -2
  459. package/plugins_emitters_dist_browser_EmittersInteractor_js.js +26 -6
  460. package/plugins_emitters_dist_browser_EmittersPluginInstance_js.js +1 -1
  461. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +1 -1
  462. package/plugins_emitters_dist_browser_ShapeManager_js.js +1 -1
  463. package/plugins_emitters_dist_browser_addEmittersShapesManager_js.js +30 -0
  464. package/plugins_emitters_dist_browser_getEmittersInstancesManager_js.js +30 -0
  465. package/plugins_emitters_dist_browser_index_js.js +32 -2
  466. package/plugins_exports_image_dist_browser_ExportImagePluginInstance_js.js +1 -1
  467. package/plugins_exports_image_dist_browser_ExportImagePlugin_js.js +1 -1
  468. package/plugins_exports_image_dist_browser_index_js.js +2 -2
  469. package/plugins_exports_json_dist_browser_ExportJSONPluginInstance_js.js +1 -1
  470. package/plugins_exports_json_dist_browser_ExportJSONPlugin_js.js +1 -1
  471. package/plugins_exports_json_dist_browser_index_js.js +2 -2
  472. package/plugins_exports_video_dist_browser_ExportVideoPluginInstance_js.js +1 -1
  473. package/plugins_exports_video_dist_browser_ExportVideoPlugin_js.js +1 -1
  474. package/plugins_exports_video_dist_browser_index_js.js +2 -2
  475. package/plugins_infection_dist_browser_InfectionPluginInstance_js.js +1 -1
  476. package/plugins_infection_dist_browser_InfectionPlugin_js.js +1 -1
  477. package/plugins_infection_dist_browser_ParticlesInfecter_js.js +26 -6
  478. package/plugins_infection_dist_browser_index_js.js +2 -2
  479. package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +4 -4
  480. package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +3 -3
  481. package/plugins_interactivity_dist_browser_index_js.js +26 -6
  482. package/plugins_manualParticles_dist_browser_ManualParticlesPluginInstance_js.js +1 -1
  483. package/plugins_manualParticles_dist_browser_ManualParticlesPlugin_js.js +2 -2
  484. package/plugins_manualParticles_dist_browser_index_js.js +2 -2
  485. package/plugins_motion_dist_browser_MotionPluginInstance_js.js +1 -1
  486. package/plugins_motion_dist_browser_MotionPlugin_js.js +1 -1
  487. package/plugins_motion_dist_browser_index_js.js +2 -2
  488. package/plugins_move_dist_browser_MovePluginInstance_js.js +3 -3
  489. package/plugins_move_dist_browser_MovePlugin_js.js +2 -2
  490. package/plugins_move_dist_browser_index_js.js +2 -2
  491. package/plugins_poisson_dist_browser_PoissonDiscPluginInstance_js.js +1 -1
  492. package/plugins_poisson_dist_browser_PoissonDiscPlugin_js.js +2 -2
  493. package/plugins_poisson_dist_browser_PoissonDisc_js.js +1 -1
  494. package/plugins_poisson_dist_browser_index_js.js +2 -2
  495. package/plugins_polygonMask_dist_browser_PolygonMaskInstance_js.js +3 -3
  496. package/plugins_polygonMask_dist_browser_PolygonMaskPlugin_js.js +5 -5
  497. package/plugins_polygonMask_dist_browser_index_js.js +2 -2
  498. package/plugins_responsive_dist_browser_ResponsivePluginInstance_js.js +2 -2
  499. package/plugins_responsive_dist_browser_ResponsivePlugin_js.js +2 -2
  500. package/plugins_responsive_dist_browser_index_js.js +2 -2
  501. package/plugins_sounds_dist_browser_SoundsPluginInstance_js.js +2 -2
  502. package/plugins_sounds_dist_browser_SoundsPlugin_js.js +2 -2
  503. package/plugins_sounds_dist_browser_index_js.js +2 -2
  504. package/plugins_themes_dist_browser_ThemesPluginInstance_js.js +1 -1
  505. package/plugins_themes_dist_browser_ThemesPlugin_js.js +1 -1
  506. package/plugins_themes_dist_browser_index_js.js +2 -2
  507. package/plugins_trail_dist_browser_TrailPluginInstance_js.js +2 -2
  508. package/plugins_trail_dist_browser_TrailPlugin_js.js +24 -4
  509. package/plugins_trail_dist_browser_index_js.js +2 -2
  510. package/plugins_zoom_dist_browser_ZoomPluginInstance_js.js +1 -1
  511. package/plugins_zoom_dist_browser_ZoomPlugin_js.js +1 -1
  512. package/plugins_zoom_dist_browser_index_js.js +2 -2
  513. package/report.html +84 -29
  514. package/shapes_arrow_dist_browser_ArrowDrawer_js.js +1 -1
  515. package/shapes_arrow_dist_browser_index_js.js +2 -2
  516. package/shapes_cards_dist_browser_cards_CardDrawer_js.js +2 -2
  517. package/shapes_cards_dist_browser_clubs_ClubDrawer_js.js +1 -1
  518. package/shapes_cards_dist_browser_diamonds_DiamondDrawer_js.js +1 -1
  519. package/shapes_cards_dist_browser_hearts_HeartDrawer_js.js +1 -1
  520. package/shapes_cards_dist_browser_index_js.js +17 -7
  521. package/shapes_cards_dist_browser_paths_js.js +1 -1
  522. package/shapes_cards_dist_browser_spades_SpadeDrawer_js.js +1 -1
  523. package/shapes_circle_dist_browser_CircleDrawer_js.js +1 -1
  524. package/shapes_circle_dist_browser_index_js.js +2 -2
  525. package/shapes_cog_dist_browser_CogDrawer_js.js +1 -1
  526. package/shapes_cog_dist_browser_index_js.js +2 -2
  527. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +3 -3
  528. package/shapes_emoji_dist_browser_index_js.js +2 -2
  529. package/shapes_heart_dist_browser_HeartDrawer_js.js +1 -1
  530. package/shapes_heart_dist_browser_index_js.js +2 -2
  531. package/shapes_image_dist_browser_GifUtils_Utils_js.js +1 -1
  532. package/shapes_image_dist_browser_ImageDrawer_js.js +2 -2
  533. package/shapes_image_dist_browser_ImagePreloaderInstance_js.js +1 -1
  534. package/shapes_image_dist_browser_ImagePreloader_js.js +1 -1
  535. package/shapes_image_dist_browser_index_js.js +2 -2
  536. package/shapes_infinity_dist_browser_InfinityDrawer_js.js +2 -2
  537. package/shapes_infinity_dist_browser_index_js.js +2 -2
  538. package/shapes_line_dist_browser_LineDrawer_js.js +1 -1
  539. package/shapes_line_dist_browser_index_js.js +2 -2
  540. package/shapes_matrix_dist_browser_MatrixDrawer_js.js +1 -1
  541. package/shapes_matrix_dist_browser_index_js.js +2 -2
  542. package/shapes_path_dist_browser_PathDrawer_js.js +1 -1
  543. package/shapes_path_dist_browser_index_js.js +2 -2
  544. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +1 -1
  545. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +2 -2
  546. package/shapes_polygon_dist_browser_index_js.js +2 -2
  547. package/shapes_rounded-polygon_dist_browser_RoundedPolygonDrawer_js.js +1 -1
  548. package/shapes_rounded-polygon_dist_browser_index_js.js +2 -2
  549. package/shapes_rounded-rect_dist_browser_RoundedRectDrawer_js.js +1 -1
  550. package/shapes_rounded-rect_dist_browser_index_js.js +2 -2
  551. package/shapes_spiral_dist_browser_SpiralDrawer_js.js +1 -1
  552. package/shapes_spiral_dist_browser_index_js.js +2 -2
  553. package/shapes_square_dist_browser_SquareDrawer_js.js +1 -1
  554. package/shapes_square_dist_browser_index_js.js +2 -2
  555. package/shapes_squircle_dist_browser_SquircleDrawer_js.js +1 -1
  556. package/shapes_squircle_dist_browser_index_js.js +2 -2
  557. package/shapes_star_dist_browser_StarDrawer_js.js +1 -1
  558. package/shapes_star_dist_browser_index_js.js +2 -2
  559. package/shapes_text_dist_browser_TextDrawer_js.js +2 -2
  560. package/shapes_text_dist_browser_index_js.js +2 -2
  561. package/slim_dist_browser_index_js.js +2 -2
  562. package/tsparticles.all.bundle.js +19 -9
  563. package/tsparticles.all.bundle.min.js +2 -2
  564. package/tsparticles.all.js +26 -6
  565. package/tsparticles.all.min.js +1 -1
  566. package/updaters_destroy_dist_browser_DestroyUpdater_js.js +3 -3
  567. package/updaters_destroy_dist_browser_index_js.js +2 -2
  568. package/updaters_fillColor_dist_browser_FillColorUpdater_js.js +2 -2
  569. package/updaters_fillColor_dist_browser_index_js.js +2 -2
  570. package/updaters_gradient_dist_browser_GradientUpdater_js.js +2 -2
  571. package/updaters_gradient_dist_browser_index_js.js +2 -2
  572. package/updaters_life_dist_browser_LifeUpdater_js.js +1 -1
  573. package/updaters_life_dist_browser_index_js.js +2 -2
  574. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +2 -2
  575. package/updaters_opacity_dist_browser_index_js.js +2 -2
  576. package/updaters_orbit_dist_browser_OrbitUpdater_js.js +3 -3
  577. package/updaters_orbit_dist_browser_index_js.js +2 -2
  578. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +3 -3
  579. package/updaters_outModes_dist_browser_index_js.js +2 -2
  580. package/updaters_roll_dist_browser_RollUpdater_js.js +3 -3
  581. package/updaters_roll_dist_browser_index_js.js +2 -2
  582. package/updaters_rotate_dist_browser_RotateUpdater_js.js +1 -1
  583. package/updaters_rotate_dist_browser_index_js.js +2 -2
  584. package/updaters_size_dist_browser_SizeUpdater_js.js +2 -2
  585. package/updaters_size_dist_browser_index_js.js +2 -2
  586. package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +2 -2
  587. package/updaters_strokeColor_dist_browser_index_js.js +2 -2
  588. package/updaters_tilt_dist_browser_TiltUpdater_js.js +1 -1
  589. package/updaters_tilt_dist_browser_index_js.js +2 -2
  590. package/updaters_twinkle_dist_browser_TwinkleUpdater_js.js +2 -2
  591. package/updaters_twinkle_dist_browser_index_js.js +2 -2
  592. package/updaters_wobble_dist_browser_WobbleUpdater_js.js +3 -3
  593. package/updaters_wobble_dist_browser_index_js.js +2 -2
  594. package/utils_simplexNoise_dist_browser_index_js.js +4 -4
  595. package/102.min.js +0 -1
  596. package/1053.min.js +0 -1
  597. package/1060.min.js +0 -1
  598. package/1098.min.js +0 -1
  599. package/1146.min.js +0 -1
  600. package/1171.min.js +0 -1
  601. package/1196.min.js +0 -1
  602. package/1220.min.js +0 -1
  603. package/1276.min.js +0 -1
  604. package/1283.min.js +0 -1
  605. package/1298.min.js +0 -1
  606. package/1302.min.js +0 -1
  607. package/1304.min.js +0 -1
  608. package/134.min.js +0 -1
  609. package/1368.min.js +0 -1
  610. package/1411.min.js +0 -1
  611. package/1513.min.js +0 -1
  612. package/1553.min.js +0 -1
  613. package/1556.min.js +0 -1
  614. package/161.min.js +0 -1
  615. package/1667.min.js +0 -1
  616. package/1739.min.js +0 -1
  617. package/1766.min.js +0 -1
  618. package/1906.min.js +0 -1
  619. package/2086.min.js +0 -1
  620. package/2123.min.js +0 -2
  621. package/2142.min.js +0 -1
  622. package/2167.min.js +0 -1
  623. package/2217.min.js +0 -1
  624. package/2218.min.js +0 -1
  625. package/229.min.js +0 -1
  626. package/2292.min.js +0 -1
  627. package/2317.min.js +0 -1
  628. package/2346.min.js +0 -1
  629. package/2397.min.js +0 -1
  630. package/241.min.js +0 -1
  631. package/2418.min.js +0 -1
  632. package/2488.min.js +0 -1
  633. package/2541.min.js +0 -1
  634. package/2553.min.js +0 -1
  635. package/2569.min.js +0 -1
  636. package/2609.min.js +0 -1
  637. package/2616.min.js +0 -1
  638. package/2618.min.js +0 -1
  639. package/2642.min.js +0 -1
  640. package/2715.min.js +0 -1
  641. package/2738.min.js +0 -1
  642. package/2846.min.js +0 -1
  643. package/3037.min.js +0 -1
  644. package/3091.min.js +0 -1
  645. package/3093.min.js +0 -1
  646. package/3130.min.js +0 -1
  647. package/3136.min.js +0 -1
  648. package/3138.min.js +0 -1
  649. package/3194.min.js +0 -1
  650. package/3216.min.js +0 -1
  651. package/3257.min.js +0 -1
  652. package/3296.min.js +0 -1
  653. package/3391.min.js +0 -1
  654. package/3407.min.js +0 -1
  655. package/342.min.js +0 -1
  656. package/3455.min.js +0 -1
  657. package/3509.min.js +0 -1
  658. package/358.min.js +0 -1
  659. package/3618.min.js +0 -1
  660. package/3657.min.js +0 -1
  661. package/3659.min.js +0 -1
  662. package/366.min.js +0 -1
  663. package/3663.min.js +0 -1
  664. package/3713.min.js +0 -1
  665. package/3715.min.js +0 -1
  666. package/3747.min.js +0 -1
  667. package/3766.min.js +0 -1
  668. package/379.min.js +0 -1
  669. package/3813.min.js +0 -1
  670. package/3853.min.js +0 -1
  671. package/3912.min.js +0 -1
  672. package/3924.min.js +0 -1
  673. package/4067.min.js +0 -1
  674. package/4073.min.js +0 -1
  675. package/4082.min.js +0 -1
  676. package/4089.min.js +0 -1
  677. package/4141.min.js +0 -1
  678. package/4149.min.js +0 -1
  679. package/4257.min.js +0 -1
  680. package/4268.min.js +0 -1
  681. package/4270.min.js +0 -1
  682. package/4285.min.js +0 -1
  683. package/4292.min.js +0 -1
  684. package/4385.min.js +0 -1
  685. package/439.min.js +0 -1
  686. package/4413.min.js +0 -1
  687. package/4424.min.js +0 -1
  688. package/4433.min.js +0 -1
  689. package/4462.min.js +0 -1
  690. package/4463.min.js +0 -1
  691. package/449.min.js +0 -1
  692. package/4532.min.js +0 -1
  693. package/4572.min.js +0 -1
  694. package/4660.min.js +0 -1
  695. package/4669.min.js +0 -1
  696. package/4671.min.js +0 -1
  697. package/468.min.js +0 -1
  698. package/4683.min.js +0 -1
  699. package/4708.min.js +0 -1
  700. package/4792.min.js +0 -1
  701. package/485.min.js +0 -1
  702. package/4894.min.js +0 -1
  703. package/4932.min.js +0 -1
  704. package/514.min.js +0 -1
  705. package/5157.min.js +0 -1
  706. package/5206.min.js +0 -1
  707. package/521.min.js +0 -1
  708. package/5315.min.js +0 -1
  709. package/5322.min.js +0 -1
  710. package/533.min.js +0 -1
  711. package/5390.min.js +0 -1
  712. package/5406.min.js +0 -1
  713. package/5478.min.js +0 -1
  714. package/5531.min.js +0 -1
  715. package/5538.min.js +0 -1
  716. package/5552.min.js +0 -1
  717. package/5558.min.js +0 -1
  718. package/5638.min.js +0 -1
  719. package/5712.min.js +0 -1
  720. package/5723.min.js +0 -1
  721. package/5740.min.js +0 -1
  722. package/5833.min.js +0 -1
  723. package/5901.min.js +0 -1
  724. package/6041.min.js +0 -1
  725. package/6058.min.js +0 -1
  726. package/6066.min.js +0 -1
  727. package/608.min.js +0 -1
  728. package/6098.min.js +0 -1
  729. package/6101.min.js +0 -1
  730. package/6179.min.js +0 -1
  731. package/6193.min.js +0 -1
  732. package/6211.min.js +0 -1
  733. package/622.min.js +0 -1
  734. package/6221.min.js +0 -1
  735. package/6299.min.js +0 -1
  736. package/6351.min.js +0 -1
  737. package/6387.min.js +0 -1
  738. package/6405.min.js +0 -1
  739. package/644.min.js +0 -1
  740. package/6450.min.js +0 -1
  741. package/6465.min.js +0 -1
  742. package/65.min.js +0 -1
  743. package/653.min.js +0 -1
  744. package/6583.min.js +0 -1
  745. package/6638.min.js +0 -1
  746. package/6684.min.js +0 -1
  747. package/6839.min.js +0 -1
  748. package/6900.min.js +0 -1
  749. package/6970.min.js +0 -1
  750. package/6982.min.js +0 -1
  751. package/6986.min.js +0 -1
  752. package/701.min.js +0 -1
  753. package/702.min.js +0 -1
  754. package/7028.min.js +0 -1
  755. package/7116.min.js +0 -1
  756. package/7256.min.js +0 -1
  757. package/7318.min.js +0 -1
  758. package/7377.min.js +0 -1
  759. package/7398.min.js +0 -1
  760. package/742.min.js +0 -1
  761. package/7449.min.js +0 -1
  762. package/7475.min.js +0 -1
  763. package/7559.min.js +0 -1
  764. package/7622.min.js +0 -2
  765. package/7646.min.js +0 -1
  766. package/7724.min.js +0 -1
  767. package/7812.min.js +0 -1
  768. package/787.min.js +0 -1
  769. package/7922.min.js +0 -1
  770. package/7925.min.js +0 -1
  771. package/7937.min.js +0 -1
  772. package/7977.min.js +0 -1
  773. package/8032.min.js +0 -1
  774. package/8061.min.js +0 -1
  775. package/8109.min.js +0 -1
  776. package/811.min.js +0 -1
  777. package/8214.min.js +0 -1
  778. package/8222.min.js +0 -1
  779. package/8248.min.js +0 -1
  780. package/8315.min.js +0 -1
  781. package/8322.min.js +0 -1
  782. package/8383.min.js +0 -1
  783. package/8386.min.js +0 -1
  784. package/84.min.js +0 -1
  785. package/8476.min.js +0 -1
  786. package/8484.min.js +0 -1
  787. package/8517.min.js +0 -1
  788. package/8565.min.js +0 -1
  789. package/8589.min.js +0 -1
  790. package/8620.min.js +0 -1
  791. package/8689.min.js +0 -1
  792. package/8756.min.js +0 -1
  793. package/881.min.js +0 -1
  794. package/8815.min.js +0 -1
  795. package/8819.min.js +0 -1
  796. package/8826.min.js +0 -1
  797. package/8841.min.js +0 -1
  798. package/8843.min.js +0 -1
  799. package/8902.min.js +0 -1
  800. package/8926.min.js +0 -2
  801. package/9082.min.js +0 -1
  802. package/916.min.js +0 -1
  803. package/9177.min.js +0 -1
  804. package/9279.min.js +0 -1
  805. package/9345.min.js +0 -1
  806. package/9352.min.js +0 -1
  807. package/9544.min.js +0 -1
  808. package/9565.min.js +0 -1
  809. package/9578.min.js +0 -1
  810. package/9611.min.js +0 -1
  811. package/9613.min.js +0 -1
  812. package/9666.min.js +0 -1
  813. package/9739.min.js +0 -1
  814. package/9956.min.js +0 -1
  815. package/umd/bundle.js +0 -30
  816. package/umd/index.js +0 -210
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -37,13 +37,43 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
37
37
 
38
38
  /***/ },
39
39
 
40
+ /***/ "../../plugins/emitters/dist/browser/ensureEmittersPluginLoaded.js"
41
+ /*!*************************************************************************!*\
42
+ !*** ../../plugins/emitters/dist/browser/ensureEmittersPluginLoaded.js ***!
43
+ \*************************************************************************/
44
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
+
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ensureEmittersPluginLoaded: () => (/* binding */ ensureEmittersPluginLoaded)\n/* harmony export */ });\nfunction ensureEmittersPluginLoaded(e) {\n if (!e.pluginManager.addEmitterShapeGenerator) {\n throw new Error(\"tsParticles Emitters Plugin is not loaded\");\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/ensureEmittersPluginLoaded.js?\n}");
47
+
48
+ /***/ },
49
+
40
50
  /***/ "../../plugins/emitters/dist/browser/index.js"
41
51
  /*!****************************************************!*\
42
52
  !*** ../../plugins/emitters/dist/browser/index.js ***!
43
53
  \****************************************************/
44
54
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
55
 
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-beta.0\");\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}");
56
+ 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_4__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_3__.EmitterShapeBase),\n/* harmony export */ ensureEmittersPluginLoaded: () => (/* reexport safe */ _ensureEmittersPluginLoaded_js__WEBPACK_IMPORTED_MODULE_2__.ensureEmittersPluginLoaded),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _interaction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interaction.js */ \"../../plugins/emitters/dist/browser/interaction.js\");\n/* harmony import */ var _plugin_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./plugin.js */ \"../../plugins/emitters/dist/browser/plugin.js\");\n/* harmony import */ var _ensureEmittersPluginLoaded_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ensureEmittersPluginLoaded.js */ \"../../plugins/emitters/dist/browser/ensureEmittersPluginLoaded.js\");\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"../../plugins/emitters/dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\n\n\nasync function loadEmittersPlugin(engine) {\n await (0,_plugin_js__WEBPACK_IMPORTED_MODULE_1__.loadEmittersPluginSimple)(engine);\n await (0,_interaction_js__WEBPACK_IMPORTED_MODULE_0__.loadEmittersInteraction)(engine);\n}\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/index.js?\n}");
57
+
58
+ /***/ },
59
+
60
+ /***/ "../../plugins/emitters/dist/browser/interaction.js"
61
+ /*!**********************************************************!*\
62
+ !*** ../../plugins/emitters/dist/browser/interaction.js ***!
63
+ \**********************************************************/
64
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
65
+
66
+ 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 */ loadEmittersInteraction: () => (/* binding */ loadEmittersInteraction)\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 loadEmittersInteraction(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { addEmittersShapesManager }, { getEmittersInstancesManager }] = 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_addEmittersShapesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./addEmittersShapesManager.js */ \"../../plugins/emitters/dist/browser/addEmittersShapesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_getEmittersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./getEmittersInstancesManager.js */ \"../../plugins/emitters/dist/browser/getEmittersInstancesManager.js\"))\n ]), instancesManager = await getEmittersInstancesManager(e);\n ensureInteractivityPluginLoaded(e);\n await addEmittersShapesManager(e);\n e.pluginManager.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}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/interaction.js?\n}");
67
+
68
+ /***/ },
69
+
70
+ /***/ "../../plugins/emitters/dist/browser/plugin.js"
71
+ /*!*****************************************************!*\
72
+ !*** ../../plugins/emitters/dist/browser/plugin.js ***!
73
+ \*****************************************************/
74
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
75
+
76
+ 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 */ loadEmittersPluginSimple: () => (/* binding */ loadEmittersPluginSimple)\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 loadEmittersPluginSimple(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register(async (e)=>{\n const [{ addEmittersShapesManager }, { getEmittersInstancesManager }, { EmittersPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_addEmittersShapesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./addEmittersShapesManager.js */ \"../../plugins/emitters/dist/browser/addEmittersShapesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_getEmittersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./getEmittersInstancesManager.js */ \"../../plugins/emitters/dist/browser/getEmittersInstancesManager.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 = await getEmittersInstancesManager(e);\n await addEmittersShapesManager(e);\n e.pluginManager.addPlugin(new EmittersPlugin(instancesManager));\n });\n}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/plugin.js?\n}");
47
77
 
48
78
  /***/ },
49
79
 
@@ -53,7 +83,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
53
83
  \***************************************************************************/
54
84
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
55
85
 
56
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmittersPathShape: () => (/* binding */ EmittersPathShape)\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 _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.js */ \"../../plugins/emittersShapes/path/dist/browser/utils.js\");\n\n\n\nclass EmittersPathShape extends _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_1__.EmitterShapeBase {\n checkContext;\n path;\n points;\n constructor(container, position, size, fill, options){\n super(position, size, fill, options);\n const ctx = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().createElement(\"canvas\").getContext(\"2d\", container.canvas.settings);\n if (!ctx) {\n throw new Error(`No 2d context available`);\n }\n this.checkContext = ctx;\n this.points = options.points;\n const pathData = this.points, path = new Path2D(), offset = {\n x: position.x - size.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half,\n y: position.y - size.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half\n };\n for (const [index, point] of pathData.entries()){\n const coords = {\n x: offset.x + point.x * size.width / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator,\n y: offset.y + point.y * size.height / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator\n };\n if (!index) {\n path.moveTo(coords.x, coords.y);\n } else {\n path.lineTo(coords.x, coords.y);\n }\n }\n const firstIndex = 0, firstPathData = pathData[firstIndex];\n if (!firstPathData) {\n throw new Error(`No path data available`);\n }\n const coords = {\n x: offset.x + firstPathData.x * size.width / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator,\n y: offset.y + firstPathData.y * size.height / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator\n };\n path.lineTo(coords.x, coords.y);\n this.path = path;\n }\n async init() {}\n randomPosition() {\n const ctx = this.checkContext, position = this.position, size = this.size, fill = this.fill, path = this.path, res = fill ? (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.generateRandomPointWithinPath)(ctx, path, position, size) : (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.generateRandomPointOnPathPerimeter)(ctx, path, position, size);\n return res ? {\n position: res\n } : null;\n }\n resize(position, size) {\n super.resize(position, size);\n const pathData = this.points, path = new Path2D(), offset = {\n x: position.x - size.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half,\n y: position.y - size.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half\n };\n for (const [index, point] of pathData.entries()){\n const coords = {\n x: offset.x + point.x * size.width / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator,\n y: offset.y + point.y * size.height / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator\n };\n if (!index) {\n path.moveTo(coords.x, coords.y);\n } else {\n path.lineTo(coords.x, coords.y);\n }\n }\n const firstIndex = 0, firstPathData = pathData[firstIndex];\n if (!firstPathData) {\n throw new Error(`No path data available`);\n }\n const coords = {\n x: offset.x + firstPathData.x * size.width / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator,\n y: offset.y + firstPathData.y * size.height / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator\n };\n path.lineTo(coords.x, coords.y);\n this.path = path;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/path/dist/browser/EmittersPathShape.js?\n}");
86
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmittersPathShape: () => (/* binding */ EmittersPathShape)\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 _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.js */ \"../../plugins/emittersShapes/path/dist/browser/utils.js\");\n\n\n\nclass EmittersPathShape extends _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_1__.EmitterShapeBase {\n checkContext;\n path;\n points;\n constructor(container, position, size, fill, options){\n super(position, size, fill, options);\n const ctx = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().createElement(\"canvas\").getContext(\"2d\", container.canvas.render.settings);\n if (!ctx) {\n throw new Error(`No 2d context available`);\n }\n this.checkContext = ctx;\n this.points = options.points;\n const pathData = this.points, path = new Path2D(), offset = {\n x: position.x - size.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half,\n y: position.y - size.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half\n };\n for (const [index, point] of pathData.entries()){\n const coords = {\n x: offset.x + point.x * size.width / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator,\n y: offset.y + point.y * size.height / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator\n };\n if (!index) {\n path.moveTo(coords.x, coords.y);\n } else {\n path.lineTo(coords.x, coords.y);\n }\n }\n const firstIndex = 0, firstPathData = pathData[firstIndex];\n if (!firstPathData) {\n throw new Error(`No path data available`);\n }\n const coords = {\n x: offset.x + firstPathData.x * size.width / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator,\n y: offset.y + firstPathData.y * size.height / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator\n };\n path.lineTo(coords.x, coords.y);\n this.path = path;\n }\n async init() {}\n randomPosition() {\n const ctx = this.checkContext, position = this.position, size = this.size, fill = this.fill, path = this.path, res = fill ? (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.generateRandomPointWithinPath)(ctx, path, position, size) : (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.generateRandomPointOnPathPerimeter)(ctx, path, position, size);\n return res ? {\n position: res\n } : null;\n }\n resize(position, size) {\n super.resize(position, size);\n const pathData = this.points, path = new Path2D(), offset = {\n x: position.x - size.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half,\n y: position.y - size.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half\n };\n for (const [index, point] of pathData.entries()){\n const coords = {\n x: offset.x + point.x * size.width / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator,\n y: offset.y + point.y * size.height / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator\n };\n if (!index) {\n path.moveTo(coords.x, coords.y);\n } else {\n path.lineTo(coords.x, coords.y);\n }\n }\n const firstIndex = 0, firstPathData = pathData[firstIndex];\n if (!firstPathData) {\n throw new Error(`No path data available`);\n }\n const coords = {\n x: offset.x + firstPathData.x * size.width / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator,\n y: offset.y + firstPathData.y * size.height / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator\n };\n path.lineTo(coords.x, coords.y);\n this.path = path;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/path/dist/browser/EmittersPathShape.js?\n}");
57
87
 
58
88
  /***/ },
59
89
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
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-beta.0\");\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-beta.2\");\n await engine.pluginManager.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.pluginManager.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-beta.0
7
+ * v4.0.0-beta.2
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -37,13 +37,43 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
37
37
 
38
38
  /***/ },
39
39
 
40
+ /***/ "../../plugins/emitters/dist/browser/ensureEmittersPluginLoaded.js"
41
+ /*!*************************************************************************!*\
42
+ !*** ../../plugins/emitters/dist/browser/ensureEmittersPluginLoaded.js ***!
43
+ \*************************************************************************/
44
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
+
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ensureEmittersPluginLoaded: () => (/* binding */ ensureEmittersPluginLoaded)\n/* harmony export */ });\nfunction ensureEmittersPluginLoaded(e) {\n if (!e.pluginManager.addEmitterShapeGenerator) {\n throw new Error(\"tsParticles Emitters Plugin is not loaded\");\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/ensureEmittersPluginLoaded.js?\n}");
47
+
48
+ /***/ },
49
+
40
50
  /***/ "../../plugins/emitters/dist/browser/index.js"
41
51
  /*!****************************************************!*\
42
52
  !*** ../../plugins/emitters/dist/browser/index.js ***!
43
53
  \****************************************************/
44
54
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
55
 
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-beta.0\");\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}");
56
+ 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_4__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_3__.EmitterShapeBase),\n/* harmony export */ ensureEmittersPluginLoaded: () => (/* reexport safe */ _ensureEmittersPluginLoaded_js__WEBPACK_IMPORTED_MODULE_2__.ensureEmittersPluginLoaded),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _interaction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interaction.js */ \"../../plugins/emitters/dist/browser/interaction.js\");\n/* harmony import */ var _plugin_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./plugin.js */ \"../../plugins/emitters/dist/browser/plugin.js\");\n/* harmony import */ var _ensureEmittersPluginLoaded_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ensureEmittersPluginLoaded.js */ \"../../plugins/emitters/dist/browser/ensureEmittersPluginLoaded.js\");\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"../../plugins/emitters/dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\n\n\nasync function loadEmittersPlugin(engine) {\n await (0,_plugin_js__WEBPACK_IMPORTED_MODULE_1__.loadEmittersPluginSimple)(engine);\n await (0,_interaction_js__WEBPACK_IMPORTED_MODULE_0__.loadEmittersInteraction)(engine);\n}\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/index.js?\n}");
57
+
58
+ /***/ },
59
+
60
+ /***/ "../../plugins/emitters/dist/browser/interaction.js"
61
+ /*!**********************************************************!*\
62
+ !*** ../../plugins/emitters/dist/browser/interaction.js ***!
63
+ \**********************************************************/
64
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
65
+
66
+ 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 */ loadEmittersInteraction: () => (/* binding */ loadEmittersInteraction)\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 loadEmittersInteraction(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { addEmittersShapesManager }, { getEmittersInstancesManager }] = 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_addEmittersShapesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./addEmittersShapesManager.js */ \"../../plugins/emitters/dist/browser/addEmittersShapesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_getEmittersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./getEmittersInstancesManager.js */ \"../../plugins/emitters/dist/browser/getEmittersInstancesManager.js\"))\n ]), instancesManager = await getEmittersInstancesManager(e);\n ensureInteractivityPluginLoaded(e);\n await addEmittersShapesManager(e);\n e.pluginManager.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}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/interaction.js?\n}");
67
+
68
+ /***/ },
69
+
70
+ /***/ "../../plugins/emitters/dist/browser/plugin.js"
71
+ /*!*****************************************************!*\
72
+ !*** ../../plugins/emitters/dist/browser/plugin.js ***!
73
+ \*****************************************************/
74
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
75
+
76
+ 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 */ loadEmittersPluginSimple: () => (/* binding */ loadEmittersPluginSimple)\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 loadEmittersPluginSimple(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register(async (e)=>{\n const [{ addEmittersShapesManager }, { getEmittersInstancesManager }, { EmittersPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_addEmittersShapesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./addEmittersShapesManager.js */ \"../../plugins/emitters/dist/browser/addEmittersShapesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_getEmittersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./getEmittersInstancesManager.js */ \"../../plugins/emitters/dist/browser/getEmittersInstancesManager.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 = await getEmittersInstancesManager(e);\n await addEmittersShapesManager(e);\n e.pluginManager.addPlugin(new EmittersPlugin(instancesManager));\n });\n}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/plugin.js?\n}");
47
77
 
48
78
  /***/ },
49
79
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
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-beta.0\");\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-beta.2\");\n await engine.pluginManager.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.pluginManager.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-beta.0
7
+ * v4.0.0-beta.2
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -37,13 +37,43 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
37
37
 
38
38
  /***/ },
39
39
 
40
+ /***/ "../../plugins/emitters/dist/browser/ensureEmittersPluginLoaded.js"
41
+ /*!*************************************************************************!*\
42
+ !*** ../../plugins/emitters/dist/browser/ensureEmittersPluginLoaded.js ***!
43
+ \*************************************************************************/
44
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
+
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ensureEmittersPluginLoaded: () => (/* binding */ ensureEmittersPluginLoaded)\n/* harmony export */ });\nfunction ensureEmittersPluginLoaded(e) {\n if (!e.pluginManager.addEmitterShapeGenerator) {\n throw new Error(\"tsParticles Emitters Plugin is not loaded\");\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/ensureEmittersPluginLoaded.js?\n}");
47
+
48
+ /***/ },
49
+
40
50
  /***/ "../../plugins/emitters/dist/browser/index.js"
41
51
  /*!****************************************************!*\
42
52
  !*** ../../plugins/emitters/dist/browser/index.js ***!
43
53
  \****************************************************/
44
54
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
55
 
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-beta.0\");\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}");
56
+ 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_4__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_3__.EmitterShapeBase),\n/* harmony export */ ensureEmittersPluginLoaded: () => (/* reexport safe */ _ensureEmittersPluginLoaded_js__WEBPACK_IMPORTED_MODULE_2__.ensureEmittersPluginLoaded),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _interaction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interaction.js */ \"../../plugins/emitters/dist/browser/interaction.js\");\n/* harmony import */ var _plugin_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./plugin.js */ \"../../plugins/emitters/dist/browser/plugin.js\");\n/* harmony import */ var _ensureEmittersPluginLoaded_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ensureEmittersPluginLoaded.js */ \"../../plugins/emitters/dist/browser/ensureEmittersPluginLoaded.js\");\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"../../plugins/emitters/dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\n\n\nasync function loadEmittersPlugin(engine) {\n await (0,_plugin_js__WEBPACK_IMPORTED_MODULE_1__.loadEmittersPluginSimple)(engine);\n await (0,_interaction_js__WEBPACK_IMPORTED_MODULE_0__.loadEmittersInteraction)(engine);\n}\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/index.js?\n}");
57
+
58
+ /***/ },
59
+
60
+ /***/ "../../plugins/emitters/dist/browser/interaction.js"
61
+ /*!**********************************************************!*\
62
+ !*** ../../plugins/emitters/dist/browser/interaction.js ***!
63
+ \**********************************************************/
64
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
65
+
66
+ 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 */ loadEmittersInteraction: () => (/* binding */ loadEmittersInteraction)\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 loadEmittersInteraction(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { addEmittersShapesManager }, { getEmittersInstancesManager }] = 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_addEmittersShapesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./addEmittersShapesManager.js */ \"../../plugins/emitters/dist/browser/addEmittersShapesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_getEmittersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./getEmittersInstancesManager.js */ \"../../plugins/emitters/dist/browser/getEmittersInstancesManager.js\"))\n ]), instancesManager = await getEmittersInstancesManager(e);\n ensureInteractivityPluginLoaded(e);\n await addEmittersShapesManager(e);\n e.pluginManager.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}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/interaction.js?\n}");
67
+
68
+ /***/ },
69
+
70
+ /***/ "../../plugins/emitters/dist/browser/plugin.js"
71
+ /*!*****************************************************!*\
72
+ !*** ../../plugins/emitters/dist/browser/plugin.js ***!
73
+ \*****************************************************/
74
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
75
+
76
+ 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 */ loadEmittersPluginSimple: () => (/* binding */ loadEmittersPluginSimple)\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 loadEmittersPluginSimple(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register(async (e)=>{\n const [{ addEmittersShapesManager }, { getEmittersInstancesManager }, { EmittersPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_addEmittersShapesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./addEmittersShapesManager.js */ \"../../plugins/emitters/dist/browser/addEmittersShapesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_getEmittersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./getEmittersInstancesManager.js */ \"../../plugins/emitters/dist/browser/getEmittersInstancesManager.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 = await getEmittersInstancesManager(e);\n await addEmittersShapesManager(e);\n e.pluginManager.addPlugin(new EmittersPlugin(instancesManager));\n });\n}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/plugin.js?\n}");
47
77
 
48
78
  /***/ },
49
79
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
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-beta.0\");\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-beta.2\");\n await engine.pluginManager.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.pluginManager.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-beta.0
7
+ * v4.0.0-beta.2
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, 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}");
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 fill;\n name;\n options;\n position;\n size;\n spawnFillColor;\n spawnFillEnabled;\n spawnFillOpacity;\n spawnStrokeColor;\n spawnStrokeOpacity;\n spawnStrokeWidth;\n _container;\n _currentDuration;\n _currentEmitDelay;\n _currentSpawnDelay;\n _duration;\n _emitDelay;\n _firstSpawn;\n _immortal;\n _initialPosition;\n _lifeCount;\n _mutationObserver;\n _particlesOptions;\n _paused;\n _pluginManager;\n _removeCallback;\n _resizeObserver;\n _shape;\n _size;\n _spawnDelay;\n _startParticlesAdded;\n constructor(pluginManager, container, removeCallback, options, position){\n this._pluginManager = pluginManager;\n this._container = container;\n this._removeCallback = removeCallback;\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._pluginManager, 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._pluginManager, 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._pluginManager.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._container.dispatchEvent(\"emitterCreated\", {\n emitter: this\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._container.dispatchEvent(\"emitterPlay\");\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._container.dispatchEvent(\"emitterDestroyed\", {\n emitter: this\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-beta.0
7
+ * v4.0.0-beta.2
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 */ EmittersInstancesManager: () => (/* binding */ EmittersInstancesManager)\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\n\nconst defaultIndex = 0;\nclass EmittersInstancesManager {\n _containerArrays;\n _engine;\n constructor(engine){\n this._containerArrays = new Map();\n this._engine = engine;\n }\n async addEmitter(container, options, position) {\n const emitterOptions = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter();\n emitterOptions.load(options);\n const { EmitterInstance } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmitterInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmitterInstance.js */ \"../../plugins/emitters/dist/browser/EmitterInstance.js\")), emitter = new EmitterInstance(this._engine, container, (emitter)=>{\n this.removeEmitter(container, emitter);\n }, emitterOptions, position);\n await emitter.init();\n this.getArray(container).push(emitter);\n return emitter;\n }\n clear(container) {\n this.initContainer(container);\n this._containerArrays.set(container, []);\n }\n getArray(container) {\n this.initContainer(container);\n let array = this._containerArrays.get(container);\n if (!array) {\n array = [];\n this._containerArrays.set(container, array);\n }\n return array;\n }\n initContainer(container) {\n if (this._containerArrays.has(container)) {\n return;\n }\n this._containerArrays.set(container, []);\n container.getEmitter = (idxOrName)=>{\n const array = this.getArray(container);\n return idxOrName === undefined || (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(idxOrName) ? array[idxOrName ?? defaultIndex] : array.find((t)=>t.name === idxOrName);\n };\n container.addEmitter = async (options, position)=>this.addEmitter(container, options, position);\n container.removeEmitter = (idxOrName)=>{\n const emitter = container.getEmitter?.(idxOrName);\n if (emitter) {\n this.removeEmitter(container, emitter);\n }\n };\n container.playEmitter = (idxOrName)=>{\n const emitter = container.getEmitter?.(idxOrName);\n if (emitter) {\n emitter.externalPlay();\n }\n };\n container.pauseEmitter = (idxOrName)=>{\n const emitter = container.getEmitter?.(idxOrName);\n if (emitter) {\n emitter.externalPause();\n }\n };\n }\n removeEmitter(container, emitter) {\n const index = this.getArray(container).indexOf(emitter), minIndex = 0, deleteCount = 1;\n if (index >= minIndex) {\n this.getArray(container).splice(index, deleteCount);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/EmittersInstancesManager.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmittersInstancesManager: () => (/* binding */ EmittersInstancesManager)\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\n\nconst defaultIndex = 0;\nclass EmittersInstancesManager {\n _containerArrays;\n _pluginManager;\n constructor(pluginManager){\n this._containerArrays = new Map();\n this._pluginManager = pluginManager;\n }\n async addEmitter(container, options, position) {\n const emitterOptions = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter();\n emitterOptions.load(options);\n const { EmitterInstance } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmitterInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmitterInstance.js */ \"../../plugins/emitters/dist/browser/EmitterInstance.js\")), emitter = new EmitterInstance(this._pluginManager, container, (emitter)=>{\n this.removeEmitter(container, emitter);\n }, emitterOptions, position);\n await emitter.init();\n this.getArray(container).push(emitter);\n return emitter;\n }\n clear(container) {\n this.initContainer(container);\n this._containerArrays.set(container, []);\n }\n getArray(container) {\n this.initContainer(container);\n let array = this._containerArrays.get(container);\n if (!array) {\n array = [];\n this._containerArrays.set(container, array);\n }\n return array;\n }\n initContainer(container) {\n if (this._containerArrays.has(container)) {\n return;\n }\n this._containerArrays.set(container, []);\n container.getEmitter = (idxOrName)=>{\n const array = this.getArray(container);\n return idxOrName === undefined || (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(idxOrName) ? array[idxOrName ?? defaultIndex] : array.find((t)=>t.name === idxOrName);\n };\n container.addEmitter = async (options, position)=>this.addEmitter(container, options, position);\n container.removeEmitter = (idxOrName)=>{\n const emitter = container.getEmitter?.(idxOrName);\n if (emitter) {\n this.removeEmitter(container, emitter);\n }\n };\n container.playEmitter = (idxOrName)=>{\n const emitter = container.getEmitter?.(idxOrName);\n if (emitter) {\n emitter.externalPlay();\n }\n };\n container.pauseEmitter = (idxOrName)=>{\n const emitter = container.getEmitter?.(idxOrName);\n if (emitter) {\n emitter.externalPause();\n }\n };\n }\n removeEmitter(container, emitter) {\n const index = this.getArray(container).indexOf(emitter), minIndex = 0, deleteCount = 1;\n if (index >= minIndex) {\n this.getArray(container).splice(index, deleteCount);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/EmittersInstancesManager.js?\n}");
27
27
 
28
28
  /***/ },
29
29